public class SmsCampaignsApi extends Object
| Constructor and Description |
|---|
SmsCampaignsApi() |
SmsCampaignsApi(ApiClient apiClient) |
| Modifier and Type | Method and Description |
|---|---|
CreateModel |
createSmsCampaign(CreateSmsCampaign createSmsCampaign)
Creates an SMS campaign
|
com.squareup.okhttp.Call |
createSmsCampaignAsync(CreateSmsCampaign createSmsCampaign,
ApiCallback<CreateModel> callback)
Creates an SMS campaign (asynchronously)
|
com.squareup.okhttp.Call |
createSmsCampaignCall(CreateSmsCampaign createSmsCampaign,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for createSmsCampaign
|
ApiResponse<CreateModel> |
createSmsCampaignWithHttpInfo(CreateSmsCampaign createSmsCampaign)
Creates an SMS campaign
|
void |
deleteSmsCampaign(Long campaignId)
Delete an SMS campaign
|
com.squareup.okhttp.Call |
deleteSmsCampaignAsync(Long campaignId,
ApiCallback<Void> callback)
Delete an SMS campaign (asynchronously)
|
com.squareup.okhttp.Call |
deleteSmsCampaignCall(Long campaignId,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for deleteSmsCampaign
|
ApiResponse<Void> |
deleteSmsCampaignWithHttpInfo(Long campaignId)
Delete an SMS campaign
|
ApiClient |
getApiClient() |
GetSmsCampaign |
getSmsCampaign(Long campaignId)
Get an SMS campaign
|
com.squareup.okhttp.Call |
getSmsCampaignAsync(Long campaignId,
ApiCallback<GetSmsCampaign> callback)
Get an SMS campaign (asynchronously)
|
com.squareup.okhttp.Call |
getSmsCampaignCall(Long campaignId,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for getSmsCampaign
|
GetSmsCampaigns |
getSmsCampaigns(String status,
String startDate,
String endDate,
Long limit,
Long offset,
String sort)
Returns the information for all your created SMS campaigns
|
com.squareup.okhttp.Call |
getSmsCampaignsAsync(String status,
String startDate,
String endDate,
Long limit,
Long offset,
String sort,
ApiCallback<GetSmsCampaigns> callback)
Returns the information for all your created SMS campaigns (asynchronously)
|
com.squareup.okhttp.Call |
getSmsCampaignsCall(String status,
String startDate,
String endDate,
Long limit,
Long offset,
String sort,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for getSmsCampaigns
|
ApiResponse<GetSmsCampaigns> |
getSmsCampaignsWithHttpInfo(String status,
String startDate,
String endDate,
Long limit,
Long offset,
String sort)
Returns the information for all your created SMS campaigns
|
ApiResponse<GetSmsCampaign> |
getSmsCampaignWithHttpInfo(Long campaignId)
Get an SMS campaign
|
CreatedProcessId |
requestSmsRecipientExport(Long campaignId,
RequestSmsRecipientExport recipientExport)
Export an SMS campaign's recipients
It returns the background process ID which on completion calls the notify URL that you have set in the input.
|
com.squareup.okhttp.Call |
requestSmsRecipientExportAsync(Long campaignId,
RequestSmsRecipientExport recipientExport,
ApiCallback<CreatedProcessId> callback)
Export an SMS campaign's recipients (asynchronously)
It returns the background process ID which on completion calls the notify URL that you have set in the input.
|
com.squareup.okhttp.Call |
requestSmsRecipientExportCall(Long campaignId,
RequestSmsRecipientExport recipientExport,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for requestSmsRecipientExport
|
ApiResponse<CreatedProcessId> |
requestSmsRecipientExportWithHttpInfo(Long campaignId,
RequestSmsRecipientExport recipientExport)
Export an SMS campaign's recipients
It returns the background process ID which on completion calls the notify URL that you have set in the input.
|
void |
sendSmsCampaignNow(Long campaignId)
Send your SMS campaign immediately
|
com.squareup.okhttp.Call |
sendSmsCampaignNowAsync(Long campaignId,
ApiCallback<Void> callback)
Send your SMS campaign immediately (asynchronously)
|
com.squareup.okhttp.Call |
sendSmsCampaignNowCall(Long campaignId,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for sendSmsCampaignNow
|
ApiResponse<Void> |
sendSmsCampaignNowWithHttpInfo(Long campaignId)
Send your SMS campaign immediately
|
void |
sendSmsReport(Long campaignId,
SendReport sendReport)
Send an SMS campaign's report
Send report of Sent and Archived campaign, to the specified email addresses, with respective data and a pdf attachment in detail.
|
com.squareup.okhttp.Call |
sendSmsReportAsync(Long campaignId,
SendReport sendReport,
ApiCallback<Void> callback)
Send an SMS campaign's report (asynchronously)
Send report of Sent and Archived campaign, to the specified email addresses, with respective data and a pdf attachment in detail.
|
com.squareup.okhttp.Call |
sendSmsReportCall(Long campaignId,
SendReport sendReport,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for sendSmsReport
|
ApiResponse<Void> |
sendSmsReportWithHttpInfo(Long campaignId,
SendReport sendReport)
Send an SMS campaign's report
Send report of Sent and Archived campaign, to the specified email addresses, with respective data and a pdf attachment in detail.
|
void |
sendTestSms(Long campaignId,
SendTestSms phoneNumber)
Send a test SMS campaign
|
com.squareup.okhttp.Call |
sendTestSmsAsync(Long campaignId,
SendTestSms phoneNumber,
ApiCallback<Void> callback)
Send a test SMS campaign (asynchronously)
|
com.squareup.okhttp.Call |
sendTestSmsCall(Long campaignId,
SendTestSms phoneNumber,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for sendTestSms
|
ApiResponse<Void> |
sendTestSmsWithHttpInfo(Long campaignId,
SendTestSms phoneNumber)
Send a test SMS campaign
|
void |
setApiClient(ApiClient apiClient) |
void |
updateSmsCampaign(Long campaignId,
UpdateSmsCampaign updateSmsCampaign)
Update an SMS campaign
|
com.squareup.okhttp.Call |
updateSmsCampaignAsync(Long campaignId,
UpdateSmsCampaign updateSmsCampaign,
ApiCallback<Void> callback)
Update an SMS campaign (asynchronously)
|
com.squareup.okhttp.Call |
updateSmsCampaignCall(Long campaignId,
UpdateSmsCampaign updateSmsCampaign,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for updateSmsCampaign
|
void |
updateSmsCampaignStatus(Long campaignId,
UpdateCampaignStatus status)
Update a campaign's status
|
com.squareup.okhttp.Call |
updateSmsCampaignStatusAsync(Long campaignId,
UpdateCampaignStatus status,
ApiCallback<Void> callback)
Update a campaign's status (asynchronously)
|
com.squareup.okhttp.Call |
updateSmsCampaignStatusCall(Long campaignId,
UpdateCampaignStatus status,
ProgressResponseBody.ProgressListener progressListener,
ProgressRequestBody.ProgressRequestListener progressRequestListener)
Build call for updateSmsCampaignStatus
|
ApiResponse<Void> |
updateSmsCampaignStatusWithHttpInfo(Long campaignId,
UpdateCampaignStatus status)
Update a campaign's status
|
ApiResponse<Void> |
updateSmsCampaignWithHttpInfo(Long campaignId,
UpdateSmsCampaign updateSmsCampaign)
Update an SMS campaign
|
public SmsCampaignsApi()
public SmsCampaignsApi(ApiClient apiClient)
public ApiClient getApiClient()
public void setApiClient(ApiClient apiClient)
public com.squareup.okhttp.Call createSmsCampaignCall(CreateSmsCampaign createSmsCampaign, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
createSmsCampaign - Values to create an SMS Campaign (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic CreateModel createSmsCampaign(CreateSmsCampaign createSmsCampaign) throws ApiException
createSmsCampaign - Values to create an SMS Campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<CreateModel> createSmsCampaignWithHttpInfo(CreateSmsCampaign createSmsCampaign) throws ApiException
createSmsCampaign - Values to create an SMS Campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call createSmsCampaignAsync(CreateSmsCampaign createSmsCampaign, ApiCallback<CreateModel> callback) throws ApiException
createSmsCampaign - Values to create an SMS Campaign (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call deleteSmsCampaignCall(Long campaignId, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the SMS campaign (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void deleteSmsCampaign(Long campaignId) throws ApiException
campaignId - id of the SMS campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> deleteSmsCampaignWithHttpInfo(Long campaignId) throws ApiException
campaignId - id of the SMS campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call deleteSmsCampaignAsync(Long campaignId, ApiCallback<Void> callback) throws ApiException
campaignId - id of the SMS campaign (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call getSmsCampaignCall(Long campaignId, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the SMS campaign (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic GetSmsCampaign getSmsCampaign(Long campaignId) throws ApiException
campaignId - id of the SMS campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<GetSmsCampaign> getSmsCampaignWithHttpInfo(Long campaignId) throws ApiException
campaignId - id of the SMS campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call getSmsCampaignAsync(Long campaignId, ApiCallback<GetSmsCampaign> callback) throws ApiException
campaignId - id of the SMS campaign (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call getSmsCampaignsCall(String status, String startDate, String endDate, Long limit, Long offset, String sort, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
status - Status of campaign. (optional)startDate - Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)endDate - Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)limit - Number limitation for the result returned (optional, default to 500)offset - Beginning point in the list to retrieve from. (optional, default to 0)sort - Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic GetSmsCampaigns getSmsCampaigns(String status, String startDate, String endDate, Long limit, Long offset, String sort) throws ApiException
status - Status of campaign. (optional)startDate - Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)endDate - Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)limit - Number limitation for the result returned (optional, default to 500)offset - Beginning point in the list to retrieve from. (optional, default to 0)sort - Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<GetSmsCampaigns> getSmsCampaignsWithHttpInfo(String status, String startDate, String endDate, Long limit, Long offset, String sort) throws ApiException
status - Status of campaign. (optional)startDate - Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)endDate - Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)limit - Number limitation for the result returned (optional, default to 500)offset - Beginning point in the list to retrieve from. (optional, default to 0)sort - Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call getSmsCampaignsAsync(String status, String startDate, String endDate, Long limit, Long offset, String sort, ApiCallback<GetSmsCampaigns> callback) throws ApiException
status - Status of campaign. (optional)startDate - Mandatory if endDate is used. Starting (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)endDate - Mandatory if startDate is used. Ending (urlencoded) UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ) to filter the sent sms campaigns. Prefer to pass your timezone in date-time format for accurate result ( only available if either 'status' not passed and if passed is set to 'sent' ) (optional)limit - Number limitation for the result returned (optional, default to 500)offset - Beginning point in the list to retrieve from. (optional, default to 0)sort - Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call requestSmsRecipientExportCall(Long campaignId, RequestSmsRecipientExport recipientExport, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the campaign (required)recipientExport - Values to send for a recipient export request (optional)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic CreatedProcessId requestSmsRecipientExport(Long campaignId, RequestSmsRecipientExport recipientExport) throws ApiException
campaignId - id of the campaign (required)recipientExport - Values to send for a recipient export request (optional)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<CreatedProcessId> requestSmsRecipientExportWithHttpInfo(Long campaignId, RequestSmsRecipientExport recipientExport) throws ApiException
campaignId - id of the campaign (required)recipientExport - Values to send for a recipient export request (optional)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call requestSmsRecipientExportAsync(Long campaignId, RequestSmsRecipientExport recipientExport, ApiCallback<CreatedProcessId> callback) throws ApiException
campaignId - id of the campaign (required)recipientExport - Values to send for a recipient export request (optional)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call sendSmsCampaignNowCall(Long campaignId, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the campaign (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void sendSmsCampaignNow(Long campaignId) throws ApiException
campaignId - id of the campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> sendSmsCampaignNowWithHttpInfo(Long campaignId) throws ApiException
campaignId - id of the campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call sendSmsCampaignNowAsync(Long campaignId, ApiCallback<Void> callback) throws ApiException
campaignId - id of the campaign (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call sendSmsReportCall(Long campaignId, SendReport sendReport, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the campaign (required)sendReport - Values for send a report (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void sendSmsReport(Long campaignId, SendReport sendReport) throws ApiException
campaignId - id of the campaign (required)sendReport - Values for send a report (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> sendSmsReportWithHttpInfo(Long campaignId, SendReport sendReport) throws ApiException
campaignId - id of the campaign (required)sendReport - Values for send a report (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call sendSmsReportAsync(Long campaignId, SendReport sendReport, ApiCallback<Void> callback) throws ApiException
campaignId - id of the campaign (required)sendReport - Values for send a report (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call sendTestSmsCall(Long campaignId, SendTestSms phoneNumber, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - Id of the SMS campaign (required)phoneNumber - Mobile number of the recipient with the country code. This number must belong to one of your contacts in SendinBlue account and must not be blacklisted (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void sendTestSms(Long campaignId, SendTestSms phoneNumber) throws ApiException
campaignId - Id of the SMS campaign (required)phoneNumber - Mobile number of the recipient with the country code. This number must belong to one of your contacts in SendinBlue account and must not be blacklisted (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> sendTestSmsWithHttpInfo(Long campaignId, SendTestSms phoneNumber) throws ApiException
campaignId - Id of the SMS campaign (required)phoneNumber - Mobile number of the recipient with the country code. This number must belong to one of your contacts in SendinBlue account and must not be blacklisted (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call sendTestSmsAsync(Long campaignId, SendTestSms phoneNumber, ApiCallback<Void> callback) throws ApiException
campaignId - Id of the SMS campaign (required)phoneNumber - Mobile number of the recipient with the country code. This number must belong to one of your contacts in SendinBlue account and must not be blacklisted (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call updateSmsCampaignCall(Long campaignId, UpdateSmsCampaign updateSmsCampaign, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the SMS campaign (required)updateSmsCampaign - Values to update an SMS Campaign (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void updateSmsCampaign(Long campaignId, UpdateSmsCampaign updateSmsCampaign) throws ApiException
campaignId - id of the SMS campaign (required)updateSmsCampaign - Values to update an SMS Campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> updateSmsCampaignWithHttpInfo(Long campaignId, UpdateSmsCampaign updateSmsCampaign) throws ApiException
campaignId - id of the SMS campaign (required)updateSmsCampaign - Values to update an SMS Campaign (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call updateSmsCampaignAsync(Long campaignId, UpdateSmsCampaign updateSmsCampaign, ApiCallback<Void> callback) throws ApiException
campaignId - id of the SMS campaign (required)updateSmsCampaign - Values to update an SMS Campaign (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectpublic com.squareup.okhttp.Call updateSmsCampaignStatusCall(Long campaignId, UpdateCampaignStatus status, ProgressResponseBody.ProgressListener progressListener, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException
campaignId - id of the campaign (required)status - Status of the campaign. (required)progressListener - Progress listenerprogressRequestListener - Progress request listenerApiException - If fail to serialize the request body objectpublic void updateSmsCampaignStatus(Long campaignId, UpdateCampaignStatus status) throws ApiException
campaignId - id of the campaign (required)status - Status of the campaign. (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic ApiResponse<Void> updateSmsCampaignStatusWithHttpInfo(Long campaignId, UpdateCampaignStatus status) throws ApiException
campaignId - id of the campaign (required)status - Status of the campaign. (required)ApiException - If fail to call the API, e.g. server error or cannot deserialize the response bodypublic com.squareup.okhttp.Call updateSmsCampaignStatusAsync(Long campaignId, UpdateCampaignStatus status, ApiCallback<Void> callback) throws ApiException
campaignId - id of the campaign (required)status - Status of the campaign. (required)callback - The callback to be executed when the API call finishesApiException - If fail to process the API call, e.g. serializing the request body objectCopyright © 2021. All rights reserved.