Class APIController
java.lang.Object
com.bandwidth.controllers.BaseController
com.bandwidth.messaging.controllers.APIController
public final class APIController extends BaseController
This class lists all the endpoints of the groups.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.bandwidth.controllers.BaseController
BaseController.RequestExecutor, BaseController.RequestSupplier, BaseController.ResponseHandler<T>
-
Field Summary
Fields inherited from class com.bandwidth.controllers.BaseController
authManagers, config, httpCallback, userAgent
-
Constructor Summary
Constructors Constructor Description APIController(Configuration config, HttpClient httpClient, java.util.Map<java.lang.String,AuthManager> authManagers)
Initializes the controller.APIController(Configuration config, HttpClient httpClient, java.util.Map<java.lang.String,AuthManager> authManagers, HttpCallback httpCallback)
Initializes the controller with HTTPCallback. -
Method Summary
Modifier and Type Method Description ApiResponse<BandwidthMessage>
createMessage(java.lang.String userId, MessageRequest body)
createMessage.java.util.concurrent.CompletableFuture<ApiResponse<BandwidthMessage>>
createMessageAsync(java.lang.String userId, MessageRequest body)
createMessage.ApiResponse<java.lang.Void>
deleteMedia(java.lang.String userId, java.lang.String mediaId)
deleteMedia.java.util.concurrent.CompletableFuture<ApiResponse<java.lang.Void>>
deleteMediaAsync(java.lang.String userId, java.lang.String mediaId)
deleteMedia.ApiResponse<java.io.InputStream>
getMedia(java.lang.String userId, java.lang.String mediaId)
getMedia.java.util.concurrent.CompletableFuture<ApiResponse<java.io.InputStream>>
getMediaAsync(java.lang.String userId, java.lang.String mediaId)
getMedia.ApiResponse<BandwidthMessagesList>
getMessages(java.lang.String userId, java.lang.String messageId, java.lang.String sourceTn, java.lang.String destinationTn, java.lang.String messageStatus, java.lang.Integer errorCode, java.lang.String fromDateTime, java.lang.String toDateTime, java.lang.String pageToken, java.lang.Integer limit)
getMessages.java.util.concurrent.CompletableFuture<ApiResponse<BandwidthMessagesList>>
getMessagesAsync(java.lang.String userId, java.lang.String messageId, java.lang.String sourceTn, java.lang.String destinationTn, java.lang.String messageStatus, java.lang.Integer errorCode, java.lang.String fromDateTime, java.lang.String toDateTime, java.lang.String pageToken, java.lang.Integer limit)
getMessages.ApiResponse<java.util.List<Media>>
listMedia(java.lang.String userId, java.lang.String continuationToken)
listMedia.java.util.concurrent.CompletableFuture<ApiResponse<java.util.List<Media>>>
listMediaAsync(java.lang.String userId, java.lang.String continuationToken)
listMedia.ApiResponse<java.lang.Void>
uploadMedia(java.lang.String userId, java.lang.String mediaId, long contentLength, FileWrapper body, java.lang.String contentType, java.lang.String cacheControl)
uploadMedia.java.util.concurrent.CompletableFuture<ApiResponse<java.lang.Void>>
uploadMediaAsync(java.lang.String userId, java.lang.String mediaId, long contentLength, FileWrapper body, java.lang.String contentType, java.lang.String cacheControl)
uploadMedia.Methods inherited from class com.bandwidth.controllers.BaseController
getClientInstance, getHttpCallback, makeHttpCallAsync, validateResponse
-
Constructor Details
-
APIController
public APIController(Configuration config, HttpClient httpClient, java.util.Map<java.lang.String,AuthManager> authManagers)Initializes the controller.- Parameters:
config
- Configurations added in client.httpClient
- Send HTTP requests and read the responses.authManagers
- Apply authorization to requests.
-
APIController
public APIController(Configuration config, HttpClient httpClient, java.util.Map<java.lang.String,AuthManager> authManagers, HttpCallback httpCallback)Initializes the controller with HTTPCallback.- Parameters:
config
- Configurations added in client.httpClient
- Send HTTP requests and read the responses.authManagers
- Apply authorization to requests.httpCallback
- Callback to be called before and after the HTTP call.
-
-
Method Details
-
listMedia
public ApiResponse<java.util.List<Media>> listMedia(java.lang.String userId, java.lang.String continuationToken) throws ApiException, java.io.IOExceptionlistMedia.- Parameters:
userId
- Required parameter: User's account IDcontinuationToken
- Optional parameter: Continuation token used to retrieve subsequent media.- Returns:
- Returns the List of Media wrapped in ApiResponse response from the API call
- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
listMediaAsync
public java.util.concurrent.CompletableFuture<ApiResponse<java.util.List<Media>>> listMediaAsync(java.lang.String userId, java.lang.String continuationToken)listMedia.- Parameters:
userId
- Required parameter: User's account IDcontinuationToken
- Optional parameter: Continuation token used to retrieve subsequent media.- Returns:
- Returns the List of Media wrapped in ApiResponse response from the API call
-
getMedia
public ApiResponse<java.io.InputStream> getMedia(java.lang.String userId, java.lang.String mediaId) throws ApiException, java.io.IOExceptiongetMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: Media ID to retrieve- Returns:
- Returns the InputStream wrapped in ApiResponse response from the API call
- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
getMediaAsync
public java.util.concurrent.CompletableFuture<ApiResponse<java.io.InputStream>> getMediaAsync(java.lang.String userId, java.lang.String mediaId)getMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: Media ID to retrieve- Returns:
- Returns the InputStream wrapped in ApiResponse response from the API call
-
uploadMedia
public ApiResponse<java.lang.Void> uploadMedia(java.lang.String userId, java.lang.String mediaId, long contentLength, FileWrapper body, java.lang.String contentType, java.lang.String cacheControl) throws ApiException, java.io.IOExceptionuploadMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: The user supplied custom media IDcontentLength
- Required parameter: The size of the entity-bodybody
- Required parameter: Example:contentType
- Optional parameter: The media type of the entity-bodycacheControl
- Optional parameter: General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain.- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
uploadMediaAsync
public java.util.concurrent.CompletableFuture<ApiResponse<java.lang.Void>> uploadMediaAsync(java.lang.String userId, java.lang.String mediaId, long contentLength, FileWrapper body, java.lang.String contentType, java.lang.String cacheControl)uploadMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: The user supplied custom media IDcontentLength
- Required parameter: The size of the entity-bodybody
- Required parameter: Example:contentType
- Optional parameter: The media type of the entity-bodycacheControl
- Optional parameter: General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain.- Returns:
- Returns the Void wrapped in ApiResponse response from the API call
-
deleteMedia
public ApiResponse<java.lang.Void> deleteMedia(java.lang.String userId, java.lang.String mediaId) throws ApiException, java.io.IOExceptiondeleteMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: The media ID to delete- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
deleteMediaAsync
public java.util.concurrent.CompletableFuture<ApiResponse<java.lang.Void>> deleteMediaAsync(java.lang.String userId, java.lang.String mediaId)deleteMedia.- Parameters:
userId
- Required parameter: User's account IDmediaId
- Required parameter: The media ID to delete- Returns:
- Returns the Void wrapped in ApiResponse response from the API call
-
getMessages
public ApiResponse<BandwidthMessagesList> getMessages(java.lang.String userId, java.lang.String messageId, java.lang.String sourceTn, java.lang.String destinationTn, java.lang.String messageStatus, java.lang.Integer errorCode, java.lang.String fromDateTime, java.lang.String toDateTime, java.lang.String pageToken, java.lang.Integer limit) throws ApiException, java.io.IOExceptiongetMessages.- Parameters:
userId
- Required parameter: User's account IDmessageId
- Optional parameter: The ID of the message to search for. Special characters need to be encoded using URL encodingsourceTn
- Optional parameter: The phone number that sent the messagedestinationTn
- Optional parameter: The phone number that received the messagemessageStatus
- Optional parameter: The status of the message. One of RECEIVED, QUEUED, SENDING, SENT, FAILED, DELIVERED, DLR_EXPIREDerrorCode
- Optional parameter: The error code of the messagefromDateTime
- Optional parameter: The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.toDateTime
- Optional parameter: The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.pageToken
- Optional parameter: A base64 encoded value used for pagination of resultslimit
- Optional parameter: The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000- Returns:
- Returns the BandwidthMessagesList wrapped in ApiResponse response from the API call
- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
getMessagesAsync
public java.util.concurrent.CompletableFuture<ApiResponse<BandwidthMessagesList>> getMessagesAsync(java.lang.String userId, java.lang.String messageId, java.lang.String sourceTn, java.lang.String destinationTn, java.lang.String messageStatus, java.lang.Integer errorCode, java.lang.String fromDateTime, java.lang.String toDateTime, java.lang.String pageToken, java.lang.Integer limit)getMessages.- Parameters:
userId
- Required parameter: User's account IDmessageId
- Optional parameter: The ID of the message to search for. Special characters need to be encoded using URL encodingsourceTn
- Optional parameter: The phone number that sent the messagedestinationTn
- Optional parameter: The phone number that received the messagemessageStatus
- Optional parameter: The status of the message. One of RECEIVED, QUEUED, SENDING, SENT, FAILED, DELIVERED, DLR_EXPIREDerrorCode
- Optional parameter: The error code of the messagefromDateTime
- Optional parameter: The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.toDateTime
- Optional parameter: The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days.pageToken
- Optional parameter: A base64 encoded value used for pagination of resultslimit
- Optional parameter: The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000- Returns:
- Returns the BandwidthMessagesList wrapped in ApiResponse response from the API call
-
createMessage
public ApiResponse<BandwidthMessage> createMessage(java.lang.String userId, MessageRequest body) throws ApiException, java.io.IOExceptioncreateMessage.- Parameters:
userId
- Required parameter: User's account IDbody
- Required parameter: Example:- Returns:
- Returns the BandwidthMessage wrapped in ApiResponse response from the API call
- Throws:
ApiException
- Represents error response from the server.java.io.IOException
- Signals that an I/O exception of some sort has occurred.
-
createMessageAsync
public java.util.concurrent.CompletableFuture<ApiResponse<BandwidthMessage>> createMessageAsync(java.lang.String userId, MessageRequest body)createMessage.- Parameters:
userId
- Required parameter: User's account IDbody
- Required parameter: Example:- Returns:
- Returns the BandwidthMessage wrapped in ApiResponse response from the API call
-