Track Campaigns on Exotel's dashboard

Suppose you send an SMS campaign via Exotel, you can monitor the statistics of the campaign right there in the Campaigns page. Like this:



Track Campaigns at your server

However, if you want to automate this and/or integrate this information with your own CRM, then you can do the following:

  1. While creating an SMS campaign, you can optionally specify a Status Callback URL. 
  2. For each phone number in the campaign, our server will make a HTTP POST request to this URL with the POST parameters
  • SmsSid - this is a unique identifier of an individual SMS
  • To - the phone number the SMS was sent to
  • Status - this is the delivery status of the SMS. This can be one of 
    • "sent" => the SMS was successfully delivered to the recipient
    • "failed-dnd" => the delivery of the SMS failed because the number belongs to the TRAI NCPR list
    • "failed" => the delivery of the SMS failed because of other reasons (ex, number not reachable, switched off, etc.)

How to identify which campaign a Status callback is for?
The Status Callback URL that you specify (in Step-1 above) itself can contain different query parameters to help your system identify what campaign is to be tracked. For example, the Status Callback URL can be something like 

Since Exotel will make a HTTP POST request to the above URL, your web application receiving the HTTP request can strip out the campaignid query parameter and identify which campaign the status callback belongs to.