×

Create Authentication Token New

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.

POST

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

 

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"
}

Status Codes

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.


Get Customer detail for Applications New

Retrieves details of the customer associated with the provided Authorization (token) using entity as "customer".

GET

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 Codes

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.

 

Delete a 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.

DELETE

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 Codes

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.


Register new application under customer New

The API endpoint allows registering a new application under a customer account.

POST

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:

Header:

Parameter

Type

Required

Description

Authorization

String

Yes

Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token

entity=customer

 

Body:

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

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.

 

 

Get specific application detail

This API allows you to get app details by AppId. 

GET

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

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.

 

 

Get all application registered under same customer

This API endpoint retrieves a list of applications registered under a customer account.

GET

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

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.

 

Delete App

Deletes the specified application entity.

DELETE

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

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 New

Add new setting configuration related to app.

POST

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:

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

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 Setting with specific key

Get new setting configuration related to app.

GET

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

 

Query Params:

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

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 all configuration for specific application

Get new setting configuration related to app.

GET

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

 

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

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 setting

Delete app setting

DELETE

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

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.

 


Register users under specific application New

Add users under specific applications; users who can use the calling facility.

POST

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:

Header:

Parameter

Type

Required

Description

Authorization

String

Yes

Token provided by https://integrationscore.mum1.exotel.com/v2/integrations/token

entity=app

 

Body:

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.

Email

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

 

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.

 

Get User details

This API allows you to get all the user details by AppId, and by AppUserId if passed in the query params.

GET

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

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

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 users under applications

Delete all the users under an application. Once deleted this action cannot be reversed.

DELETE

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

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.

 

Delete users by AppUserId

Use this API to delete users by AppUserId. Once deleted this action cannot be reversed.

DELETE

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

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 users detail with pagination

Get specific number of users under an application using pagination.

GET

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

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.

 

Update device

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.

PUT

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

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.

 


Receive inbound call notification New

It allows users to get a notification on their dashboard screen, whenever any Incoming call comes to their customer-facing Exotel number.

GET

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"
}

 

Statuscallback sent for Incoming call notification:

{
"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

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.

 


Receive Outbound Call Notifications New

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
  • active: call is not yet over OR post call processing data is yet to be processed
  • terminal: call is over and data is processed against it