Sending SMS using HTTP XML Print

  • 27

With this guide, it is possible to send SMS messages to a number of recipients using XML-formatted data send to a corresponding URL.

The URL used to post XML formated data is:

XML

There are two ways of formatting the XML string, with custom or System generated message id.

With system generated message IDWith custom message ID
 XML=
<SMS>
<authentication>
<username>account_username</username>
<password>account_password</password>
</authentication>
<message>
<sender>Your_SenderID</sender>
<text>Hello</text>
<flash></flash> 1
<type></type>
<wapurl></wapurl>
<binary></binary>
<datacoding></datacoding>
<esmclass></esmclass>
<srcton></srcton>
<srcnpi></srcnpi>
<destton></destton>
<destnpi></destnpi>
<sendDateTime>4d3h2m1s</sendDateTime>
<ValidityPeriod></ValidityPeriod>
<appid></appid>
<pushurl></pushurl>
<nopush></nopush>
<recipients>
<gsm>38595111111</gsm>
<gsm></gsm>
<gsm></gsm>
<gsm></gsm>
</recipients>
</message>
</SMS>
 XML=
<SMS>
<authentication>
<username>account_username</username>
<password>account_password</password>
</authentication>
<message>
<sender>Your_SenderID</sender>
<text>Hello</text>
<flash></flash>1
<type></type>
<wapurl></wapurl>
<binary></binary>
<datacoding></datacoding>
<esmclass></esmclass>
<srcton></srcton>
<srcnpi></srcnpi>
<destton></destton>
<destnpi></destnpi>
<sendDateTime>4d3h2m1s</sendDateTime>
<ValidityPeriod></ValidityPeriod>
<appid></appid>
<pushurl></pushurl>
<nopush></nopush>
<recipients>
<gsm messageId="clientmsgID1">38595111111</gsm>
<gsm messageId="clientmsgID2">38595222222</gsm>
<gsm messageId="clientmsgID3">38595333333</gsm>
<gsm messageId="clientmsgID4">38595444444</gsm>
</recipients>
</message>
</SMS>

Parameters specifications

ParameterDescriptionRequired
username Client username for system login Yes
password Client password for system login Yes
sender Dynamic message sender ID
Alphanumeric string: max length 11 characters
Numeric string: max length 14 characters
No
text Message body (at the moment 160 characters) Yes
flash Can be "0" or "1"
0 sends a normal SMS
1 sends Flash SMS
 No
 type Optional parameter:
To send WAP bookmarks: value has to be set "bookmark"
To send concatenated SMS: value has to be set to "longSMS" (for text messages only)
To send notification SMS: value has to be set to "nSMS"
No
 wapurl WAP Push content.
Example: www.enetonlinesolutions.net/1.jpg
No
 binary Binary content, using hexadecimal format
Example: 410A0D4243
Cannot be used together with "text" parameter
No
 datacoding Data coding parameter
Default value: 0
Example: 8(Unicode data)
No
Esmclass "Esm_class" parameter
Default value: 0
No
Srcton Source - ton parameter 2 No
 Srcnpi Source - npi parameter 3  No
 Destton  Destination - ton parameter 4  No
 Destnpi Destination - npi parameter 5  No
 ValidityPeriod ValidityPeriod patter: HH:mm
Valid period longer than 48h is not supported (it will be automatically set to 48h in that case).
No
sendDateTime Used for scheduled SMS (SMS not sent immediately but at scheduled time).
"4d3h2m1s" means that message will be sent 4 days, 3 hours, 2 minutes and 1 second from now.
You are allowed to use any combination and leave out unnecessary variables.
No
appid If value is not received all DLR-s without appid will be sent when client send pull request with no appid sepcified. If value is received only DLR-s with given appid will be delivered when client pulls reports for that appid. No
pushurl* If valu is not received or received value is "nopush" all DLR-s without pushurl will be pushed to default URL set for your account. If value is received DLR is sent to the given URL (send as pushurlvalue), rather than to the default one set for your account. No
nopush If value is delivered or received value is "0" all DLR-s with nopush=0 will be pushed, as usual. If value is received and the receivd value is "1" all DLR-s with nopush=1 will be pushed and will be available for pull. No
GSM Message destination address, must be in international format; without leading "0" or "+"
Example: 254722123456
No
GSM messageId = "clientmsgID" Registered delivery - "messageID" set by client No

* Pushurl and nopush combiantions: If pushurl value is not empty and nopush = 0, DLR will be pushed. If pushurl value is not empty and nopush=1 DLR will not be pushed.

Return XML

After the POST XML is initiated by the client, some response codes will be available.

Successful XML response

With system generated message IDWith custom message ID
<?xml version="1.0" encoding="UTF-8"?>
<results>
<result>
<status>0</status>
<messageid>MessageId</messageid>
<destination>38595111111</destination>
</result>
</results>
<?xml version="1.0" encoding="UTF-8"?>
<results>
<result>
<status>0</status>
<messageid>clientmsgID1</messageid>
<destination>38595111111</destination>
</result>
<status><0</status>
<messageid>clientmsgID2</messageid>
<destination>38595222222</destination></result>
</results>

Unsucessful or partially unsuccessful response

With system generated message IDWith custom message ID
<?xml version="1.0" encoding="UTF-8"?>
<results>
<result>
<status>-13</status>
<messageid></messageid>
<destination>000000000000</destination>
</result>
</results>
<?xml version="1.0" encoding="UTF-8"?>
<results>
<result>
<status>0</status>
<messageid>clientmsgID1</messageid>
<destination>38595111111</destination>
</result>
<result><-13</status>
<messageid>clientmsgID2</messageid>
<destination>000000000000</destination></result>
</results>

Was this answer helpful?

« Back