This API will send an SMS to the specified To number. To send an SMS through our API, you will need to make a HTTP POST request

* From

Specify one of your ExoPhone or Sender ID (header) linked to it.

ExoPhone: From = ‘080XXXXXX’
Transactional Sender ID: From = ‘EXOTEL’ (If linked to your ExoPhone)
Promotional Numeric Sender ID: From = ‘600XXX’ (If linked to your ExoPhone)

* To

Mobile number to which SMS has to be sent. Preferably in E.164 format. If not set, our system will try to match it with a country and route the SMS

* Body

Content of your SMS; Max Length of the body cannot exceed 2000 characters
To avoid SMS failure, make sure this exactly matches with SMS template added on Exotel Dashboard and is registered with operator DLT portal in case of India.

* EncodingType

Message type of SMS; plain or unicode

* Priority

Priority of the SMS; normal or high. Priority=high parameter should only be used for OTP SMSes (Bank or Delivery). Using it for any other SMS may impact your delivery.

* StatusCallback

Once SMS reaches terminal state (sent/failed/failed_dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is application/x-www-form-urlencoded

Below are the parameters:

SmsSid – The Sid (unique id) of the SMS that you got in response to your request

To – Mobile number to which SMS was sent

Status – One of: queued, sending, submitted, sent, failed_dnd, failed

SmsUnits – The number of  SMS units being sent

DetailedStatus – Human readable word that explains what happened to the message 

DetailedStatusCode – Exotel’s Detailed Status code corresponding to the DetailedStatus 

DateSent – Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recipient.

CustomField – The custom field that was set in the POST request. (Will be returned only if it was set)


* DltEntityId

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. This is mandatory to be passed in API or configured on Dashboard for SMSes towards Indian destination  (Learn More about DLT)

* DltTemplateId

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

* SmsType

This optional parameter can be used to skip template addition on Exotel Dashboard and configure SMS type based on the template registered on DLT in India. 

Possible values-

transactional (OTP or Service Implicit content)

transactional_opt_in (Service Explicit content)

promotional (Promotional content with numeric header)

If not set or incorrectly passed, Exotel will look up if content matches Templates added on Exotel for fetching SMS Type and DLT details.

* CustomField

Set a Custom Field relevant to your use case while sending an SMS. E.g Order ID, Payment ID, Login Attempt etc

Response Content Type