XML Service

Introduction

Sinch offers MMS capabilities for its customers over the XML API. XML API is known to be the industry standard for sending and receiving rich multimedia content by providing higher throughput and customer satisfaction.

Some of the key features of XML API are:

  • Sure Route Mobile Terminated Message: Customer’s don’t have to specify the destination network operator while using the XML API, they can just specify the telephone number where the message needs to be delivered and Sinch with determine the correct network operator for this number.

  • Device Discovery: Sinch provides Device Discovery feature to our customers through our XML API. Device discovery is achieved either via carrier database query and discovery message where applicable.

  • Device Profile: The device profile, if available, is also included along with the delivery receipt and MO MMS message. System-wide database of last know device profile per phone number is maintained, updated whenever carrier database is queried or delivery receipt is received.

  • Fallback SMS: Fallback SMS is available thorough our XML API, if the rich media file size is larger than the device’s maximum file size, a fallback SMS will be sent. Also, also if the device does not support rich media content then a fallback SMS is sent. The customer can specify the default message text to be delivered to end users.

  • Transcoding and Content Adaptation: XML API offers transcoding and content adaptation to our customers where adaptation of source media is needed to match the destination terminal profile. This feature uses device discovery results.

  • Higher Throughput: Customers using XML API send messages over the MM1 connection thus providing higher throughput

  • saveMMS/sendSavedMMS: XML API allow users to save their MMS from XML using the saveMMS API, once the MMS is saved, it can be utilized by other functions through the mms-id returned. Users can then call sendSavedMMS API to send stored content from a specified account. This allows user to send a burst of messages with avoids any latency and consumes less bandwidth.

    Sinch XML MMS API Methods:

Action Functionality
saveMMS This API stores an MMS from XML.
sendSavedMMS This API sends stored content from a specified account using an mms-id to a single mobile number.
sendMMS Sends an MMS defined in the XML containing slides of embedded with,video, audio, images and/or text to a single or list of mobile numbers,in international number format.

saveMMS

Overview This API stores an MMS from XML. The MMS may contain slides embedded with text, and video, audio, images, PDF, iCal, vCard, Passbook files. Once the MMS is saved, it can be utilized by other functions through the mms-id returned. Note, while elements may be given in any order, the slides are created in the order given in the API call.

Example: saveMMS Request
<request>
        <action>saveMMS</action>
        <api-key>qTFkykO9JTfahCOqJ0V2Wf5Cg1t8iWlZ</api-key>
        <message-subject>The subject</message-subject>
        <name>FuelTheFire</name>
        <slide>
                <image><url>http://www.yoursite.com/images/1.jpg</url></image>
                <audio><url>http://www.yoursite.com/audio/1.mp3</url></audio>
                <message-text>Here is some text</message-text>
                <duration>5</duration>
        </slide>
        <slide>
                <message-text>My Contact</message-text>
                <vcard><url>http://www.yoursite.com/2.vcf</url></vcard>
                <duration>10</duration>
        </slide>
</request>
Request Parameters:

Mandatory: action, api_key, subject, name, slide

Optional: image, audio, video, url, text, duration, vcard, ical, pdf, passbook

Response Parameters:
status, mmsId, errorCode, errorInfo
Related Error Codes:
E223, E224, E225, E226, E227, E228, E229, E230, E301, E302, E303, E304, E331, E332, E333, E334, E335, E336, E337, E338, E341, E351, E352, E353, E355, E356, E357, E358

Response Example: Success

Example: saveMMS Success Response
<response>
        <status>Success</status>
        <mms-id>35674</mms-id>
</response>

Response Example: Failure

Example: saveMMS Failure Response
<response>
        <status>Failure</status>
        <error-code>E111</error-code>
        <error-info>Invalid shortcode</error-info>
</response>

Postback Notifications When an MMS is saved, the system will generate a Postback notification and unlock MMS for further use. If an MMS contain audio/video, Postback will be sent when the encoding of the MMS audio/video is finished, otherwise Postback notification will be sent instantly. Below is an example of Postback notification when an MMS is saved successfully:

saveMMS Postback notification
<POSTBACK>
        <ORIGIN>MMS_MT</ORIGIN>
        <CODE>N003</CODE>
        <MMSID>35674</MMSID>
