HTTP Global SMS API
Sending to India
The main difference in your requests between global messaging and messaging in India is that you must identify each message as being either promotional or transactional.
This is due to historical problems with unsolicited SMS messages to mobile end users in India, which caused the Telecom Regulatory Authority of India to initiate several regulations. One regulation requires you to classify the purpose of any MT message as either transactional or promotional.
-
Transactional messages
Transactional messages are intended for informational use cases, such as delivery notifications. You can send transactional messages to end users at any time of day. Sending marketing or promotional messages as "transactional" is not allowed.
-
Promotional messages
Promotional messages are intended for any marketing or promotional use cases. You can deliver these messages to end users only between 9:00 a.m. and 9:00 p.m. India time. If you submit promotional messages to OpenMarket outside of this period, we will queue the messages to the next allowable time.
The interaction type for India messaging is always one-way. This is regardless of whether your use case is two-way.
For two–way messaging, contact your account manager to provision a virtual mobile number (VMN) to use for India. Recipients of your MT messages can use your VMN to reply to your MT messages. Since a VMN is not supported as a source address (message originator) for either transactional or promotional MT messages in India, you must include the VMN in the message text.
Types of message originators you can use
In India you can set your source address as an alphanumeric string that is six characters long. You do not need to notify OpenMarket about the source addresses for promotional messages. Mobile operators in India replace the MT source address you provide with a random six-digit source address before the MT is sent to the end user.
You can have a VMN for receiving MO messages; however, in MT messages always include this in the message text as well as setting it in the source address, as an operator may still change the MT source address with a random six-digit number.
Example request
The example request shows promotional in the request. This is an optional value, as it does have a default of false. You should also set interaction to one-way.
If you expect replies back from the end users, make sure you include your VMN in the message text.
JSON request
{
"mobileTerminate" : {
"interaction": "one-way",
"promotional": "true",
"destination": {
"address": "919000000000"
},
"source": {
"ton": 5,
"address": "ABCDEF"
},
"message": {
"content": "This is a text message!",
"type": "text"
},
"delivery": {
"receiptRequested": "final",
"url": "https:my.example.com/receiver.php"
}
}
}
XML request
<?xml version="1.0" encoding="UTF-8"?>
<mobileTerminate interaction="one-way" promotional="true" xmlns="https://sms.openmarket.com/v4/mt">
<destination address="919000000000" />
<source ton="5" address="ABCDEF" />
<message type="text">
<content>This is a text message!</content>
</message>
<delivery receiptRequested="final" url="https:my.example.com/receiver.php" />
</mobileTerminate>