(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.data-privacy-src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TT9ZP96');

Knowledge Base

View Categories

Delivery Status Postbacks

7 min read

SMS MT / MMS MT Delivery Report Postbacks

The MMS MT / SMS MT Postback API notifies you of the delivery status of each message you send. For MMS, we have two methods for delivering content; Binary and xHTML. We send different postback notification formats depending on which method is used.

SMS MT/MMS MT Postback Types:

SMS Delivery Status
MMS Delivery Status
SaveMMS Encoding Status

SMS MT Delivery Status

Postback notification when an SMS is sent to the mobile network operator.

SMS Success/Failure Status Codes

CodeStatus
N201Message Sent
N202Message Sent/Delivered
E201Message Failed
E202Message Sent/Failed, Message Sent/Expired or Message Sent/NotSupported

Postback Nodes

VariableDescription
ORIGINSMS_MT means an SMS terminated on a mobile.
CODECode N201 means the SMS was submitted to the carrier successfully. E201 is submission failed.
STATUSWhether the message was forwarded successfully – “Message Sent” or “Message Failed”. Whether the message was delivered successfully – “Message Sent/Delivered” or “Message Sent/Failed”.
FROMThe shortcode the message is sent from.
TOThe recipient of the message.
TRACKINGIDThe ID to correleate API requests, and delivery receipts.
SPIDCarrier Identification.
TIMESTAMPThe timestamp the message sent (N201) or when MMS was delivered (N202).
AGGREGATORIDSMS aggregator or carrier transaction ID.

N201 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>SMS_MT</ORIGIN>
    <CODE>N201</CODE>
    <STATUS>Message Sent</STATUS>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <SPID>0001470</SPID>
    <TIMESTAMP>2013-11-05T05:41:08-05:00</TIMESTAMP>
</POSTBACK>

N202 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>SMS_MT</ORIGIN>
    <CODE>N202</CODE>
    <STATUS>Message Sent/Delivered</STATUS>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <SPID>0001470</SPID>
    <TIMESTAMP>2013-11-05T05:41:15-05:00</TIMESTAMP>
    <AGGREGATORID>11529-64807-97508-73852-97658</AGGREGATORID>
</POSTBACK>

E201 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>SMS_MT</ORIGIN>
    <CODE>E201</CODE>
    <STATUS>Message Failed</STATUS>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <SPID>0001470</SPID>
    <TIMESTAMP>2013-11-05T05:41:08-05:00</TIMESTAMP>
</POSTBACK>

E202 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>SMS_MT</ORIGIN>
    <CODE>E202</CODE>
    <STATUS>Message Sent/Failed</STATUS>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <SPID>0001470</SPID>
    <TIMESTAMP>2013-11-05T05:41:15-05:00</TIMESTAMP>
    <AGGREGATORID>11529-64807-97508-73852-97658</AGGREGATORID>
</POSTBACK>

MMS MT Delivery Status

A postback notification called N101 is immediately sent after we begin to process the MMS. Upon receiving Delivery Report (DLR) from the carrier, the system generates Postback notification N102 with the handset information. The N101 and N102 notifications are linked by TRACKINGID.

For Message Sent/Expired postback notifications, the system either generates postback notification N102 or N103 per account and can be switched to either upon request to Skycore.

If the mobile network operator does not support MMS or the destination handset does not support the size of the content within the MMS, then we fall back to SMS/xHTML to deliver the message. In this method, we deliver the MMS as an SMS containing the fallback SMS text (or the subject text if the fallback SMS text is not provided) and a link to an xHTML page with the content.

MMS Success/Failure Status Codes

CodeStatus
N101Message Sent
N102Message Sent/Delivered or Message Sent/Expired
N103Message Sent/Expired
E101Message Failed
E102Message Sent/Failed, Message Sent/Rejected or Message Sent/NotSupported

Postback Nodes

VariableDescription
ORIGINSMS_MT means an SMS terminated on a mobile.
CODEN101, N102, E101, E102.
SENTASIndicates if the MMS was delivered as MMS (binary) or SMS (xHTML).
MMSIDThe ID (bigint) of a saved MMS.
STATUSFor N101 notification status can be “Message Sent”. For N102 notification status can be “Message Sent/Delivered” or “Message Sent/Expired”. For N103 notification status can be “Message Sent/Expired”. For E101 notification status can be “Message Failed”. For E102 notification status can be “Message Sent/Failed”, “Message Sent/Rejected” or “Message Sent/NotSupported”.
FROMThe shortcode the message is sent from.
TOThe recipient of the message.
TRACKINGIDThe ID to correleate API requests, and delivery receipts.
CLIENT_REFERENCECustomer transaction ID for the API request. Passed back in all the postbacks for the API transaction. Accepts max. length of 64 chars.
SPIDCarrier Identification
TIMESTAMPThe timestamp the MMS was sent (N101) or when MMS was delivered (N102).
HANDSETHandset profile returned inside Delivery Receipt. This is present only in N102 notification.
OSThe operating system of the handset. This is present only in N102 notification.
AGGREGATORIDSMS aggregator or carrier transaction ID.
STATUSDETAILSAny additional information passed back from the aggregator/carrier in the case of MMS delivery failed.

N101 Example: (Binary)

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>N101</CODE>
    <SENTAS>MMS</SENTAS>
    <STATUS>Message Sent</STATUS>
    <MMSID>39597</MMSID>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001570</SPID>
    <TIMESTAMP>2012-06-07T07:27:29-05:00</TIMESTAMP>
</POSTBACK>

N101 Example: (xHTML)

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>N101</CODE>
    <SENTAS>SMS</SENTAS>
    <STATUS>Message Sent</STATUS>
    <MMSID>39755</MMSID>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001140</SPID>
    <TIMESTAMP>2012-06-07T07:27:34-05:00</TIMESTAMP>
    <STATUSDETAILS>Handset setting: mms with pass via xHTML</STATUSDETAILS>
</POSTBACK>

N102 Example: (Binary)

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>N102</CODE>
    <SENTAS>MMS</SENTAS>
    <STATUS>Message Sent/Delivered</STATUS>
    <MMSID>39597</MMSID>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001570</SPID>
    <TIMESTAMP>2012-06-07T07:27:34-05:00</TIMESTAMP>
    <HANDSET>LGMP260 LG-Android-MMS-V4.0/1.2</HANDSET>
    <AGGREGATORID>11529-64807-97508-73852-97658</AGGREGATORID>
    <OS>android</OS>
</POSTBACK>

N102 Example: (xHTML)

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>N202</CODE>
    <SENTAS>SMS</SENTAS>
    <STATUS>Message Sent/Delivered</STATUS>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001140</SPID>
    <TIMESTAMP>2012-06-07T07:28:09-05:00</TIMESTAMP>
    <AGGREGATORID>11529-64807-97508-73852-97658</AGGREGATORID>
</POSTBACK>

When the system is unable to send an MMS we return a postback E101.

E101 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>E101</CODE>
    <STATUS>Message Failed</STATUS>
    <MMSID>39755</MMSID>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001140</SPID>
    <STATUSDETAILS>Error fetching dynamic content</STATUSDETAILS>
</POSTBACK>

When the MMS delivery fails due to various reasons we return a postback E102.

E102 Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>E102</CODE>
    <STATUS>Message Sent/Rejected</STATUS>
    <MMSID>39755</MMSID>
    <FROM>00000</FROM>
    <TO>10000000000</TO>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
    <SPID>0001140</SPID>
    <TIMESTAMP>2012-06-07T07:28:09-05:00</TIMESTAMP>
    <AGGREGATORID>11529-64807-97508-73852-97658</AGGREGATORID>
    <STATUSDETAILS>Recipient blocked by mobile operator</STATUSDETAILS>
</POSTBACK>

SaveMMS Encoding Status

When the MMS is saved using the API or the MMS Composer, we generate a postback notification. When saving and encoding of the content is successful, we generate N003. If encoding of the content failed, we generate either postback E002 or E003 containing the MMSID and the name of the audio or video that failed. When E002 or E003 is returned, the MMSID should be considered corrupted.

VariableDescription
ORIGINMMS_MT for saving MMS content.
CODEN003, E002, E003.
MMSIDThe ID (bigint) of a saved MMS.
AUDIONAMEPoints to audio content that failed to encode properly.
VIDEONAMEPoints to video content that failed to encode properly.
CLIENT_REFERENCECustomer transaction ID for the API request. Passed back in all the postbacks for the API transaction. Accepts max. length of 64 chars.

N003 (Save MMS Successful) Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>N003</CODE>
    <MMSID>35674</MMSID>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
</POSTBACK>

E002 (Save MMS with Audio Failure) Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>E002</CODE>
    <MMSID>35674</MMSID>
    <AUDIONAME>sample.mp3</AUDIONAME>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
</POSTBACK>

E003 (Save MMS with Video Failure) Example:

<?xml version='1.0'?>
<POSTBACK>
    <ORIGIN>MMS_MT</ORIGIN>
    <CODE>E003</CODE>
    <MMSID>35675</MMSID>
    <VIDEONAME>sample.mp4</VIDEONAME>
    <CLIENT_REFERENCE>5ZY7Cx1Xy0vs</CLIENT_REFERENCE>
</POSTBACK>
Go to Top