Creates an authentication token for the specified entity - customer or app. The token can be used to authenticate future requests to the integrations platform. The entity id and secret are required to create the token.
https://integrationscore.mum1.exotel.com/v2/integrations/token
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter Name | Mandatory/Optional | Description |
Id | Mandatory | Id of the entity - customer/app |
Secret | Mandatory | Secret of the entity - customer/app |
Entity | Mandatory | Entity - customer/app |
Note that token generated will get expired after 90 days.
curl --location --request POST 'https://integrationscore.mum1.exotel.com/v2/integrations/token' \ --header 'Content-Type: application/json' \ --data-raw '{ "Id": {{id}}, "Secret": {{secret}}, "Entity": "customer/app" }'
{ "RequestId": "f4f76061-3c01-410e-be49-55a17049cf35", "Status": "Success", "Code": 200, "Error": "", "Data": "OTlmYTk4YTEtMmNlMC00NTdjLTkzNzEtMGQzYTAxZWI2ZWYw" }
The status codes are as follows -
Status Code |
Description |
200 |
Token created successfully. |
400 |
Bad request. Check the input parameters. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue creating the token. |
Retrieves details of the customer associated with the provided Authorization (token) using entity as "customer".
https://integrationscore.mum1.exotel.com/v2/integrations/customer
You can use our official postman collection to try out the APIs.
Description of the request parameter:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token. using entity=customer |
curl --location --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/customer' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "01906552-dd91-4359-a184-739870991fa9", "Status": "Success", "Code": 200, "Error": "", "Data": { "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "CustomerSecret": "5b8215f7-8595-42c0-9b63-404bcc474f94", "CustomerName": "Temp Name", "Email": "temp.mail@company.in", "CustomerSetting": null, "CreatedAt": "2023-03-23T09:36:26+05:30", "UpdatedAt": "2023-03-23T09:36:26+05:30", "DeletedAt": false } }
Status code are as follows-
Status Code |
Description |
200 |
Request successful. Customer details retrieved. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue getting the customer. |
This API allows a customer to be deleted by passing the Authorization (token) in the request Header. Once deleted this action cannot be reversed.
https://integrationscore.mum1.exotel.com/v2/integrations/customer
You can use our official postman collection to try out the APIs.
The following are the parameter details :
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=customer |
curl --location --request DELETE 'https://integrationscore.mum1.exotel.com/v2/integrations/customer' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "f940efa6-349e-45e1-a298-de24f9a6e1a5", "Status": "Success", "Code": 200, "Error": "", "Data": "Deleted Successfully" }
Status code are as follows-
Status Code |
Description |
200 |
Customer deleted successfully. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue deleting the customer. |
The API endpoint allows registering a new application under a customer account.
https://integrationscore.mum1.exotel.com/v2/integrations/app
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=customer |
Parameter |
Type |
Required |
Description |
AppName |
String |
Yes |
Application name |
ExotelAccountSid |
String |
Yes |
Account Id provided by exotel dashboard |
ExotelApiKey |
String |
Yes |
Api Key provided by exotel dashboard |
ExotelApiToken |
String |
Yes |
Api Token provided by exotel dashboard |
ExotelDomain |
String |
Yes |
Domain provided by exotel dashboard. (Singapore/Mumbai) |
IsActive |
boolean |
Yes |
Is application be ready for calling |
curl --location --request POST 'https://integrationscore.mum1.exotel.com/v2/integrations/app' \ --header 'Authorization: NmUxNGIyN2ItY2YzYy00MzRhLThlNzItYWNjMWFiNWQzY2Vi' \ --header 'Content-Type: application/json' \ --data-raw '{ "AppName" : {{AppName}}, "ExotelAccountSid": {{ExotelAccountSid}}, "ExotelApiKey": {{ExotelApiKey}}, "ExotelApiToken": {{ExotelApiToken}}, "ExotelDomain": {{ExotelDomain}}, "IsActive": true }'
{ "RequestId": "2405acfd-1ad3-486b-92d5-233965d8c204", "Status": "Success", "Code": 200, "Error": "", "Data": { "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppSecret": "61b1f4c2-30d5-4819-9a5c-006ed9784313", "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppName": "WebRTC", "ExotelAccountSid": "abc", "ExotelApiKey": "wefwejfoiweuiof", "ExotelApiToken": "wefwejfoiweuiof", "ExotelDomain": "mumbai", "IsActive": true, "CreatedAt": "2023-03-23T11:47:46+05:30", "UpdatedAt": "2023-03-23T11:47:46+05:30" } }
Status codes are as follows -
Status Code |
Description |
200 |
Application created successfully. |
400 |
Bad request. Check the input parameters. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue creating the application. |
This API allows you to get app details by AppId.
https://integrationscore.mum1.exotel.com/v2/integrations/app
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Query Params:
Parameter |
Type |
Required |
Value |
entity |
String |
Yes |
app |
curl --location --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/app?entity=app' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "c0897a32-372e-4f82-ac18-eaa2d3451d52", "Status": "Success", "Code": 200, "Error": "", "Data": { "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppName": "WebRTC", "ExotelAccountSid": "abc", "ExotelDomain": "mumbai", "IsActive": true, "CreatedAt": "2023-03-23T11:47:46+05:30", "UpdatedAt": "2023-03-23T11:47:46+05:30" } }
Status codes are as follows -
Status Code |
Description |
200 |
Application get successfully. |
400 |
Bad request. Check the input parameters. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue getting the application. |
This API endpoint retrieves a list of applications registered under a customer account.
https://integrationscore.mum1.exotel.com/v2/integrations/app
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=customer |
Query Params:
Parameter |
Type |
Required |
Value |
entity |
String |
Yes |
customer |
curl --location --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/app?entity=customer' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "1b13a16a-ad03-443e-83e7-0bb1b9297578", "Status": "Success", "Code": 200, "Error": "", "Data": [ { "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppName": "WebRTC", "ExotelAccountSid": "abc", "ExotelDomain": "mumbai", "IsActive": true, "CreatedAt": "2023-03-23T11:47:46+05:30", "UpdatedAt": "2023-03-23T11:47:46+05:30" } ] }
Status codes are as follows -
Status Code |
Description |
200 |
Application get successfully. |
400 |
Bad request. Check the input parameters. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue getting the application. |
Deletes the specified application entity.
https://integrationscore.mum1.exotel.com/v2/integrations/app
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
curl --location --request DELETE 'https://integrationscore.mum1.exotel.com/v2/integrations/app' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "0e8beb2c-5682-4718-a4ba-b3b7aa2d3c72", "Status": "Success", "Code": 200, "Error": "", "Data": "Deleted Successfully" }
Status codes are as follows -
Status Code |
Description |
200 |
App deleted successfully. |
401 |
Unauthorized. Check the entity id and secret. |
500 |
Internal server error. There was an issue deleting the App. |
Add new setting configuration related to app.
https://integrationscore.mum1.exotel.com/v2/integrations/app_setting
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Field |
Type |
Required |
Description |
Key |
String |
Yes |
config key |
Value |
String |
Yes |
config value |
Key Name | Description |
popup | Use this key whenever you'd like your application to display pop-up notifications for incoming calls. |
incomingCallHangup |
Use this key whenever you'd like your application to know that the call ended successfully |
missedCall |
Use this key whenever you'd like your application to receive missed call notification |
callback | Use this key whenever you'd like your application to receive statuscallback for an outbound call |
record |
Set this value to "true" if you'd like to record the outbound calls. Default value is false. Note - To record inbound calls, you can check the "record call" option in the connect applet of the inbound flow. |
streaming |
url that supports webSocket where audio will be streamed. Example - "wss://streamhandler.yourdomain.com" If this value is not set, calls through this application will not be streamed. |
playback |
URL for the audio to be played just before the call gets connected. If this value is not set, the operator tune will be played to the agent. |
A sample Key and Value is defined in the below Example request.
curl --location --request POST 'https://integrationscore.mum1.exotel.com/v2/integrations/app_setting' \ --header 'Authorization: {{AuthCode}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "Key": "popup", "Value" : "https://webhook.site/" }'
{ "RequestId": "43a4833c-3698-4e70-8ea0-02ca8d71c362", "Status": "Success", "Code": 200, "Error": "", "Data": { "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "Key": "callback", "Value": "https://webhook.site/a4089342-b169-451d-a84d-c588856641a3" } }
Status codes are as follows -
200 |
App Setting added successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue adding the App setting. |
Get new setting configuration related to app.
https://integrationscore.mum1.exotel.com/v2/integrations/app_setting
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Parameter |
Type |
Required |
Description |
Key |
String |
Yes |
config key. |
curl --location -g --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/app_setting?key={{configKey}}' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "43a4833c-3698-4e70-8ea0-02ca8d71c362", "Status": "Success", "Code": 200, "Error": "", "Data": { "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "Key": "callback", "Value": "https://webhook.site/a4089342-b169-451d-a84d-c588856641a3" } }
Status codes are as follows -
200 |
App Setting added successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue adding the App setting. |
Get new setting configuration related to app.
https://integrationscore.mum1.exotel.com/v2/integrations/app_setting
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
curl --location --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/app_setting' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "43a4833c-3698-4e70-8ea0-02ca8d71c362", "Status": "Success", "Code": 200, "Error": "", "Data": [ { "CustomerID": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "Key": "callback", "Value": "https://webhook.site/a4089342-b169-451d-a84d-c588856641a3" } ] }
Status codes are as follows -
200 |
App Setting added successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue adding the App setting. |
Delete app setting
https://integrationscore.mum1.exotel.com/v2/integrations/app_setting
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Body:
Parameter |
Type |
Required |
Description |
Key |
String |
Yes |
config key. |
curl --location -g --request DELETE 'https://integrationscore.mum1.exotel.com/v2/integrations/app_setting?key={{configKey}}' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "c6539add-273a-4bed-8adf-c91a00a3e04b", "Status": "Success", "Code": 200, "Error": "", "Data": "Deleted Successfully" }
Status codes are as follows -
Status Code |
Description |
200 |
App Setting Deleted successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue deleting the App setting. |
Add users under specific applications; users who can use the calling facility.
https://integrationscore.mum1.exotel.com/v2/integrations/usermapping
You can use our official postman collection to try out the APIs.
The following are the POST parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
List of users
Parameter |
Type |
Required |
Description |
AppUserId |
string |
Yes |
ID of the application user |
AppUsername |
string |
Yes |
Name of the application user 'FirstName LastName', both length should be grater than 3. |
|
string |
Yes |
Email of the application user |
ExotelAccountSid |
string |
Yes |
Account Sid of the Exotel Account |
ExotelUserName |
string |
Yes |
Name of the application user 'FirstName LastName', both length should be grater than 3. |
AgentNumber |
string |
Optional |
Agent Number of the Exotel Account User |
VirtualNumber |
string |
Yes |
Virtual Number associated with the Exotel Account |
curl --location --request POST 'https://integrationscore.mum1.exotel.com/v2/integrations/usermapping' \ --header 'Authorization: {{AuthCode}}' \ --header 'Content-Type: application/json' \ --data-raw '[ { "AppUserId": "123", "AppUsername": "ABC", "Email": "xyz@exotel.in", "ExotelAccountSid": {{ExotelAccountSid}}, "ExotelUserName": "ABC XYZ", "AgentNumber": "956190****", "VirtualNumber": "0113512****" }
{ "RequestId": "5002f634-05d9-45b9-9faf-431f980a25d5", "Status": "Success", "Code": 200, "Error": "", "Data": [ { "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppUserId": "1", "ExotelAccountSid": "exoteldemo", "ExotelUserId": "fasdfdsf", "AppUsername": "user1 name", "ExotelUserName": "Temp Name", "AgentNumber": "9234567890", "ActiveDeviceId": "", "PhoneDeviceID": "057", "SipDeviceID": "9012", "VirtualNumber": "9876543210" "Email": "user@example.com", "OutboundActive": false, "Role": "admin", "SipId": "sip:a4343j", "SipSecret": "werewrweff", "IsActive": true, "UserDetail": null, "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }, { "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppUserId": "2", "ExotelAccountSid": "exoteldemo", "ExotelUserId": "fasdfdsf", "AppUsername": "user2 name", "ExotelUserName": "Temp Name", "AgentNumber": "9234567890", "ActiveDeviceId": "", "PhoneDeviceID": "057", "SipDeviceID": "9012", "VirtualNumber": "9876543210" "Email": "user@example.com", "OutboundActive": false, "Role": "admin", "SipId": "sip:a4343j", "SipSecret": "werewrweff", "IsActive": true, "UserDetail": null, "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" } ] }
Status codes are as follows -
Status Code |
Description |
200 |
App users added successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue adding users. |
This API allows you to get all the user details by AppId, and by AppUserId if passed in the query params.
https://integrationscore.mum1.exotel.com/v2/integrations/usermapping
You can use our official postman collection to try out the APIs.
The following are the parameters:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Parameter |
Type |
Required |
Description |
user_id |
String |
Optional |
Pass this field if you want to get user details by AppUserId. |
curl --location -g --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/usermapping?user_id={{userId}}' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "5002f634-05d9-45b9-9faf-431f980a25d5", "Status": "Success", "Code": 200, "Error": "", "Data": { "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppUserId": "1", "ExotelAccountSid": "ACXXXXXXXXXXX", "ExotelUserId": "fasdfdsf", ""AppUsername": "example user", "ExotelUserName": "Temp Name", "AgentNumber": "1234567890", "ActiveDeviceId": "", "PhoneDeviceID": "057", "SipDeviceID": "9012", "VirtualNumber": "9876543210" "Email": "user@example.com", "OutboundActive": false, "Role": "admin", "SipId": "sip:a4343j", "SipSecret": "*****", "IsActive": true, "UserDetail": null, "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" } }
Status codes are as follows -
Status Code |
Description |
200 |
App users get successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue getting users. |
Delete all the users under an application. Once deleted this action cannot be reversed.
https://integrationscore.mum1.exotel.com/v2/integrations/usermapping
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
curl --location --request DELETE 'https://integrationscore.mum1.exotel.com/v2/integrations/usermapping' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "5002f634-05d9-45b9-9faf-431f980a25d5", "Status": "Success", "Code": 200, "Error": "", "Data": "Deleted Successfuly" }
Status codes are as follows -
Status Code |
Description |
200 |
App users deleted successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue deleting users. |
Use this API to delete users by AppUserId. Once deleted this action cannot be reversed.
https://integrationscore.mum1.exotel.com/v2/integrations/users/{{AppUserID}}
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
curl --location --request DELETE 'https://integrationscore.mum1.exotel.com/v2/integrations/users/{{AppUserID}}' \ --header 'Authorization: {{AppToken}}'\ --header 'Content-Type: application/json' '
{ "RequestId": "5002f634-05d9-45b9-9faf-431f980a25d5", "Status": "Success", "Code": 200, "Error": "", "Data": "Deleted Successfuly" }
Status codes are as follows -
Status Code |
Description |
200 |
User deleted successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue getting users. |
Get specific number of users under an application using pagination.
https://integrationscore.mum1.exotel.com/v2/integrations/usermapping
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Query params:
Parameter |
Type |
Required |
Description |
last_value |
Integer |
Optional |
It required for next page value, gather from previous page. Default value: 0 |
page_size |
Integer |
Optional |
Default size 20. |
curl --location -g --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/usermapping?last_value={{optional}}&page_size={{optional}}' \ --header 'Authorization: {{AuthCode}}'
{ "RequestId": "875cf137-90f9-4ed2-93ef-6be226d0af85", "Status": "Success", "Code": 200, "Error": "", "Data": { "Users": [ { "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppUserId": "1", "ExotelAccountSid": "abc", "ExotelUserId": "fasdfdsf", "AppUsername": "Temp Name", "ExotelUserName": "Temp Name", "AgentNumber": "+0000000000", "ActiveDeviceId": "", "PhoneDeviceID": "057", "SipDeviceID": "9012", "VirtualNumber": "01135124165", "Email": "temp.user@company.in", "OutboundActive": false, "Role": "admin", "SipId": "sip:a4343j", "SipSecret": "b*5#TGC$2!r&s#X2H1Rt", "IsActive": true, "UserDetail": null, "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }, { .... }, .... ], "PageSize": 20, "LastEvaluatedValue": "21" } }
Status codes are as follows -
Status Code |
Description |
200 |
App users get successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue getting users. |
It allows agents to turn off phones or sip devices to not receive any new calls. It also allows you to toggle between both sip and phone device.
https://integrationscore.mum1.exotel.com/v2/integrations/device
You can use our official postman collection to try out the APIs.
The following are the parameters:
Header:
Parameter |
Type |
Required |
Description |
Authorization |
String |
Yes |
Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token entity=app |
Body:
Parameter |
Type |
Required |
Description |
UserId |
String |
Yes |
UserId |
DeviceName |
String |
Optional |
Device name required while turning on device. phone: turn on phone to receive call on phone. sip: receive call on web. |
DeviceStatus |
boolean |
Optional |
true, false |
curl --location --request PUT 'https://integrationscore.mum1.exotel.com/v2/integrations/device' \ --header 'Authorization: {{AuthCode}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "UserId": "1", "DeviceName": "phone", "DeviceStatus": true }'
{ "RequestId": "ebf58ac4-fea1-4cd3-bf88-ffae7b8539a4", "Status": "Success", "Code": 200, "Error": "", "Data": { "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppID": "2e6440ed-ff62-49d7-bb00-5494b313a863", "AppUserId": "1", "ExotelAccountSid": "abc", "ExotelUserId": "fasdfdsf", "AppUsername": "Temp Name", "ExotelUserName": "Temp Name", "AgentNumber": "+0000000000", "ActiveDeviceId": "", "PhoneDeviceID": "057", "SipDeviceID": "9012", "VirtualNumber": "01135124165", "Email": "temp.user@company.in", "OutboundActive": false, "Role": "admin", "SipId": "sip:a4343j", "SipSecret": "b*5#TGC$2!r&s#X2H1Rt", "IsActive": true, "UserDetail": null, "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" } }
Status codes are as follows -
Status Code |
Description |
200 |
App users get successfully. |
401 |
Unauthorized. Check the entity id and secret. |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue getting users. |
It allows users to get a notification on their dashboard screen, whenever any Incoming call comes to their customer-facing Exotel number.
https://integrationscore.mum1.exotel.com/v2/integrations/call/inbound_call/{appId}?type={}
You can use our official postman collection to try out the APIs.
Type | Purpose |
popup | To create notification for incoming call pop up |
incomingcallhungup | To create notification when the incoming call ends |
missedcall | To create notification for missed call |
A sample Type is defined in the below Example request.
curl --location -g --request GET 'https://integrationscore.mum1.exotel.com/v2/integrations/call/inbound_call/{appId}?type={popup}'
{ "RequestId": "5be38737-4a1c-4b29-9ede-b81ad2d702b6", "Status": "Success", "Code": 200, "Error": "", "Data": "Success" }
{ "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppId": "86fb2b8b-da8a-4649-a82c-db976b934c64", "CallSid": "7bea36f8c95f0fb10027daa6acee17c1", "ExotelAccountSid": "exotelveenotesting1m", "DialWhomNumber": "", "AppUserID": "ajay", "VirtualNumber": "+912235511457", "Direction": "inbound", "CallStatus": "", "CallState": "active", "ToNumber": "07251937261", "FromNumber": "08789489697", "TotalDuration": 0, "CallRecordings": "", "AccountDomain": "mumbai", "TicketId": "", "CallDetail": "recording_stop_success", "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }
{ "CustomerId": "4fbf5724-e6e3-4e40-bfc1-70d3ccf64618", "AppId": "37b4f1cc-26c7-4fa2-bcd2-c19dbd8099d6", "CallSid": "e282636aa9c373307bbd223f6eb417c4", "ExotelAccountSid": "exotel535", "DialWhomNumber": "sip:victor58e267c1", "AppUserID": "92099XXXX", "VirtualNumber": "080486XXXXX", "Direction": "incoming", "CallStatus": "free", "CallState": "", "ToNumber": "080386XXXXX", "FromNumber": "077708XXXX", "TotalDuration": 0, "CallRecordings": "", "AccountDomain": "Mumbai", "TicketId": "", "CallDetail": "", "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }
{ "CustomerId": "4fbf5724-e6e3-4e40-bfc1-70d3ccf64618", "AppId": "37b4f1cc-26c7-4fa2-bcd2-c19dbd8099d6", "CallSid": "e282636aa9c373307bbd223f6eb417c4", "ExotelAccountSid": "exotel535", "DialWhomNumber": "sip:victor58e267c1", "AppUserID": "92099XXXX", "VirtualNumber": "080486XXXXX", "Direction": "incoming", "CallStatus": "free", "CallState": "", "ToNumber": "080386XXXXX", "FromNumber": "077708XXXX", "TotalDuration": 0, "CallRecordings": "", "AccountDomain": "Mumbai", "TicketId": "", "CallDetail": "", "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }
Status codes are as follows -
Status Code |
Description |
200 |
Call Intimated successfully. |
401 |
Unauthorized |
400 |
Invalid parameters. |
500 |
Internal server error. There was an issue getting call. |
Whenever an Outbound call is made callback will be sent on the webhook url under AppSetting with the below details.
{ "CustomerId": "99fa98a1-2ce0-457c-9371-0d3a01eb6ef0", "AppId": "86fb2b8b-da8a-4649-a82c-db976b934c64", "CallSid": "7bea36f8c95f0fb10027daa6acee17c1", "ExotelAccountSid": "exotelveenotesting1m", "DialWhomNumber": "", "AppUserID": "ajay", "VirtualNumber": "+912235511457", "Direction": "outbound", "CallStatus": "", "CallState": "active", "ToNumber": "07251937261", "FromNumber": "08789489697", "TotalDuration": 0, "CallRecordings": "", "AccountDomain": "mumbai", "TicketId": "", "CallDetail": "recording_stop_success", "StartTime": "2023-12-04T23:02:19Z", "EndTime": "2023-12-04T23:02:19Z", "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }
Param | Description |
CallState |
|