For an SMS sent via Exotel SMS API, you can find out the delivery status of the SMS via two means:

 

A. PULL: You can pull the status by querying Exotel for the specific SMS that you sent. 

For this you need to make a GET request to SMS API


 https://<your_api_key>:<your_api_token>@<subdomain>/v1/Accounts/<ExotelSid>/SMS/Messages/<SmsSid> 

  • Replace <your_api_key> and <your_api_token> with the API key and token created by you. This can be found here: https://my.exotel.com/apisettings/site#api-credentials
  • Replace <your_sid> with your “Account sid
  • Replace <subdomain>with the region of your account
    • <subdomain> of Singapore cluster is api.exotel.com
    • <subdomain> of Mumbai cluster is api.in.exotel.com

Ex: curl "https://asd23df:abcdefgh@api.exotel.com/v1/Accounts/Exotel/SMS/Messages/4dd44cc0f7010ee43ca256126f3efc88"


 B. PUSH: You can have Exotel push the SMS status to you after the SMS reaches any terminal state (ie, "sent", "failed" or   "failed-dnd"). 

For this, you need to pass an additional parameter "StatusCallback" along with your other parameters (like 'From', 'To' and 'Body'). 


    => This parameter should be a URL that is hosted by you. Ex: http://example.com/

    => Exotel will make a POST request to the above URL with the following 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 - The date on which the message was sent
  • CustomField - The custom field that was set in the POST request. (Will be returned only if it was set)


If you have further queries, do not hesitate to reach out to us at hello@exotel.in or 08088-919-888. 

We are available 24/7 :)