</POSTBACK>

If there was an error encoding the MMS audio/video, the system will generate a notification:

saveMMS error Postback Notification
<POSTBACK>
        <ORIGIN>MMS_MT</ORIGIN>
        <CODE>E002</CODE>
        <MMSID>35674</MMSID>
        <AUDIONAME>http://www.yoursite.com/audio/1.mp3</AUDIONAME>
</POSTBACK>

Special Considerations for saveMMS:

  • The API SHALL reformat the content when necessary so that it can be delivered to the end users handset in the best possible way.
  • Delivery success takes precedence over audio and video content quality and occasionally the picture quality will be reduced to fit handset message size requirements.
  • Video SHALL be reduced in quality to fit delivery limitations and if it still does not fit it will be delivered as XHTML/SMS.
  • Each request MUST contain at least one slide which MAY contain text and/or image and/or video and/or audio and/or objects (vcard/ical/pdf/passbook).
  • The API SHALL support up to 80 characters in the MMS subject.
  • The API SHALL support up to 8 slides for each MMS submission.
  • The API SHALL NOT support multiple files of the same MIME type on the same slide.
  • Slides with image SHALL NOT support video but SHALL support audio.
  • Slides with audio SHALL NOT support video. Slides with video SHALL only support text.
  • Slides with text SHALL support up to 5000 characters in any slide.
  • Slide with vcard/ical/pdf/passbook object SHALL NOT support media type audio/video/image and vice-versa.
  • All slides MAY contain a duration for playback.
  • Default slide duration is 10 seconds.
  • Slide duration will be overwritten with the audio/video file duration after encoding is completed.
  • URLs provided MUST contain the full path to the mime files.
  • Slide Duration SHOULD NOT exceed 30 seconds.
  • MMS subject is required.
  • MMS containing audio/video can be used only when audio/video encoding is completed.
  • After submission you will not be given a successful acknowledgement of audio/video encoding when a message is submitted
  • The HTTP status of audio/video encoding after it has been completed will be sent to your Postback URL.
  • Supported Media: TEXT/PLAIN, GIF/JPG/PNG, MP3/WAV, 3GP, MP4, MPEG, MPG, AVI, WMV.
  • There is a maximum source file size for each supported source file submitted.
  • You can find out what the current maximum is by visiting your API settings.
  • MMS messages are delivered in B64 encoding To estimate the final size of Base64-encoded binary data multiply the filesize by 1.37 times the original data size + 814 bytes (for headers).

sendSavedMMS

Overview This API sends stored content from a specified account using an MMSID to a single mobile number. FROM must be one of the shortcodes allowed for your account. In case the number is from a different country than the FROM shortcode is assigned to the default shortcode for those countries will be used.

Content Transcoding: Every binary MMS we deliver can be transcoded for the destination handset and every web page we deliver is transcoded for the browsing handset. To transcode a binary MMS we must know what type of handset the user has. We are able to obtain this handset type information from delivery receipts and store the record in a handset cache for later use. We have a database of attributes which we manually match to every new handset in the cache so we can adapt the content during MMS delivery.

Our API allows you to dynamically change the text of each slide by setting up optional CUSTOMTEXT (CUSTOMTEXT must include mandatory fields: value and slide) and MMS Subject by setting CUSTOMSUBJECT.

Device Discovery Message (DDM): Device Discovery Message is a short textual MMS message that is sent to the number to discover what handset the end user is using. We store this handset information in our system and reuse it, so a DDM is sent only to new numbers. If the DDM settings are not included within your API call and the number is not in the handset cache we will deliver the MMS with generic settings. If the handset is in the handset cache the DDM will not be sent and the MMS message will be transcoded and delivered immediately. You can force sending of DDM (regardless if number is cached) by setting DDMFORCE to ‘true’

Our API allows you to customize DDM by setting 3 parameters:

  • DDMTITLE: - This is the DDM title (optional, if not set then “Device Discovery” text will be used).
  • DDMTEXT: - This is the DDM body (mandatory).
  • DDMTIMEOUT - (in minutes) When we send DDM we wait for the Delivery Report which contain the handset profile.

