SMS Delivery Reports
Delivery Reports
When an MT message is delivered to a handset, or fails for any reason, you will receive a callback with a delivery report. This is required for charged messages, optional (but recommended) for free messages. If the message is multi-part message, then it will get a delivery report for each part. It can be sent in JSON, XML, or HTTP GET/POST key/value pairs. If you want to change your format or your URL, please contact Support.
Common requires that your receiver responds with a HTTP status of 200 OK to acknowledge receipt of the delivery report. For added reliance, Common can also require that your receiver responds with a certain string in the body as well; this is optional. If you want this, please contact Support and they will enable it on your Gate.
Delivery reports will be POSTed to your service from the following IPs, please make sure there is an opening in your firewall for the Hosts listed further below in this document.
Delivery reports contain the following fields:
Field | Data type | Description |
refId | String | If you used a refId when submitting the message, this will be mirrored here. If not, this will be null. |
id | String | This is Common’s internal message ID for this message. It mirrors the ID which was given to you when submitting the message. If the message is a multipart message, the id will have the following pattern {id}${n}* where n is the ordinal number that identifies the part.
*Example: abc123$0 is the first part of the message with id abc123 |
operator | String | The telecom operator the message was sent to (The end-users’s operator) |
sentTimestamp | DateTime | The timestamp when Common sent the message to the telecom operator. UTC time formatted according to RFC3339. |
timestamp | DateTime | The timestamp from the telecom operator for this status message. UTC time formatted according to RFC3339. |
resultCode | Integer | The status of the message. For what the different codes mean, see Status codes table below. |
operatorResultCode | String | The unmapped status of the message from the operator. Each telecom operator has different statuses and this is only provided for debugging or reference, resultCode is the real status. |
segments | Integer | The number of segments (of 140 bytes) the message was split into for delivery. |
gateCustomParameters | <List>KeyValue | If there are any custom parameters set on your gate, they will be provided here. Usually blank. |
customParameters | <List>KeyValue | If there are any extra fields in the delivery report Common receives from the operator, they will be listed here. Usually blank or non-important. Note: the parameters source and destination (as defined in the request) added by default to the customParameters. |
Result Codes
Follow this link for a listing of common result codes,https://sergel.atlassian.net/wiki/spaces/~7012173a4d6732ef54b5ea88da4ffab44a251/pages/1926660101.
Delivery Report Example
The following example is an example of a successfully delivered message. refId and id have been set to invalid values in this example.
{
"refId": "0",
"id": "0",
"operator": "no.telenor",
"sentTimestamp": "2015-11-19T09:37:35Z",
"timestamp": "2015-11-19T09:37:00Z",
"resultCode": 1001,
"operatorResultCode": "2",
"segments": 1,
"gateCustomParameters": {},
"customParameters": {
"received": "2015-11-19 10:37:36"
}
}
The following example is an example of a message which was attempted sent to a phone number which does not exist. refId and id have again been set to invalid values in this example.
{
"refId": "0",
"id": "0",
"operator": null,
"sentTimestamp": "2015-11-19T10:17:37Z",
"timestamp": "2015-11-19T10:17:37Z",
"resultCode": 2106,
"operatorResultCode": null,
"segments": 1,
"gateCustomParameters": {},
"customParameters": {
"received": "2015-11-19 11:17:37"
}
}
List of hosts
The following hosts are currently used for outgoing messaging from the SMS Platform.
Hostname(s) | IP address(es) |
195.84.162.34 | |
194.71.165.71 | |
195.84.162.16 | |
194.71.165.98 | |
195.84.162.3 | |
194.71.165.122 | |
213.242.87.36 | |
213.242.87.37 | |
213.242.87.38 | |
213.242.87.39 | |
213.242.87.40 | |
213.242.87.41 | |
62.67.62.101 | |
62.67.62.102 | |
62.67.62.103 | |
62.67.62.104 | |
62.67.62.105 | |
62.67.62.106 | |
217.163.95.196 | |
217.163.95.197 | |
217.163.95.198 | |
217.163.95.199 | |
217.163.95.200 | |
217.163.95.201 | |
213.242.87.68 | |
213.242.87.69 | |
213.242.87.70 | |
213.242.87.71 | |
213.242.87.72 | |
213.242.87.73 |