
com.infobip.api.ClickToCallApi Maven / Gradle / Ivy
/*
* This class is auto generated from the Infobip OpenAPI specification
* through the OpenAPI Specification Client API libraries (Re)Generator (OSCAR),
* powered by the OpenAPI Generator (https://openapi-generator.tech).
*
* Do not edit manually. To learn how to raise an issue, see the CONTRIBUTING guide
* or contact us @ [email protected].
*/
package com.infobip.api;
import com.fasterxml.jackson.core.type.TypeReference;
import com.infobip.ApiCallback;
import com.infobip.ApiClient;
import com.infobip.ApiException;
import com.infobip.RequestDefinition;
import com.infobip.model.CallsClickToCallMessageBody;
import com.infobip.model.CallsVoiceResponse;
import java.util.Objects;
/**
* Represents ClickToCallApi API client.
*/
public class ClickToCallApi {
private final ApiClient apiClient;
/**
* Constructs a new instance of ClickToCallApi.
*
* @param apiClient {@link ApiClient} instance to delegate calls to.
*/
public ClickToCallApi(ApiClient apiClient) {
this.apiClient = Objects.requireNonNull(apiClient, "ApiClient must not be null!");
}
private RequestDefinition sendClickToCallMessageDefinition(
CallsClickToCallMessageBody callsClickToCallMessageBody) {
RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/voice/ctc/1/send")
.body(callsClickToCallMessageBody)
.requiresAuthentication(true)
.accept("application/json")
.contentType("application/json");
return builder.build();
}
/**
* sendClickToCallMessage request builder class.
*/
public class SendClickToCallMessageRequest {
private final CallsClickToCallMessageBody callsClickToCallMessageBody;
private SendClickToCallMessageRequest(CallsClickToCallMessageBody callsClickToCallMessageBody) {
this.callsClickToCallMessageBody = Objects.requireNonNull(
callsClickToCallMessageBody, "The required parameter 'callsClickToCallMessageBody' is missing.");
}
/**
* Executes the sendClickToCallMessage request.
*
* @return CallsVoiceResponse The deserialized response.
* @throws ApiException If the API call fails or an error occurs during the request or response processing.
*/
public CallsVoiceResponse execute() throws ApiException {
RequestDefinition sendClickToCallMessageDefinition =
sendClickToCallMessageDefinition(callsClickToCallMessageBody);
return apiClient.execute(
sendClickToCallMessageDefinition, new TypeReference() {}.getType());
}
/**
* Executes the sendClickToCallMessage request asynchronously.
*
* @param callback The {@link ApiCallback} to be invoked.
* @return The {@link okhttp3.Call} associated with the API request.
*/
public okhttp3.Call executeAsync(ApiCallback callback) {
RequestDefinition sendClickToCallMessageDefinition =
sendClickToCallMessageDefinition(callsClickToCallMessageBody);
return apiClient.executeAsync(
sendClickToCallMessageDefinition, new TypeReference() {}.getType(), callback);
}
}
/**
* Send click-to-call message.
*
* This method allows you to send click-to-call voice messages.
*
* @param callsClickToCallMessageBody (required)
* @return SendClickToCallMessageRequest
* @see Learn more about click-to-call
*/
public SendClickToCallMessageRequest sendClickToCallMessage(
CallsClickToCallMessageBody callsClickToCallMessageBody) {
return new SendClickToCallMessageRequest(callsClickToCallMessageBody);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy