MM7 MMS
Receive an MMS
OpenMarket delivers MMS messages to your platform using the MM7 Deliver operation.
Quick facts
Available |
US, UK, Ireland, Australia. |
Prerequisites |
You must have MMS messaging provisioned with OpenMarket. |
Supported versions |
For this operation: 6.8, 6.1, 5.6, 5.3. |
More information |
See Overview. |
Request from OpenMarket
Header fields
Example Header
POST /customerEndpoint HTTP/1.1
SOAPAction: ""
Content-Type: multipart/related; start="soap-start"; type="text/xml";
boundary="----=_Part_139078_1411587550.1397492135426"
User-Agent: OpenMarket
Host: 198.51.100.5
Content-Length: 2546
X-OpenMarket-Carrier-Id: 474
UAProf: Samsung Galaxy
Connection: Keep-Alive
Note that the header field UAProf is included only if the MM7 version is lower than version 6.8.
Field |
Description |
---|---|
customerEndpoint | Your endpoint or callback URL. |
X-OpenMarket-Carrier-Id |
An OpenMarket Supported Mobile Operators and Limitations. Returned: Always. |
UAProf |
Also known as MMS User Agent capabilities. If the MM7 version is 6.8, then this information is sent in the request body, rather than in the header. Returned: Only when provided by the mobile operator. |
Request body
SOAP envelope
The following is an example SOAP envelope for an MO MMS request.
------=_Part_139078_1411587550.1397492135426Content-Type: text/xml Content-ID: <soap-start>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4"> <ns1:Header> <ns3:TransactionID ns1:mustUnderstand="1">369171411769819136</ns3:TransactionID> </ns1:Header> <ns1:Body> <ns3:DeliverReq> <ns3:MM7Version>6.8.0</ns3:MM7Version> <ns3:LinkedID>369171411769819136</ns3:LinkedID> <ns3:Sender> <ns3:Number>12125550123</ns3:Number> </ns3:Sender> <ns3:Recipients> <ns3:To> <ns3:Number displayOnly="false">222111</ns3:Number> </ns3:To> </ns3:Recipients> <ns3:TimeStamp>2014-04-14T16:15:23.414Z</ns3:TimeStamp> <ns3:Priority>Normal</ns3:Priority> <ns3:Subject>ACME Rewards Voucher</ns3:Subject> <ns3:UACapabilities UAProf="Samsung Galaxy"/> <ns3:Content href="cid:default.cid" allowAdaptations="true"/> </ns3:DeliverReq> </ns1:Body> </ns1:Envelope>
Elements
Element |
Description |
---|---|
TransactionID |
Identifies the MM7_DeliverReq/MM7_DeliverRes pair. It is an OpenMarket-generated ID. Returned: Always |
DeliveryReq |
Identifies the message as an MM7 deliver request. Returned: Always |
MM7Version |
Identifies the version of the interface supported by OpenMarket. Returned: Always |
LinkedID |
Identifier for the MO message. This is the same OpenMarket-generated ID that is returned in TransactionID. Returned: Always |
Sender |
The mobile phone number of the end user. This is a mobile number in international format without a leading "+" character; for example: 12515550130 (US) and 447700900765 (UK). Returned: Always |
Recipients |
The short code, the text-enabled toll-free number (US only), virtual mobile number VMN) or alphanumeric (UK only) of the message recipient. OpenMarket sends only one recipient (To), which is the short code. The displayOnly attribute will be False. Returned: Always |
TimeStamp |
The date and time of the submission of the multimedia message. OpenMarket provides this value in UTC. Returned: Always |
Priority |
The priority (importance) of the message. Possible values: High, Normal, Low Returned: Only when provided by mobile operator |
Subject |
Title of the message. Returned: Only when provided by mobile operator |
Content |
A reference to the content of the MM7 message. Contains an "href:cid" attribute that links to the content ID of the first attachment in the MM7 message. Returned: Only when provided by mobile operator |
UACapabilities |
Also known as MMS User Agent capabilities. Information about the capabilities of the MMS user agent that originated the multimedia message. In the MM7 specification, there is an associated timestamp; however, we do not included it in this request. If the MM7 version is less than 6.8, OpenMarket adds the UACapabilities in the HTTP header called UAProf. Returned: Only when provided by mobile operator |
Example request including MIME parts
POST / HTTP/1.1 SOAPAction: "" Content-Type: multipart/related; start="soap-start"; type="text/xml"; boundary="----=_Part_139078_1411587550.1397492135426" User-Agent: OpenMarket Host: 198.51.100.5 Content-Length: 2546 X-OpenMarket-Carrier-Id: 474 Connection: Keep-Alive
------=_Part_139078_1411587550.1397492135426Content-Type: text/xml Content-ID: <soap-start>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4"> <ns1:Header> <ns3:TransactionID ns1:mustUnderstand="1">369171411769819136</ns3:TransactionID> </ns1:Header> <ns1:Body> <ns3:DeliverReq> <ns3:MM7Version>6.8.0</ns3:MM7Version> <ns3:LinkedID>369171411769819136</ns3:LinkedID> <ns3:Sender> <ns3:Number>12125550123</ns3:Number> </ns3:Sender> <ns3:Recipients> <ns3:To> <ns3:Number displayOnly="false">222111</ns3:Number> </ns3:To> </ns3:Recipients> <ns3:TimeStamp>2014-04-14T16:15:23.414Z</ns3:TimeStamp> <ns3:Priority>Normal</ns3:Priority> <ns3:Content href="cid:default.cid" allowAdaptations="true"/> </ns3:DeliverReq> </ns1:Body> </ns1:Envelope>
------=_Part_139078_1411587550.1397492135426Content-Type: multipart/mixed; boundary="----=_Part_139079_1300104441.1397492135426" Content-ID: <default.cid>
------=_Part_139079_1300104441.1397492135426Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: image_0.jpg
<Binary contents> ------=_Part_139079_1300104441.1397492135426Content-Type: text/plain Content-Transfer-Encoding: binary Content-ID: text_0.txt
Test MO message! ------=_Part_139079_1300104441.1397492135426-- ------=_Part_139078_1411587550.1397492135426--
Responding to the request
Your platform must reply with a response message, indicating that the message was successfully received and will be processed.
If you cannot identify the requested content or if the delivered content does not fulfill the conditions you'd expect, then your platform should indicate a failure in the MM7_deliver.RES status field.
Example Response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml; charset=utf-8
Content-Length: 539
Date: Tue, 15 Apr 2014 14:03:32 GMT
<?xml version="1.0" encoding="UTF-8" ?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap-env:Header>
<TransactionID soap-env:mustUnderstand="1">369171411769819136</TransactionID>
</soap-env:Header>
<soap-env:Body>
<mm7:DeliverRsp xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
<mm7:MM7Version>6.8.0</mm7:MM7Version>
<mm7:Status>
<mm7:StatusCode>1000</mm7:StatusCode>
<mm7:StatusText>Successfully received MMS</mm7:StatusText>
</mm7:Status>
</mm7:DeliverRsp>
</soap-env:Body>
</soap-env:Envelope>
Elements in the response
Element |
Description |
---|---|
TransactionID |
Identifies the MM7_Deliver.Req/MM7_Deliver.Res pair. It is part of the SOAP header. The value returned is the one provided in the request. Required: Always |
DeliveryRsp |
Identifies the message as a MM7 Deliver Response. This is a root element. Required: Always |
MM7Version |
Identifies the version of the interface supported by OpenMarket. This is the value that was passed in the request. Required: Always |
StatusCode |
A code that indicates whether you received the MO message request successfully. The status code for successful deliver is 1000. Required: Always |
StatusText |
Text description of the status code. Required: Always |
Testing your integration
OpenMarket provides an option for testing your integration with the production environment. See Testing Your MMS Integration.