In some cases we do not receive it or it takes very long (handset turned off or out of range). This variable tells the system how long should it wait for DDM Delivery Report before sending actual content using Default parameters. Default value of this parameter is 5 minutes.

Request Parameters:

Mandatory: action, api-key, fallback-sms-text, from, mms-id, service-id, to Optional: custom-subject, custom-text, data, ddm-force, ddm-message-text, ddm-message-subject, ddm-message-timeout, operator-id
Response Parameters:
status, to, from, mmsId, trackingId, errorCode, errorInfo
Related Error Codes:
E107, E110, E111, E114, E241, E503, E618, E619, E620, E622, E626, E627, E628, E629, E650

Request Example:

Example: sendSavedMMS Request
<request>
        <action>sendSavedMMS</action>
        <api-key>qTFkykO9JTfahCOqJ0V2Wf5Cg1t8iWlZ</api-key>
        <to>14044790000</to>
        <from>28444</from>
        <service-id>12345</service-id>
        <mms-id>35674</mms-id>
        <ddm-message-subject>We are detecting your handset</ddm-message-subject>
        <ddm-message-text>This message is free of charge and will allow us to deliver your content nice and smooth</ddm-message-text>
        <ddm-message-timeout>10</ddm-message-timeout>
        <custom-text>
                <value>My custom text in first slide</value>
                <slide>1</slide>
        </custom-text>
        <custom-subject>My custom subject</custom-subject>
        <data>
                <firstname>Bill</firstname>
                <lastname>Smith</firstname>
                <accountnumber>XYZ23456</accountnumber>
                <pin>13579</pin>
        </data>
</request>

Response Example: Success

Example: sendSavedMMS Success Response
<response>
        <status>Success</status>
        <mms-id>35674</mms-id>
        <tracking-id>TU1TXzU5Nzg3OQ==</tracking-id>
        <to>14044790000</to>
        <from>28444</from>
        <status-details>MMS request accepted and queued for delivery</status-details>
</response>

Response Example: Failure

Example: sendSavedMMS Failure Response
<response>
        <status>Failure</status>
        <error-code>E713</error-code>
        <to>14044790000</to>
        <error-info>There is billing problem on your account</error-info>
</response>

Postback Notifications For SendSavedMMS When the MMS delivery is processed successfully the system will generate a Postback notification.

sendMMS

Overview Sends an MMS defined in the XML containing slides of embedded with video, audio, images and/or text to a single or list of mobile numbers in international number format. The sendMMS is a minor extension of the saveMMS function. Note, while elements may be given in any order, the slides are created in the order given in the API call.

While the sendMMS API method allows sending slides containing video elements, it is not recommended as it introduces latency during the call. Therefore, Sinch suggests strongly that you use the saveMMS API call to submit video content and then Sinch MMS service can transcode the contents in advance before you request the sendSavedMMS API call.

If the sendMMS API is used to send the same content to multiple users, at present the Sinch application does not cache this content as such the content will need to be uploaded for each request. This is another reason Sinch suggests that you use combination of saveMMS and sendSavedMMS API calls.

In case of Optimized MMS, there is a mandatory ‘fallback-sms-text’ which is used as the SMS text in the case of MMS is delivered via SMS link. In case of Standard MMS, the ‘fallback-sms-text’ is not required.

MMS “Link Expiration Date’ is used to expire the MMS Link (In the case when MMS fallback to SMS Link). Depending on this expiration date, the content is disabled on this link. By default it expires 365 days from the date the original MMS was created.

Request Parameters:

Mandatory: action, api_key, to, from, name, slide, fallback-sms-text, service-id

Optional: operatorid, campaignRef, subject, image, audio, video, url, text, duration, vcard, ical, pdf, passbook, message-text

Response Parameters:
status, to, mmsId, trackingId, errorCode, errorInfo
Related Error Codes:
All saveMMS Error Codes plus E110, E111, E201, E628

Request Example:

