Overview

MMS APIs are currently offered via an implementation of the MM7 protocol. MM7 is the standard protocol used by the carriers to send and receive MMS messages. It is a SOAP based protocol sent over HTTP. MM7 supports the following API actions:

Action Functionality
MM7_Submit Send an MT Message to a device.
MM7_Deliver Receive an MO message from the device.
MM7_DeliveryReport Receive a Delivery report for a previously submitted MT MMS Message.


The API URL is https://secure.skycore.com/API/mm7/v1/. The use of our MM7 API is only available for accounts with a paid plan. We support submitting MMS messages with MM7 version 5.3.0 to 6.8.0. Your VASPID will be your API Key. We will also issue you a VASID to submit with your message. The VASID will be unique on each short code. All traffic is encrypted in transit via SSL/TLS.

Finding your VASPID (API Key)

You must first request access to the API from your account manager. Once the API is turned on, you can find your API Key in the API Settings page under your ‘Account’ dropdown. Alternatively your account manager will provide you with the Key. You can reset the Key at any time to revoke access. Your username and password for your account are seperate from your API key so you do not have to worry about a account password reset affecting your services.

Finding your VASID

Your account manager will provide you with a VASID for each shortcode. If you use a dedicated shortcode you can pick your own VASID or we can configure it empty.

Receiving Delivery Reports and MO’s

Your Delivery Report URL and MO URL is configured in your Account’s API Settings page. You can update it at any time. SOAP requests will be forwarded to your server every second and require an HTTP STATUS 200 and a proper MM7 SOAP Response or else we will retry. You can also turn off the SOAP notifications to your server and download a CSV of final message statues from the User Interface.

We expect your server to accept our postback within 10 seconds by responding with a standard HTTP STATUS 200 header (success) and proper SOAP Response with matching MM7 TransactionID and Status 1000. If establishing a connection to your Postback URL takes longer than 10 seconds, the connection will time out and be dropped. If the connection times out or the HTTP code is not 200 we will retry the notification again five minutes later for a maximum of 5 retries per notification.

API Limitations

You may have a throughput limit on your account. If your API requests exceed the throughput on your account then you may have some latency in the delivery of your messages. There may also be limits on the number of API calls allowed per second/minute/day. These limits will be published in your API Settings page. If you exceed this limit then your messasge will be rejected and you will be required to retry the request.

Authentication

We authenticate your account with your VASPID and we authenticate your short code, service and carrier reach with the VASID. We can optionally whitelist your IP Address or apply a “basic authorization” username and password requirement to your account which adds an additional level of security to your request.

Special Considerations

Always Use International Number Format: You must use international format when submitting an MM7 message to Skycore. International format includes both the country code with the phone number. We use the country code to determine routing of the message. There should be no dialing prefixes (eg 00 or 001) or special characters such as the plus symbol when submitting messages. (example: ‘642111111’ not ‘+642111111’). If you submit a message without a country code the message will likely get routed to the wrong country and you may end up paying for the delivery there.

For example the US number (774)-319-9144 in international number format would be 17743199144 because the USA country code is 1.

Resources

MMS Message Statuses & Error Codes

MM7 Versions & Namespaces