package com.dmc.callcrm.network import okhttp3.MultipartBody import okhttp3.RequestBody import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.Multipart import retrofit2.http.POST import retrofit2.http.Part import retrofit2.http.Query interface ApiService { @POST("register.php") suspend fun register(@Body body: RegisterRequest): Response @POST("sync_calls.php") suspend fun syncCalls( @Header("Authorization") bearer: String, // "Bearer " @Body body: SyncRequest ): Response @Multipart @POST("upload_recording.php") suspend fun uploadRecording( @Header("Authorization") bearer: String, @Part file: MultipartBody.Part, @Part("api_token") apiToken: RequestBody, // fallback if server strips the header @Part("client_number") clientNumber: RequestBody, @Part("call_date") callDate: RequestBody, @Part("duration") duration: RequestBody, @Part("call_type") callType: RequestBody, @Part("contact_name") contactName: RequestBody, @Part("device_call_id") deviceCallId: RequestBody ): Response @GET("note_templates.php") suspend fun noteTemplates(@Header("Authorization") bearer: String): Response @GET("message_templates.php") suspend fun messageTemplates(@Header("Authorization") bearer: String): Response @POST("call_note.php") suspend fun saveCallNote( @Header("Authorization") bearer: String, @Body body: CallNoteRequest ): Response @GET("excluded_numbers.php") suspend fun excludedNumbers(@Header("Authorization") bearer: String): Response @GET("find_recording.php") suspend fun findRecording( @Header("Authorization") bearer: String, @Query("number") number: String, @Query("date") date: Long, @Query("duration") duration: Int ): Response }