(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.data-privacy-src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TT9ZP96');

Knowledge Base

Send SMS API

sendSMS

Synopsis

This API function sends an SMS containing text from the specified account and shortcode to a recipient’s mobile number. If “Enforce Campaign Check” is turned ON, then this function will require the campaign reference ID of the messaging campaign that the recipient’s phone number is subscribed into to be passed inside the campaignref node.

Request: XML

<REQUEST>
    <ACTION>sendSMS</ACTION>
    <API_KEY>apiKey</API_KEY>
    <OPERATORID>OPERATORID</OPERATORID>
    <TO>Recipient phone number</TO>
    <FROM>shortcode</FROM>
    <CAMPAIGNREF>CampaignReferenceID</CAMPAIGNREF>
    <TEXT>SMS Text message text</TEXT>
</REQUEST>

Request Parameters

Term Mandatory/Optional Description
ACTION Mandatory This is the name of the function you want to execute with the API.
API_KEY Mandatory Random key that is assigned to an account that can be used for authorization instead of USER/PASS. You can find and regenerate this key on the ‘API Settings’ page.
CAMPAIGNREFMandatory if “Enforce Campaign Check” IS enabled. Optional otherwise. Depending on your API settings, you may be required to subscribe users to a campaign first before sending them messages. If you are required to subscribe to a user first, then a valid Campaign Reference is required. This would be the campaign reference ID (string) to which the user is subscribed.
FROM Mandatory A valid shortcode or longcode for the sender address(string). When sending to a list of many numbers using the ‘sendSavedContent’ function and if the ‘FROM’ value cannot be used for a certain country, then the system will re-write the sender address to use a valid shortcode for those numbers.
TEXT Mandatory The SMS message limit is 160 characters(string).
TO Mandatory This is the message recipient’s phone number in an international format.
OPERATORID Optional Carrier ID for the Phone Number

Response Parameters

Param NamePresenceDescription
STATUSAlways“Success” or “Failure”.
TRACKINGIDSuccess response only Transaction ID for the request. Use it to match the postbacks received for this API request.
TOAlwaysDestination phone number with country code.
ERRORCODEError response onlyError code associated with the error.
ERRORINFOError response onlyError message explaining the error code.

Request Example: XML

<REQUEST>
    <ACTION>sendSMS</ACTION>
    <API_KEY>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</API_KEY>
    <TO>11111111111</TO>
    <FROM>00000</FROM>
    <CAMPAIGNREF>Campaign123</CAMPAIGNREF>
    <TEXT>Hello Jerry, Greetings from Marc</TEXT>
</REQUEST>

Response Example: Success

<RESPONSE>
    <STATUS>Success</STATUS>
    <TRACKINGID>xxxxxxxxxxxx</TRACKINGID>
    <TO>11111111111</TO>
 </RESPONSE>

Response Example: Failure

<RESPONSE>
    <STATUS>Failure</STATUS>
    <ERRORCODE>E713</ERRORCODE>
    <ERRORINFO>There is billing problem on your account</ERRORINFO>
    <TO>11111111111</TO>
</RESPONSE>

Postback Notification

When the SMS is sent we will generate a Postback notification. When we get an SMS delivery receipt we will generate another Postback notification. Not all carriers provide SMS delivery receipts. For more details please visit the SMS MT Delivery Status section of the Delivery Report Postback documentation.

General Error Codes

CodeDescription
E100Invalid request. Make a valid request via GET/POST/XML with all the required variables.
E104User Authentication Failed.
E105This account has no API rights.
E106You can call API every X seconds.
E107This account has no rights to use this action.
E108XML Parse error: $error.
E109API not activated.
E112IP was not whitelisted. API call rejected.
E113Set throughput exceeded for this API action. API call rejected.
E114Phone number is blacklisted. API call rejected.
E120Account has reached the API request limit.
E503Internal error.
CodeDescription
E110Invalid receiver number.
E111Invalid Sender.
E111Invalid Sender to $country-name.
E628Operator Not supported.
E712The ‘text’ is required.
E713There is billing problem on your account.
E715Number is not subscribed in this campaign
E718The ‘campaignref’ is required
E721Invalid campaignref
Go to Top