Example: sendMMS Request
<request>
        <action>sendMMS</action>
        <api-key>qTFkykO9JTfahCOqJ0V2Wf5Cg1t8iWlZ</api-key>
        <to>12399471613</to>
        <from>28444</from>
        <operator-id>31062</operator-id>
        <message-subject>The subject</message-subject>
        <service-id>32113</service-id>
        <name>FuelTheFire</name>
        <slide>
                <duration>5</duration>
                <image>
                        <url>http://www.yoursite.com/images/1.jpg</url>
                </image>
                <audio>
                        <url>http://www.yoursite.com/audio/1.mp3</url>
                </audio>
                <message-text>Here is some text blah blah ...</message-text>
        </slide>
        <slide>
                <message-text>Invitation</message-text>
                <ical><url>http://www.yoursite.com/cal/2.ics</url></ical>
                <duration>10</duration>
        </slide>
</request>

Response Example: Success

Example: sendMMS Success Response
<response>
        <status>Success</status>
        <to>12399471613</to>
        <mms-id>35674</mms-id>
        <tracking-id>MMS_12345</tracking-id>
        <status-details>MMS request accepted and queued for delivery</status-details>
</response>

Response Example: Failure

Example: sendMMS Failure Response
<response>
        <status>Failure</status>
        <error-code>E111</error-code>
        <to>12399471613</to>
        <error-info>Invalid shortcode</error-info>
</response>

deleteMMSID

Overview Deletes an MMS template whose mms-id is defined in the XML. All contents in the MMS template will be deleted immediately. In the case of Optimized MMS, the transcoded files will be also deleted.

Request Parameters:

Mandatory: action, api_key, mms-id

Response Parameters:

status, mmsId, errorCode, errorInfo

Related Error Codes:

E104, E105, E108, E112, E113, E120, E241, E620

Response Example

Example: deleteMMSID request
<request>
        <action>deleteMMSID</action>
        <api-key>qTFkykO9JTfahCOqJ0V2Wf5Cg1t8iWlZ</api-key>
        <mms-id>35674</mms-id>
</request>

Request:Success

Example: deleteMMSID request Success
<response>
        <status>Success</status>
        <mms-id>35674</mms-id>
</response>

Request:Failure

Example: deleteMMSID request Failure
<response>
        <status>Failure</status>
        <error-code>E241</error-code>
        <error-info>Invalid mms-id / MMS do not exist</error-info>
</response>

getMMSTemplates

Overview List all the previously created MMS templates (mms-ids) created using the saveMMS API. Note, deleted templates are not included in this listing. All the MMS templates will be listed in the descending order of date (i.e., latest to the oldest). If no “start-date” is specified in the API request then by default all mms templates are listed. The default “page-number” is taken as 1 whereas the default “items-per-page” is 100, if not specified. GMT/UTC timestamps are accepted for “start-date”.

Request Parameters:

Mandatory: action, api_key

Optional: start-date, page-number, items-per-page

Related Error Codes:

E104, E105, E108, E112, E113, E120, E212, E213, E214

Request Example:

Example: getMMSTemplates Request
<request>
        <action>getMMSTemplates</action>
        <api-key>qTFkykO9JTfahCOqJ0V2Wf5Cg1t8iWlZ</api-key>
        <start-date>2014-03-31T11:30:00+00:00</start-date>
        <page-number>1</page-number>
        <items-per-page>3</items-per-page>
</request>

Response Example: Success

Example: getMMSTemplates Success Response
<response>
        <status>Success</status>
        <start-date>2014-03-31T11:30:00+00:00</start-date>
        <page-number>1</page-number>
        <items-per-page>3</items-per-page>
        <total-results>3</total-results>
        <mms-template>
                 <mms-id>1234</mms-id>
                 <mms-name>MMS-4</mms-name>
                 <mms-subject>mms-test-4</mms-subject>
                 <date-created>2014-10-31T09:30:00+00:00</date-created>
                 <total-slides>2</total-slides>
                 <mms-size>2048</mms-size>
        </mms-template>
        <mms-template>
                 <mms-id>1233</mms-id>
                 <mms-name>MMS-3</mms-name>
                 <mms-subject>mms-test-3</mms-subject>
                 <date-created>2014-10-30T19:00:00+00:00</date-created>
                 <total-slides>4</total-slides>
                 <mms-size>4096</mms-size>
        </mms-template>
        <mms-template>
                 <mms-id>1230</mms-id>
                 <mms-name>MMS-2</mms-name>
                 <mms-subject>mms-test-2</mms-subject>
                 <date-created>2014-10-30T08:30:00+00:00</date-created>
                 <total-slides>2</total-slides>
                 <mms-size>5126</mms-size>
        </mms-template>
