Learn how to use our serverless platform to create voice, video and messaging applications and services by reading our getting started guide. It's the best way to become familiar with the platform architecture and capabilities.
For the Anonymize or number masking use-case, an API is required from the user (1) (It will be called as “user’s API” (2).), which will provide the B party’s number in the API response for a given A party’s number in the API request body.
[1: “user” refers to the Enterprise who needs the Number Masking solution.]
[2: “user’s API” is the API implemented and provided by the user for determining the B party’s (destination) number for a given A party’s (caller) number.]
copy
{
"uuid": "$uuid",
"call_id": "$call_id",
"call_to_number": "$call_to_number",
"caller_id_number": "$caller_id_number",
"start_stamp": "$start_stamp"
}
The below data is sent to the user’s API.
Variable Name | Description | Data Type |
---|---|---|
$uuid | The unique ID of the call. For example, 7611. | String |
$call_to_number | The dialled number (“masking number”). For example, +91-XXXXXXXXXX. | String |
$call_id | The call ID available in call detail records. For example, 1642XXXX.XXX012. | String |
$call_to_number | The caller number (A party’s number). For example, +91-XXXXXXXXXX. | String |
$call_to_number | The start time of the call. For example, YYYY-mm-dd HH: mm: ss. | String |
The call transfers based on B party’s number. The user’s API should return the country-code prefixed phone number of the B party in the API response to transfer the call to the B party’s number. The below example shows a sample API response to transfer the call based on B party’s number where “XXXXXXXXXX” is the B party’s number prefixed with country calling code.
Sample transfer objects
copy
[{
"transfer": {
"type": "number",
"data": ["XXXXXXXXXX"]
}
}]
copy
curl --request POST \
--url {ENDPOINT}v1/click_to_call \
--header 'Authorization: <AUTHORIZATION_VALUE>' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"agent_number":"+9190XXXXXXXX9","destination_number":"+9180XXXXXXXX9"}'
The body params used for making calls are:
Variable | Description | Data Type |
---|---|---|
agent_number* | The agent’s EID, intercom number, extension username, or DID. For example, +91809XXXXXXXX. | String |
destination_number* | The number of the customer who will receive the call. Note: Customer numbers must be prefixed with country calling code. For example, +919973XXXXXX is a phone number belonging to India with country calling code, +91. |
String |
caller_id | The caller ID that is shown to the called party. For example, +91876XXXXXXX. | Integer |
async | Make multiple calls simultaneously, that is, do not wait for agent to pick up the call before sending back the response. 1: asynchronous request, 0: synchronous request |
Integer |
call_timeout | The limit time of the call wherein it will auto-disconnect after provided seconds have reached the summit duration. For example, 32. |
Integer |
get_call_id | Setting this parameter to 1 will return call_id in response. Note: call_id will only be returned if the call has been answered by the agent. |
Integer |
custom_identifier | The custom parameter that can be sent while making a click to call request. Note: This parameter will be returned in webhook. This is a sample custom identifier, you can send your own custom parameters while making a request to Digo. Digo supports custom variables that be send while make a click to call request and receive those variables back through webhooks. For instance you can put a special identifier in a string, numeric format which can be passed while making a request to Digo and in the webhook that identifier will be returned to help you track your click to calls. |
String |
The response is as following:
Variable | Description | Data Type |
---|---|---|
success | The possible values are: True, if the call is originated successfully. False, for any error encountered. |
Boolean |
message | The message corresponding to success status. For example, in 200 Response, the message displayed is “Originate successfully queued”. |
String |
A successful request returns the HTTP 200 OK status code and a JSON response body as detailed below:
JSON
copy
{
"success": true,
"message": "Originate successfully queued"
}
Announcement of Voice on an outbound call can be started by calling the below-mentioned two APIs one after the other,
that is, first call the “Lead API”, then call the “Click to Call Support API”. The following examples are for the
announcement of OTP (One Time Password) on an outbound call. Similarly, other messages can also be announced using
similar format of the APIs.
Similarly, other messages can also be announced using similar format of the APIs.
copy
curl --request POST \
--url '{ENDPOINT}/v1/broadcast/lead/<LEAD_ID>' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"field_0":"XXXXXXXXXX","field_5":"123456", "duplicate_option": "overwrite"}'
The body params used for making calls are:
Variable Name | Description | Data Type |
---|---|---|
<LEAD_ID> | Unique ID of the List to which lead will correspond | String |
The response is as following:
Variable Name | Description | Data Type |
---|---|---|
field_0 | destination phone number prefixed with country calling code | String |
field_5 | One Time Password (OTP) Digits, e.g., 123456 | String |
duplicate_option | Set this to “overwrite” | String |
Variable Name | Description | Data Type |
---|---|---|
success | Request success status | Boolean |
message | Message corresponding to success status | String |
copy
curl --request POST \
--url '{ENDPOINT}/v1/c2c_api' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"customer_number":"XXXXXXXXXX","api_key":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}'
Variable Name | Description | Data Type |
---|---|---|
customer_number | destination phone number prefixed with country calling code | String |
api_key | API Key for authentication and to determine the destination for the call. | String |
Variable Name | Description | Data Type |
---|---|---|
success | Request success status | Boolean |
message | Message corresponding to success status | String |
copy
curl --request GET \
--url '{ENDPOINT}/v1/call/records' \
--header 'Accept: application/json' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
Variable | Description | Data Type |
---|---|---|
from_date | The starting date from which the records need to be fetched. For example, the format is YYYY-MM-DD hh:mm:ss, (2021-03-10 17:16:18). | String |
to_date | The date till which the records need to be fetched. For Example, the format is: YYYY-MM-DD hh:mm:ss (2021-04-10 17:16:18). | String |
page | The page number of the record. For example, the parameter passed is 1, if the client requires the information that exists on the first page. | String |
call_id | The unique ID of the call that allows customers to fetch call related details. For example,1627373566.350603. | Integer |
limit | The number of records to be fetched. For example, 10. | String |
agents | The ID of the agent. For example, 345623. | String |
department | The unique ID of departments. For example, sales department. | Array |
ivr | The unique ID of IVRs. For example, sales IVR, finance IVR. | Array |
call_type | The type of the call. For example, c denotes answered, whereas m denotes missed. |
String |
callerid | The caller ID of the client. For example,12345678. Note : Fetch the caller_id from the live calls API , which retrieves the live call details. |
String |
destination | Destination wherein the incoming call is directed. For example, sales department. | String |
direction | The direction of the call. The possible values are: Inbound Outbound |
String |
duration | The total duration of the call in seconds. For example, 30. | String |
operator | The mathematical operator to be used for the duration filter.Allowed operators are:[>, <,>=, <=, !=] | String |
services | The type of call services. For example, Click to Call. Note: These are separated by commas. |
String |
It takes a JSON body with the following notable parameters:
Variable | Description | Data Type |
---|---|---|
limit | The number of records to be fetched. For example, 10. | String |
count | The number of the records. For example,32. | String |
page | The page number of the record. For example, the parameter passed is 1, if the client requires the information that exists on the first page. |
String |
size | The size of the records. For example, 20 | String |
id | The ID of the record. For example, 1. | String |
call_id | The unique ID of the call that allows customers to fetch call related details. For example,1627373566.350603. |
Integer |
uuid | The call ID of the number that helps to track the different triggers for a particular call.For example, 61111f5e708c5. |
Integer |
date | The date on which the call was made. For example, the format is YYYY-MM-DD (2021- 03-10). | String |
time | The time on which the call was made. For example, the format is hh:mm:ss,(17:16:18). | String |
end_stamp | The time_stamp on which the call was made. For example, the format is YYYY-MM-DD hh:mm:ss, (2021-03-10 17:16:18). |
String |
missed_agents | The details of the agents who missed the call. | Object |
missed_agents{}.name | The name of the agents. For example, sales agent, marketing agent. | String |
missed_agents{}.number | The number of the agents. For example, +9198XXXXXXX. | String |
status | The status of the call response. For example, missed | Object |
department | The unique ID of departments. For example, sales department. | Array |
destination | Destination wherein the incoming call is directed. For example, sales department. | String |
direction | The direction of the call. The possible values are: Inbound Outbound |
String |
call_duration | The total duration of the call. For example,30. | String |
answered_seconds | The total duration of the call in seconds after getting answered. For example, 90. | String |
minutes_consumed | The time in minutes consumed in the call. For example, 2. | String |
operator | The mathematical operator to be used for the duration filter.Allowed operators are:[>, <,>=, <=, !=] | String |
services | The type of call services. For example, Click to Call. Note: These are separated by commas. |
String |
broadcast_id | The ID of the broadcast call. For example,3432 | String |
dtmf_input | The number pressed by the customer on hearing the IVR. For example,3432 | String |
client_number | The contact number of the client. For example, Normal Clearing. | String |
hangup_cause | The reason behind ending the call. For example, voice not clear. | String |
did_number | The DID from which the agent makes or receives the call. For example, 9180XXXXXXXX. | String |
notes | The notes associated with the client. For example, missed the last call. | String |
contact details | The contact number and name of the client. For example, 91XXXXXXXXX. | String |
recording_url | The URL of the recorded call | String |
Presently, active/live call can be hung up by using the below method.
Variable Name | Description | Data Type |
---|---|---|
call_id | Unique ID of call | String |
copy
curl --request POST \
--url '{ENDPOINT}/v1/call/hangup' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{"call_id": "XXXXXXXXXXXX"}'
Variable Name | Description | Data Type |
---|---|---|
success | Request success status | Boolean |
message | Message corresponding to success status | String |
copy
{
"success": true,
"message": "Call hangup successful"
}
To transfer an active call to an agent (B2), the agent B2 must first be added as an agent into the system
if the agent is not added yet. The following is the API to add a new agent into the system.
Variable Name | Description | Data Type |
---|---|---|
name* | Name for the agent | String |
follow_me_number* | mobile number of the agent prefixed with country calling code, e.g., +91XXXXXXXXXX where country calling code is +91. | Integer |
intercom | Agent’s intercom number
(a unique 4-digit number) |
Integer |
copy
curl --request POST \
--url '{ENDPOINT}/v1/agent' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"name": "Test Agent",
"follow_me_number": XXXXXXXXXX,
"intercom": XXXX,
}'
Variable Name | Description | Data Type |
---|---|---|
success | Request success status | Boolean |
message | Message corresponding to success status | String |
copy
{
"success": true,
"message": "Agent added successfully",
""agent_id": "XXXXXXXXXXXXXX",
}
If the agent (B2) is already added, you can get the agent’s details using the following method.
copy
curl --request GET \
--url '{ENDPOINT}/v1/agents' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json'
copy
[{
"id": 111111,
"name": "Test Agent",
"follow_me_number": "+91XXXXXXXXXX",
"eid": "XXXXXXXXXXXXXXX",
"intercom": null,
"calls_answered": 1,
"calls_missed": 0,
"custom_status": 0,
"timegroup_name": null,
"timegroup_id": null,
"failover_destination": null,
"failover_destination_name": null,
"is_verified": 1,
"departments": [],
"allowed_caller_ids": [{
"id": "2222222",
"number": "91XXXXXXXXXX"
}],
"agent_cdr": false,
"associated_agent": false,
"agent_groups": [],
"sticky_settings": {
"timeout": null,
"ring_strategy": null,
"alternate_numbers": [
""
]
}
}]
Variable Name | Description | Data Type |
---|---|---|
id | Unique ID of the agent | String |
name | Name of the agent | String |
follow_me_number | Phone number of the agent | String |
eid | Unique Extension ID of the agent | String |
intercom | Unique intercom number of the agent | String |
calls_answered | Total number of calls answered by agent | Integer |
product_clicktocall | Status of Click to Call product on agent [0: product not applied, 1: product applied] |
Integer |
team_id | Unique ID of agent’s team | Integer |
team_name | Name of the agent’s team | String |
custom_status | Agent block/ unblock status [0: unblocked, 1: blocked] |
Integer |
To transfer a call to another agent, use the following method.
Variable Name | Description | Data Type |
---|---|---|
type* | Set type = 4 | Integer |
call_id* | Unique ID of the call on which the operation needs to be performed | String |
agent_id | Unique ID of the Agent (Agent’s EID can be used) | Integer |
Intercom* | Unique intercom number of the agent to whom call would be transferred | String |
copy
curl --request POST \
--url '{ENDPOINT}/v1/call/options' \
--header 'Authorization: <AUTHORIZATION_VALUE>'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"type": 4,
"call_id": "XXXXXXXXXXXXX",
"agent_id": "XXXXXXXXXXXXX",
"intercom": "XXXXXXXXXX"
}'
Variable Name | Description | Data Type |
---|---|---|
success | Request success status | Boolean |
message | Message corresponding to success status | String |
copy
{
"success": true,
"message": "Redirect successful"
}
Anonymize, Authenticate, Programmable SMS
Please fill in your details below and we will get in touch with you shortly
One of our team members will be in contact soon.
Please fill in your details below and we will get in touch with you shortly
One of our team members will be in contact soon.
Please fill in your details below
One of our team members will be in contact soon.
You will need auth token to access our APIs. Please fill in your details below and we will get in touch with you.
One of our team members will be in contact soon.