SMS Post Services
Overview
SMS Post Services allow CSL to proactively send:
- SMS MO messages received by the SIM Insight platform, and
- SMS MT delivery receipts
…to your server using an HTTPS POST request.
Requests are sent with:
- Content-Type: text/xml (UTF-8 encoded)
- User-Agent: CSL SIM Insight/1.0.0
- Payload: XML (formats shown below)
For initial testing, HTTP POST can also be enabled.
This function is not available for Open-User-Group SIM types (e.g. MultiNET KPN-O).
Endpoint Configuration
You can provide:
- A primary resource URL
- An optional backup resource URL
- An optional passphrase
Example endpoints:
- https://primeserver.clientdomain.com/SMSHandler.aspx
- https://secondaryserver.clientdomain.uk/SMSHandler2.aspx
Delivery Behaviour
When the service is enabled:
- SMS MO messages and delivery receipts are queued by the platform
- Items are delivered first-in, first-out (FIFO)
- If the primary URL fails, delivery is attempted to the backup URL (if provided)
If delivery fails to both endpoints, the system retries on the following schedule:
- 5s, 10s, 30s, 1m, 2m, 5m, then every 15 minutes
Undelivered items are held in the queue indefinitely.
Important
It is possible for messages or receipts to be delivered more than once if the HTTP response code does not reach the platform.
Your endpoint should be idempotent and handle duplicates safely.
Payload Types
Two XML payload types may be sent:
- Post SMS (MO message received)
- Post Delivery Receipt (MT delivery status update)
Post SMS Payload (SMS MO)
<post-sms version="1" api-did="0000061028">
<passphrase>password</passphrase>
<iccid>1234567890123456789</iccid>
<msisdn>447890000000</msisdn>
<timestamp>09/10/2014 16:28:15</timestamp>
<message-text>Current status de-activated</message-text>
</post-sms>Post Delivery Receipt Payload (SMS MT Receipt)
<post-delivery-receipt version="1" api-did="0000061029">
<passphrase>password</passphrase>
<iccid>1234567890123456789</iccid>
<msisdn>447890000000</msisdn>
<sms-uid>84ry3h2160</sms-uid>
<status>Delivered</status>
<delivered-timestamp>09/10/2014 20:08:14</delivered-timestamp>
<origin>API</origin>
<sent-timestamp>09/10/2014 20:08:04</sent-timestamp>
<message-text>Reset Modem</message-text>
</post-delivery-receipt>Elements
Element | Description |
|---|---|
api-did (attribute) | Delivery ID generated by CSL. Unique reference for outbound API messages. Unsigned long integer (decimal). |
<passphrase> | Optional shared security string (up to 16 alphanumeric characters) provided to CSL before activation. |
<iccid> | ICCID of the SIM. |
<msisdn> | Current MSISDN (telephone number) of the SIM. |
<sms-uid> | Optional. Present only if sms-uid was provided when the original SMS MT was sent (see Send SMS). Used to correlate delivery receipts. |
<timestamp> | For MO posts: UTC time the SMS was received by the platform. Format: DD/MM/YYYY HH:MM:SS. |
<message-text> | SMS content. Plain text with standard XML reserved character substitutions. Character set restricted to GSM 7-bit default alphabet (3GPP TS 23.038). |
<status> | For delivery receipts: Delivered or Failed. |
<delivered-timestamp> | UTC time delivered to device. Always present but may be empty (e.g. when status is Failed or timestamp unavailable). Format: DD/MM/YYYY HH:MM:SS. |
<origin> | Where the MT SMS was initiated: Portal or API. |
<sent-timestamp> | UTC time the original MT message was sent from the platform. Format: DD/MM/YYYY HH:MM:SS. |
Encoding Note for Binary SMS
If the original SMS MT was sent using:
(MultiNET KPN-C only), then <message-text> in the delivery receipt payload will be Base64 encoded.
See Send SMS for details.