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 @POST("link_start.php") suspend fun linkStart(@Header("Authorization") bearer: String): Response @GET("link_status.php") suspend fun linkStatus( @Header("Authorization") bearer: String, @Query("pairing_token") pairingToken: String ): Response @POST("sync_whatsapp_call.php") suspend fun syncWhatsappCall( @Header("Authorization") bearer: String, @Body body: WhatsappCallRequest ): Response @GET("call_requests_poll.php") suspend fun callRequestsPoll(@Header("Authorization") bearer: String): Response @GET("whatsapp_calls_list.php") suspend fun whatsappCallsList(@Header("Authorization") bearer: String): Response @Multipart @POST("upload_whatsapp_recording.php") suspend fun uploadWhatsappRecording( @Header("Authorization") bearer: String, @Part file: MultipartBody.Part, @Part("whatsapp_call_id") whatsappCallId: RequestBody ): Response }