Sending a Mobile Terminated (MT) Message
The URL where you should send MT requests is:
- https://smsc-api.genesyscloud.com/httpapi/receiver
The table below lists the expected query parameters:
Name | Type | Mandatory? | Description |
---|---|---|---|
login | String | Yes | Supplied by Genesys |
password | String | Yes | Supplied by Genesys |
phone_number | String | Yes | The destination address for this message. Must be numeric and in international format.
For example, a US phone number should be formatted as 12025550100, and a UK phone number should be formatted as 447700900000. |
sender | String | Yes | Source address for this message. Must be enabled on your account. |
carrier | String | No | If a Carrier ID is supplied, Genesys will trust it. See the Reach list for Carrier ID definitions. If a Carrier ID is not supplied Genesys will make its routing determination based upon the Country Code included in the phone_number parameter (see example above). |
message | String | Yes | The message body. |
message_id | String | Yes | A unique identifier for this message. Can be made optional if you cannot provide a unique message_id per request. Please contact your account manager. |
receipt | String | No | The valid option values are TRUE, FALSE. FALSE (default)—No receipt is needed. |
app_id | String | No | An optional parameter that you can provide, which will be returned in a field of the same name with Delivery Receipts |
conversation_id | String | No | An optional parameter that you can provide, which will be returned in a field of the same name with Delivery Receipts |
priority | String | No | The priority of the message. Valid values are: BULK_LOW, BULK, INTERACTIVE_LOW, and INTERACTIVE. If this parameter is not specified, the default for the account (BULK) is used. Use of an invalid priority results in an error. |
mms_attachment[n].content_type | String | No | If this is an MMS message, the MIME type of the nth attachment. MMS attachments must be numbered consecutively starting with 0 (see the Important note below). |
mms_attachment[n].content | String | No | If this is an MMS message, the Base64-encoded binary content of the nth attachment (see the Important note below). |
HTTP API Response
After Genesys validates the MT request, an HTTP 200 response is sent to the client. The body of this response is in the form of a parameter result_code. This code indicates the acceptance state of MT request and has the following values:
Code | Description | Explanation |
---|---|---|
0 | Queued | Message has been accepted for processing. |
1 | Request Invalid | Required parameters are missing. |
2 | Authentication Failed | The user credentials are not correct or do not exist. |
3 | Carrier ID Invalid | The carrier ID is not an integer or there is no mapping for this carrier ID. |
4 | Source address not allowed | The shortcode is not provisioned for that account |
5 | Source address denied | The provided shortcode is not registered for this client. |
6 | Throttled | The request rate is higher than the amount provisioned for the account. Lower the request rate. |
7 | Duplicate Message | This message has the same message_id as a previously accepted request |
8 | Message body too long | The length of the message to be sent is greater than allowed for this client. |
98 | Internal server error | There is an internal problem. |
99 | Any other error | Any errors not specified by one of the other result codes. |
MT Retries
Depending on the result code, the client can retry the request. However, note the following recommendations:
- Do not retry the message immediately, but wait a short period of time, such as 30 seconds.
- Do not retry the message indefinitely. Stop retrying after a reasonable number of attempts, such as 10.
- If, when submitting an MT, the connection drops before the response is read (and therefore it is unknown whether the message succeeded or not), retry the message without changing the ID. If the Genesys server successfully processed the message on the previous attempt, it will respond with result code 7 (duplicate message ID). Otherwise, it will process the message normally.