This API helps update following parameters for several existing active GreenPin allocations in one go:
Although none of the above parameters are mandatory, at-least one of the parameters have to be passed as a mandate for each allocation that is attempted to be updated.
Please note that in the case of a partial success; due to a request error, you will be able to update all those allocations for which the request was syntactically and semantically correct.
Pricing: The Bulk Update API will be charged equivalent to that of a new allocation for every allocation that seeks to be updated, as per the price plan.
https://leadassist.exotel.in/v1/tenants/<your_sid>/greenpin
Replace <your_sid> with your tenant ID.
curl--location--request PUT 'https://<your_api_key>:<your_api_token>@leadassist.exotel.in/v1/tenants/<account_sid>/greenpin'\
--header 'Content-Type: application/json'\
--data - raw '{
"greenpins": [{
"greenpin_id": "GREENPIN_ID1",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"62XXXXXX64"
],
"numbers": [
"99XXXXXX25"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
},
{
"greenpin_id": "GREENPIN_ID2",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"629XXXXX64"
],
"numbers": [
"9XXXXXX625"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
}
]
}'
var request = require("request");
var accountSid = "XXXXXXXXX";
var accountToken = "YYYYYYYYY";
var authKey = "ZZZZZZZZZZ";
var encoding = Buffer.from(authKey + ':' + accountToken).toString('base64')
var options = {
method: 'PUT',
'url': 'https://leadassist.exotel.in/v1/tenants/'+accountSid+'/greenpin',
'headers': {
'Authorization': 'Basic'+ encoding,
'Content-Type': 'application/json'
},
body: JSON.stringify({"greenpins":[{"greenpin_id":"GREENPIN_ID1","a":{"vns":["62XXXXXX71","62XXXXXX64"],"numbers":["79XXXXXX44"],"pin":"123","pin_length":3},"b":{"vns":["62XXXXXX65","62XXXXXX64"],"numbers":["99XXXXXX25"],"pin":"234","pin_length":"3"},"usage":"twoway","deallocation_policy":{"duration":"1200s"}},{"transaction_id":"random_string","greenpin_id":"GREENPIN_ID2","a":{"vns":["62XXXXXX71","62XXXXXX64"],"numbers":["79XXXXXX44"],"pin":"123","pin_length":3},"b":{"vns":["62XXXXXX65","629XXXXX64"],"numbers":["9XXXXXX625"],"pin":"234","pin_length":"3"},"usage":"twoway","deallocation_policy":{"duration":"1200s"}}]})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
<?php
$curl = curl_init();
$accountSid = "XXXXXXXXXX";
$accountToken = "YYYYYYYYYY";
$authKey = "ZZZZZZZZZZ";
$encoding = base64_encode($authKey.
":".$accountToken);
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://leadassist.exotel.in/v1/tenants/' + $accountSid + '/greenpin',
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 => '{
"greenpins": [{
"greenpin_id": "GREENPIN_ID1",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"62XXXXXX64"
],
"numbers": [
"99XXXXXX25"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
},
{
"greenpin_id": "GREENPIN_ID2",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"629XXXXX64"
],
"numbers": [
"9XXXXXX625"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
}
]
}
',
CURLOPT_HTTPHEADER => array(
'Authorization: Basic ' + $encoding,
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests, base64, json
accountSid = "XXXXXXXXX"
authToken = "YYYYYYYYY"
authKey = "ZZZZZZZZZZ"
encoding = base64.b64encode(authKey + ":" + authToken)
url = "https://leadassist.exotel.in/v1/tenants/" + accountSid + "/greenpin"
payload = json.dumps({
"greenpins": [{
"greenpin_id": "GREENPIN_ID1",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"62XXXXXX64"
],
"numbers": [
"99XXXXXX25"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
},
{
"greenpin_id": "GREENPIN_ID2",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"629XXXXX64"
],
"numbers": [
"9XXXXXX625"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
}
]
})
headers = {
'Authorization': 'Basic ' + encoding,
'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers = headers, data = payload)
print(response.text)
package main
import (
b64 "encoding/base64"
"fmt"
"io/ioutil"
"net/http"
"strings"
)
func main() {
// Please provide accountSid, authToken from your Exotel account
accountSid := "XXXXXXXXX"
authToken := "YYYYYYYY"
authKey := "ZZZZZZZZZZ"
// Encoding the accountSid and authToken, used in Authorization header
encoding := b64.StdEncoding.EncodeToString([]byte(authKey + ":" + authToken))
url := "https://leadassist.exotel.in/v1/tenants/" + accountSid + "/greenpin/<greenpin_id>"
payload := strings.NewReader(`{
"greenpins": [
{
"greenpin_id": "GREENPIN_ID1",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"62XXXXXX64"
],
"numbers": [
"99XXXXXX25"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
},
{
"greenpin_id": "GREENPIN_ID2",
"a": {
"vns": [
"62XXXXXX71",
"62XXXXXX64"
],
"numbers": [
"79XXXXXX44"
],
"pin": "123",
"pin_length": 3
},
"b": {
"vns": [
"62XXXXXX65",
"629XXXXX64"
],
"numbers": [
"9XXXXXX625"
],
"pin": "234",
"pin_length": "3"
},
"usage": "twoway",
"deallocation_policy": {
"duration": "1200s"
}
}
]
}`)
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Basic "+encoding)
req.Header.Add("cache-control", "no-cache")
res, err := http.DefaultClient.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
HTTP Response:
{
"request_id": "b45f202x5a65f8712",
"method": "PUT",
"http_code": 207,
"metadata": {
"failed": 0,
"total": 2,
"success": 2
},
"response": [
{
"success": true,
"status": 200,
"code": null,
"message": null,
"data": {
"transaction_id": "random_string",
"greenpin_id": "ibitifda-c861-4bda-a024-9cef1ae2f2a8",
"a": {
"vns": [
"+91XXXXXX4471",
"+91XXXXXX4464"
],
"numbers": [
"+91XXXXXX6144"
],
"pin": "123"
},
"b": {
"vns": [
"+91XXXXXX4465",
"+91XXXXXX4464"
],
"numbers": [
"+9199XXXXXX25"
]
},
"usage": "twoway",
"state": "active",
"deallocation_time": "2020-03-27 12:17:09"
}
},
{
"success": true,
"status": 200,
"code": null,
"message": null,
"data": {
"transaction_id": "random_string",
"greenpin_id": "yabadan-c861-4bda-a024-9cef1ae2f2a8",
"a": {
"vns": [
"+9162XXXXXX71",
"+9162XXXXXX64"
],
"numbers": [
"+9179XXXXXX44"
],
"pin": "123"
},
"b": {
"vns": [
"+9162XXXXXX65",
"+9162XXXXXX64"
],
"numbers": [
"+9199XXXXXX25"
]
},
"usage": "twoway",
"state": "active",
"deallocation_time": "2020-03-27 12:17:09"
}
}
]
}