</response>

Response Example: Failure

Example: getMMSTemplates Failure Response
<response>
        <status>Failure</status>
        <error-code>E214</error-code>
        <error-info>start-date is invalid</error-info>
</response>

Sinch Postbacks

MMS MT Delivery Report Postbacks Overview The MMS MT postback API notifies you of the delivery status of each message you send. There are two methods for delivering content; Binary and HTML. Following are postback notification formats depending on which method is used.

MMS MT Postback Types:

  • MMS Delivery status
  • saveMMS Encoding Status

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 tracking-id.

When the mobile network operator does not support MMS or the destination handset does not support the size of the content within the MMS, in case of Optimized MMS we fall back to SMS/HTML to deliver the message. In this method we deliver the MMS as an SMS containing a link to an HTML page with the content.

The fallback-sms-text is included in the SMS message text. The possible MMS status code that you may receive for the delivery status is one of following: N101, N102, E101, E102.

If you specified to send a Device Discovery Message then you may receive one of the following status codes regarding the delivery status of the Device Discovery Message: N501, N502, E501, E502.

Variable Description
origin The notification origin, for example, MMS_MT means an MMS terminated on a mobile.
code The postback notification code.
sent-as Indicates if the MMS was delivered as MMS (binary) or SMS (HTML).
mms-id Id of the MMS Template.
status
For N101 and N501, notification status can be “Message Sent”.
For N102 and N502, notification status can be “Message Sent/Delivered”.
For E101 and E501, notification status can be “Message Failed”.
For E102 and E502, notification status can be “Message,Sent/Expired”, “Message Sent/Rejected”, “Message Sent/Failed” or,“Message Sent/Not Supported”.
from The shortcode the message is sent from
handset Handset profile returned inside Delivery Receipt. This is present only in N102 notification.
to The recipient of the message.
tracking-id The ID to correlate API requests, and delivery receipts.
operator-id Carrier Identification.
timestamp The timestamp the MMS was sent (N101) or when the MMS was delivered (N102).
status-details Any additional information passed back from the carrier.

Postback Schema

N101 Example: (Binary)
<postback>
        <origin>MMS_MT</origin>
        <code>N101</code>
        <sent-as>MMS</sent-as>
        <status>Message Sent</status>
        <mms-id>39597</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3OQ==</tracking-id>
        <operator-id>31003</operator-id>
        <timestamp>2014-06-07T07:27:29-05:00</timestamp>
</postback>
N101 Example: (HTML)
<postback>
        <origin>MMS_MT</origin>
        <code>N101</code>
        <sent-as>SMS</sent-as>
        <status>Message Sent</status>
        <mms-id>39755</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3Nw==</tracking-id>
        <operator-id>31004</operator-id>
        <timestamp>2014-06-07T07:27:34-05:00</timestamp>
        <status-details>Handset setting: mms with pass via HTML</status-details>
</postback>
N102 Example: (Binary)
<postback>
        <origin>MMS_MT</origin>
        <code>N102</code>
        <sent-as>MMS</sent-as>
        <status>Message Sent/Delivered</status>
        <mms-id>39597</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3OQ==</tracking-id>
        <operator-id>31003</operator-id>
        <timestamp>2014-06-07T07:27:34-05:00</timestamp>
        <handset>moto17c</handset>
</postback>
N102 Example: (HTML)
<postback>
        <origin>MMS_MT</origin>
        <code>N102</code>
        <sent-as>SMS</sent-as>
        <status>Message Sent/Delivered</status>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3Nw==</tracking-id>
        <operator-id>31004</operator-id>
        <timestamp>2014-06-07T07:28:09-05:00</timestamp>
</postback>
E101 Example: When the system is unable to send an MMS we return a postback E101
<postback>
        <origin>MMS_MT</origin>
        <code>E101</code>
        <status>Message Failed</status>
        <mms-id>39755</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3Nw==</tracking-id>
        <operator-id>31004</operator-id>
        <status-details>Error fetching dynamic content</status-details>
