While you can update all the parameters of a campaign that has not started. For a campaign that is in progress you can 'pause' or 'resume' or 'mark as completed' specified by the parameter below. Additionally, any completed campaign can be marked as 'archived'.
https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/message-campaigns/<id>
Replace <your_api_key>
and <your_api_token>
with the API key and token created by you. Similarly, replace <your_sid>
with your “Account sid” value. These values are available in the API settings page of your Exotel Dashboard. Replace <id>
with the campaign id.
This API only supports a JSON response.
Parameter Name |
Type & Value |
action |
A parameter which can control the action of a created campaign. The below values (string) can be passed:
|
curl --location --request PUT 'https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/message-campaigns/<id>' --header 'content-type: application/json' --data-raw '{ "action":"archive" }'
var request = require('request'); var options = { 'method': 'PUT', 'url': 'https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/message-campaigns/<id>', 'headers': { 'content-type': 'application/json' }, body: JSON.stringify({ "action": "archive" }) }; request(options, function (error, response) { if (error) thrownewError(error); console.log(response.body); });
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://%3Cyour_api_key%3E:%3Cyour_api_token%3E%3Csubdomain%3E/v2/accounts/%3Cyour_sid%3E/message-campaigns/%3Cid%3E', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_POSTFIELDS =>'{ "action":"archive" }', CURLOPT_HTTPHEADER => array( 'content-type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
import requests import json url = "https://<your_api_key>:<your_api_token><subdomain>/v2/accounts/<your_sid>/message-campaigns/<id>" payload = json.dumps({ "action": "archive" }) headers = { 'content-type': 'application/json' } response = requests.request("PUT", url, headers=headers, data=payload) print(response.text)
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://%3Cyour_api_key%3E:%3Cyour_api_token%3E%3Csubdomain%3E/v2/accounts/%3Cyour_sid%3E/message-campaigns/%3Cid%3E" method := "PUT" payload := strings.NewReader(`{ "action":"archive" }`) client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("content-type", "application/json") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
{ "request_id": "cb8733a7c65a4a8586d6d4e8a3357088", "method": "PUT", "http_code": 200, "response": { "code": 200, "status": "success", "data": { "name": "camp1", "content_type": "static", "sid": "90dad70b939f469fbf8b801660148272", "account_sid": "Exotel", "lists": [ "f2284e77ea5a4224911251b08f861af2" ], "schedule": { "start_time": "2022-08-10T21:57:00+05:30", "end_time": "2022-09-09T21:57:00+05:30" }, "status_callback": null, "sms_status_callback": "https://www.test-campaign.com", "status": "archived", "report_url": "https://exotelreports.s3.ap-southeast-1.amazonaws.com/sms-campaign-report/account_sid=Exotel/_timestamp=1660170935/8220cbfd56b04f3db7d885316158fc1f.csv", "dlt_template_id": "1107160016142600511", "dlt_entitiy_id": "1101428740000012125", "sender_id": "EXOTEL", "channel": "SMS", "sms_type": "transactional", "template": "12345 is your One Time Password (OTP) for logging into Exotel dashboard.", "estimated_cost": 0.17, "date_created": "2022-08-10T21:47:52+05:30", "date_updated": "2022-08-19T12:21:34+05:30", "stats": { "scheduled": 0, "submitted": 0, "failed": 0, "failed-dnd": 0, "invalid": 0, "failed-no-attempt": 0, "sent": 1, "failed-expired": 0, "failed-no-balance": 0 } } } }