The System can accept Callback URLs (cURL) over HTTP to receive MO messages and delivery reports over HTTP. The table below contains a minimum set of parameters with which the System owner can provide its vendor so that the vendor can configure the callback URL and send delivery statuses and/or MO messages to the System owner.
A sample cURL for sending delivery reports:
A sample cURL for sending MO:
(the message field is obligatory for MO)
Sample cURL records for sending an activation (conversion) report. Note that the feature is not configured by default, to proceed with configuration, communicate BZ56375 code to the Alaris technical support team:
http://alarisIP:8003/?message_id=$message_id$&command=deliver&status=ACTIVATED&username=SmsChannelUsername&password=SmsChannelPassword
curl -X POST 'http://alarisIP:8003/api?command=deliver&username=SmsChannelUsername&password=SmsChannelPassword&status=ACTIVATED' -d '{"message_id": ["62fe00ce-0279-8c6b-9236-7f91b29d250c", "62fe00ce-0d08-82c3-2a9e-6b473ab802a2", "62fe00ce-9f1f-aca0-c3c6-a479e6088b4b", "62fe00ce-1682-bef0-2bb0-e970a3698685"], "type": "http"}' -H "Content-Type: application/json"
Parameters used for incoming delivery reports and MO SMS over HTTP
Parameter | Description | Format | Allowed values | Required |
---|---|---|---|---|
command | request type | string | mo deliver | Yes |
ani | from | string | Yes if command=mo | |
dnis | DNIS (to) | string | Yes if command=mo | |
longMessageMode | Type of long message processing
| string | cut (trim message text to 140 bytes) - shortens the message leaving only first 140 bytes to be sent. split and split_sar - split the message according to the logics described below. The difference between them is in the header to be used, for split it is UDH header, for split_sar it is sar accordingly. single_id_split - split the message but return the message ID common for all segments payload - message_payload field is used for sending the message text The splitting (options 2/3) depends on the coding: - dataCoding = 0, 1 or 3: one message can contain up to 160 bytes, if more – segment count = message length / 153 - dataCoding 2, 4 - 8: one message can contain up to 140 bytes, if more – segment count = message length / 134 bytes split_or_payload: serves for sending long messages received over HTTP to SMPP vendors. The mode is not supported if several numbers have been received in the dnis parameter within a single request from the client. When the Send text in payload option is enabled in the vendor channel, the message will be sent in the payload field as a single submit_sm packet. Also, a single delivery report is expected for it, whereas the client will be sent as many reports as the number of received parts. Besides, a single EDR will be written, therefore, the bill by segments option must be set in the client product for correct billing of the client. The default value is "сut". | No |
message | text of delivery report | string | Yes if command=mo | |
dlvrMsgId or message_id | messageId, message_id - ID of the submit request related to the delivery report | string | Yes if command=deliver | |
dlvrMsgStat | status, messageStatus – SMS delivery status | string | Allowed values must either be equal to the standard set of statuses or the vendor status translation rules | Yes if command=deliver |
dlvrMsgErr | error code | string | No | |
username | authentication credentials used for vendor channel authentication | string | Quasi optional. If both parameters are missing from the request, the switch can use the parameter callbackAuthData from its configuration file to substitute the default authentication data | |
password | ||||
srcTon | the respective parameters for Sender ID and Destination number | integer | No | |
srcNpi | ||||
dstTon | ||||
dstNpi | ||||
dataCoding | data coding scheme for sending the SMPP to the client | integer | 0, 1, 3, 6, 7, 8, 10, 14, where: 0: SMSC Default Alphabet (SMPP 3.4)/MC Specific (SMPP 5.0) 1: IA5 (CCITT T.50)/ASCII (ANSI X3.4) 3: Latin 1 (ISO-8859-1) 6: Cyrillic (ISO-8859-5) 7: Latin/Hebrew (ISO-8859-8) 8: UCS2 (ISO/IEC-10646) 10: ISO-2022-JP (Music Codes) 14: KS C 5601 | No |
NOTE: If the request contains an optional parameter and its value is not in the list of allowed values, the submit will be rejected with the appropriate status.