Before You Begin
Features of Global SMS
Our Global SMS service supports a wide variety of messaging use cases and lets you reach end users around the world. This topic briefly describes various features of the service you'll want to be familiar with.
Use either HTTP or SMPP
You can integrate with OpenMarket using HTTP or SMPP. Our RESTful HTTP API supports both JSON and XML operations. Both HTTP and SMPP support automated selection of message originators, simple character encoding, efficient tracking of multipart (concatenated) messages, and a 99.99% SLA. For information about choosing HTTP versus SMPP, see Getting Started with Global SMS.
Send one-way and two-way messages
With our Global SMS service you can send one-way messages globally, and two-way messages in many regions. For more details see Getting Started with Global SMS.
One-way messaging
If you don't expect end users to respond to your message, you'll use one-way messaging. Different mobile operators and geographic regions have their own behavior around one-way messaging. Things to know are:
-
Alphanumeric originators
In many countries (including the UK) you can set an alphanumeric string as the message originator. This can allow you to brand the message as coming from your company; e.g. "ACME SHOES". End users cannot send a reply to an alphanumeric string.
-
Changing message originators
In some regions when sending using one-way, the mobile operator will change the message originator you've sent to a number of their choosing. This means that, if you do wish end users to potentially respond, it is important to label the message as two-way.
-
Cost-effectiveness
In some cases, one-way messages can be more cost-effective. Consult with your OpenMarket account manager for guidance.
Two-way messaging
Use two-way messaging when you expect end users to respond to your message. Two-way messaging requires use of a short code or virtual mobile number (VMN) that can receive messages.
For a list of the countries where you can use two-way messaging, see SMS Global Coverage Map.
Note: All messaging in the US and Canada is two-way, regardless of whether you need to receive responses. This is a regulatory requirement; the industry in these regions require you to send messages from a provisioned, text-enabled number.
-
Short codes
Short codes are always regional (normally national), which means messages sent to end users outside the specific region will not be able to respond.
-
Long codes
These are 10-digit numbers and include text-enabled landlines and toll-free numbers, and 10DLC numbers. We configure long codes to receive messages within the country or region of origin, but they are accessible globally. This means you can receive texts from end users outside the country of origin without cost to that end user. Currently 10DLC numbers can only be used for messaging to end users in the US and US Territories. For background on 10DLC numbers, see 10DLC FAQs.
Sending messages to different countries
To send messages to mobile numbers in different countries, you'll need to consider mobile operator capabilities and policies, as well as governmental and industry regulations. If you intend to send messages to multiple countries or territories, make sure to consult with your OpenMarket account manager about requirements.
For examples of message requests to different countries, see Sending a Global Message, Sending to the US and Canada, and Sending to India.
Single and multipart (concatenated) messages
The number of characters you can include in any SMS messages is always limited. In the US, the limit is 160 characters, including the message text, any variables you include with the message (e.g., the recipient's name), and encoding. To work around the limit, a message can be broken into parts and then reconstructed on the handset so that the end user sees the multipart message as one. Multipart messages are also known as "long" or "concatenated" messages.
OpenMarket's HTTP service supports automatic splitting of long messages, meaning the service will send each part in a single message request. With SMPP, you are required to send each part in a separate request.
For more information see "Single and multipart messages" in Things to Know.
Select originators automatically
Every text message must originate from at least one of these types of sources:
- Short code
- Long code
- 10DLC (US only)
- Text-enabled landline
- Text-enabled toll-free number
- Alphanumeric string
When you send messages to different countries and mobile operators, you'll likely use more than one of these message originators. Because it can be challenging to select the correct message originator for a given mobile number, our SMS service can do this work for you. The feature is called Automated Originator Selection (AOS).
With AOS all you need to provide in the 'send message' request is the destination mobile phone number. Based on that we determine the country and then use the matching originator. If you use multiple originators for the same region, we may need more information in order to choose the correct originator for a particular end user.
For more information see Message originators.
Character sets and encoding
Whether you use HTTP or SMPP, you have flexibility in terms of what encoding to use when sending messages. For HTTP, OpenMarket ensures that the best possible character encoding is used for the content of each message. All you need to do is send us the message in UTF-8. Before we forward a message to a mobile operator, we determine what encoding the operator accepts and then what encoding best matches the message content. The two encodings that are most widely accepted by mobile operators are:
- GSM-7 — Each character requires 1 byte of data. Based on the GSM 03.38 standard.
- UCS-2 — Each character requires 2 bytes of data. Based on the ISO/IEC 10646 standard.
For SMPP, we set a default character encoding on your account for both sending and receiving messages. You can choose one of these character sets as the default:
- GSM-7 — Default alphabet and extension table of 3GPP TS 23.038 / GSM 03.38.
- Latin 1 — Single-byte character set based on ISO-8859-1.
For more details see "Character encoding" in HTTP - Things to Know, and "Data coding scheme" in SMPP - Things to Know.
Security and authentication
OpenMarket takes the security of your data very seriously. We work with a qualified independent security assessor to annually conduct third-party security audits across all our products. Our connections to mobile operators utilize industry-standard encryption technologies appropriate to the sensitivity of the information being transmitted. This means we use either VPN tunnels or SSL (TLS v1.1 or greater) to encrypt data being sent over public networks or private networks if required.
When you connect to us via our messaging APIs, you can utilize these security features:
- Using an HTTPS connection over secure port 443
- Providing us with a whitelist of IP addresses from which we will accept API requests
- Providing you with the OpenMarket IP addresses from which you should accept MO messages, delivery receipts and other notifications
For more about authenticating with using HTTP, see Things to Know.
High availability
OpenMarket's Global SMS service uses a geo-redundant network that includes multiples data centers. However, your messaging application needs to know about just one endpoint. Once we receive your message request, our system will route the message to the closest available data center.
For more information about how to take advance of high availability, see Getting Started with Global SMS.
Data sources for reporting
Our Global SMS services provide two data sources that feed our reporting system:
- SMS Summary — Stores summary-level data about MT and MO messages that is used for three standard reports:
- SMS Monthly Summary-13 Months
- SMS Daily Summary-This Month
- SMS Daily Summary-Last Month
- SMS Detailed — Stores detailed data used for the SMS Daily Detailed report. The SMS Detailed data source contains about 15 more data fields than the Summary.
OpenMarket provides standard reports based on these data sources and also lets you create custom reports from them. For more details on reporting see Reporting.