</postback>
E102 Example: When the MMS delivery fails due to various reasons we return a postback E102
<postback>
        <origin>MMS_MT</origin>
        <code>E102</code>
        <status>Message Sent/Rejected</status>
        <mms-id>39755</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3Nw==</tracking-id>
        <operator-id>31004</operator-id>
        <status-details>Recipient blocked by mobile operator</status-details>
</postback>
N501 Example
<postback>
        <origin>MMS_MT</origin>
        <code>N501</code>
        <sent-as>MMS</sent-as>
        <status>Message Sent</status>
        <mms-id>39755</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3Nw==</tracking-id>
        <operator-id>31004</operator-id>
        <timestamp>2014-06-07T07:27:34-05:00</timestamp>
        <status-details></status-details>
</postback>
N502 Example
<postback>
        <origin>MMS_MT</origin>
        <code>N502</code>
        <sent-as>MMS</sent-as>
        <status>Message Sent/Delivered</status>
        <mms-id>39597</mms-id>
        <from>28444</from>
        <to>12399471613</to>
        <tracking-id>TU1TXzU5Nzg3OQ==</tracking-id>
        <operator-id>31003</operator-id>
        <timestamp>2014-06-07T07:27:34-05:00</timestamp>
        <handset>moto17c</handset>
</postback>

saveMMS Encoding status

When MMS is saved, we generate postback notification. When saving and encoding of the content is successful we generate N003. If encoding of the content failed we generate postback E002 containing mms-id and audio-name/video-name pointing to the content that failed to encode properly. When E002 is returned the mms-id should be considered corrupted. Note: The image-name is not included since image encoding is not supported.

Variable Description
code N003 or E002 based on the success of the content coding.
origin MMS_MT for saving MMS content.
mms-id ID of the MMS.
audio-name URL to audio content that failed to encode properly.
video-name URL to video content that failed to encode properly.
N003 (Save MMS Successful) Example
<postback>
        <origin>MMS_MT</origin>
        <code>N003</code>
        <mms-id>35674</mms-id>
</postback>
E002 (Save MMS Failure) Example
<postback>
        <origin>MMS_MT</origin>
        <code>E002</code>
        <mms-id>35674</mms-id>
        <audio-name>http://www.yoursite.com/audio/1.mp3</audio-name>
</postback>

Sinch MMS MO Postbacks

Note: MO MMS functionality is limited to Verizon, Sprint and T-Mobile initially. MO MMS for AT&T will be supported shortly after commercial launch.

The MMS MO postback API notifies you that a customer has replied to your message, or interacted to one of your keywords.

MMS MO Information: To receive MMS MO postback you need to work with your Sinch Account Manager to provision with your account. Once the MMS MO postback is enabled you will start receiving postbacks for each MMS MO received on the MMS MO Keyword or Short Code.

The MMS MO This postback notifies you when an MMS MO is received

Variable Description
code N401.
origin MMS_MO.
from The phone number, including the country code of the sender.
to The recipient shortcode.
keyword If a keyword was recognized in the first word of the subject or the,first word body of the message and it matched to a MMS Inbox Keyword,campaign that keyword will be passed in this node.
tracking-id A tracking ID, Sinch has assigned this message.
operator-id The operator-id of the sender’s carrier.
timestamp The timestamp that our system received the MMS MO.
message-subject The subject sent in the MMS MO.
content Contains the file nodes sent in the MMS MO.
file A series of sub-nodes that contains a single URL to a picture,,video, audio or text file sent in the MMS MO within each node. The URL,points to the location of the content on our servers. For those,developing the back-end handling of the postback URL, you may choose to,download/store these content files for whatever purpose you see fit. You,may also choose to store the URLs for download at a future time. The,file will be removed based on the terms of your contract.
MMS MO Example
<postback>
        <origin>MMS_MO</origin>
        <code>N401</code>
        <from>14082257140</from>
        <to>28444</to>
        <keyword>all</keyword>
        <tracking-id>MMS_MO_iLnCRrL6</tracking-id>
        <operator-id>31002</operator-id>
        <timestamp>2014-02-03T11:19:49-05:00</timestamp>
        <message-subject></message-subject>
        <content>
                <file>URL of Content Here</file>
                <file>URL of Content Here</file>
                <file>URL of Content Here</file>
        </content>
</postback>

Appendix

Error Code Reference

Code Description
E100 Invalid request, please meke a valid XML Post request.
E104 Authentication failed, Invalid api-key.
E105 No API access to this user.
E106 Time interval between each API call should be at least X seconds.
E107 Invalid action. This api user is not allowed to use this action
E108 Invalid XML. XML parsing failed.
E110 Invalid ‘to’ / receiver number.
E111 Invalid ‘from’ / shortcode.
E112 IP was not whitelisted. API call rejected.
E113 Exceeded the allowed throughput for this API action.
E114 Phone number is blacklisted. API call rejected.
E212 page-number is invalid.
E213 items-per-page is invalid
E214 start-date is invalid.
E223 More than one object is not allowed in the same slide.
E224 MMS audio/video/image are not allowed with object in the same slide.
E225 Exceeded number of slides allowed for the MMS.
E226 MMS audio / video are not allowed in the same slide.
E227 MMS video / image are not allowed in the same slide.
E228 MMS text cannot exceed X characters.
E229 Content not allowed.
E230 Invalid / bad slide duration in slide X.
E241 Invalid mms-id / MMS do not exist.
E311 Invalid MMS name / name is required.
E312 No slides.
E313 Slide X is empty.
E314 Invalid message-subject / message-subject is required.
E331 Image in slide X is too big.
E332 Audio in slide X is too big.
E333 Video in slide X is too big.
E334 Text in slide X is too long.
E335 vCard in slide X is too big.
E336 iCal in slide X is too big.
E337 PDF in slide X is too big.
E338 Passbook file in slide X is too big.
E341 Image file in slide X is corrupted.
E351 Could not copy Image in slide X.
E352 Could not copy Audio in slide X.
E353 Could not copy Video in slide X.
E355 Could not copy vCard in slide X.
E356 Could not copy iCal in slide X.
E357 Could not copy PDF in slide X.
E358 Could not copy Passbook file in slide X.
E618 Carrier lookup failed. Please retry.
E619 Carrier not provisioned.
E620 mms-id is required.
E622 fallback-sms-text is required.
E626 MMS not available. Encoding in progress, try again later.
E627 Invalid service-id / service-id is required.
E628 Mobile operator / carrier not supported.
E629 Unrecognized content type.
E650 Invalid operator-id / operator-id is required.
E651 Invalid operator-id / operator-id not found in the system.

Postback Notification Codes

Code Description
E100 Invalid request, please meke a valid XML Post request.
E002 Encoding of MMS audio failed. (saveMMS function)
E003 Encoding of MMS video failed. (saveMMS function)
E012 Encoding of MMS audio failed. (sendMMS function)
E013 Encoding of MMS video failed. (sendMMS function)
E101 Error occurred. Impossible to send MMS.
E102 Error occurred. MMS Delivery was not successful.
E202 Error occured. MMS as SMS Delivery was not successful.
E501 Error occurred. Impossible to send DDM Message.
E502 Error occurred. DDM Delivery was not successful.
E999 Post Message Sending Queue Processing Errors.
N101 Notification that MMS was sent.
N102 Notification that MMS status was updated.
N202 Notification that MMS was delivered as SMS.
N401 MMS MO received successfully.
N501 Notification that Device Discovery Message is sending.
N502 Notification that Device Discovery Message delivery status has changed.
E002 Encoding of MMS audio failed. (saveMMS function)
E003 Encoding of MMS video failed. (saveMMS function)
E012 Encoding of MMS audio failed. (sendMMS function)
E013 Encoding of MMS video failed. (sendMMS function)
E101 Error occurred. Impossible to send MMS.
E102 Error occurred. MMS Delivery was not successful.
E202 Error occured. MMS as SMS Delivery was not successful.
E501 Error occurred. Impossible to send DDM Message.
E502 Error occurred. DDM Delivery was not successful.
E999 Post Message Sending Queue Processing Errors.
N101 Notification that MMS was sent.
N102 Notification that MMS status was updated.
N202 Notification that MMS was delivered as SMS.
N401 MMS MO received successfully.
N501 Notification that Device Discovery Message is sending.
N502 Notification that Device Discovery Message delivery status has changed.