Click here to Download Postman Collection.
To ensure fair usage and optimal performance, the API enforces a rate limit of one request per two seconds. If this limit is exceeded, the server will respond with a 429 Too Many Requests status code, indicating that the request rate is too high and should be reduced.
Whenever possible, please queue API calls at your end. This ensures that you can buffer calls on your end to avoid hitting the rate limit and retry API calls when you hit the rate limit after the retry-after time.
Adhering to these guidelines will help maintain seamless integration with the API and prevent disruptions due to rate limiting.
You must be an admin user.
Navigate to Connectors > API & Webhook > API Config
Click on Generate API Access Key
Enter Your Login Credentials
Click on Generate Token
It returns the totIIial count of all call types for a given date filter with Never Attended, Never Received, Unique Clients, Working Hour.
URL | /v2/call-log/summary |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | String | UNIX timestamp, in seconds |
call_to | Conditional | Long | UNIX timestamp, in seconds |
synced_from | Conditional | Long | UNIX timestamp, in seconds |
synced_to | Conditional | Long | UNIX timestamp, in seconds If sync_from is present then it’s mandatory. |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee numbers. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False Default : True |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
UNIX timestamp value should be positive. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid numbers comma separated>’ tags doesn’t exist. |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
total_incoming_calls | Integer | Total number of incoming calls |
total_incoming_duration | Integer | Total duration of Incoming calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_outgoing_calls | Integer | Total number of outgoing calls |
total_outgoing_duration | Integer | Total duration of outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_missed_calls | Integer | Total number of missed calls |
total_rejected_calls | Integer | Total number of rejected calls |
total_calls | Integer | Total number of calls including Incoming, Outgoing, Missed and Rejected |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185. |
total_never_attended_calls | Integer | Total number of never attended calls. These are the calls you have never talked to, after you missed them. |
total_not_pickup_by_clients_calls | Integer | Total number of not pickup by clients calls. These are the calls you have dialed but never talked. |
total_unique_clients | Integer | Total number of unique clients contacted by employees. |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds. |
total_working_hours | String | Total working hours in HH:mm:ss format |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
result": {
total_incoming_calls": 13
total_incoming_duration": 2452,
total_outgoing_calls": 26,
total_outgoing_duration": 3453,
total_missed_calls": 0,
total_rejected_calls": 0,
total_calls": 27,
total_duration": 1523,
total_never_attended_calls": 0,
total_not_pickup_by_clients_calls": 2,
total_unique_clients": 3,
total_working_hours": "03:43:55",
total_connected_calls": 21
},
message": "Success"
}
It returns the total count of all call types for a given date filter with Never Attended, Never Received, Total Distinct Unique Clients, Working Hour.
URL | /v2/call-log/employee-summary |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | String | UNIX timestamp, in seconds |
call_to | Conditional | Long | UNIX timestamp, in seconds |
synced_from | Conditional | Long | UNIX timestamp, in seconds |
synced_to | Conditional | Long | UNIX timestamp, in seconds If sync_from is present then it’s mandatory. |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee numbers. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False Default : True |
page_no | No | Integer | Page number like 1,2,3 etc Default : 1 |
page_size | No | Integer | Number of records in a page. Default : 100 |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘ <list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid numbers comma separated>’ tags doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100 | Invalid value. The value should be between 1 to 100 |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
emp_name | String | Name of the employee |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
total_incoming_calls | Integer | Total number of incoming calls |
total_incoming_duration | Integer | Total duration of Incoming calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_incoming_connected_calls | Integer | Total number of incoming calls where the duration is more than 2 seconds. |
total_outgoing_calls | Integer | Total number of outgoing calls |
total_outgoing_duration | Integer | Total duration of outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_outgoing_connected_calls | Integer | Total number of outgoing calls where the duration is more than 2 seconds. |
total_missed_calls | Integer | Total number of missed calls |
total_rejected_calls | Integer | Total number of rejected calls |
total_calls | Integer | Total number of calls including Incoming, Outgoing, Missed, and Rejected |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185. |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds. |
total_never_attended_calls | Integer | Total number of never attended calls. These are the calls you have never talked to, after you missed them. |
total_not_pickup_by_clients_calls | Integer | Total number of not pickup by clients calls. These are the calls you have dialed but never talked. |
total_unique_clients | Integer | Total number of unique clients contacted by employees. |
total_working_hours | Integer | Total working hours in HH:mm:ss format |
last_call_log | JSON Object | Last call details |
id | String | Unique id of the call log |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
avg_duration_per_call | String | It is calculated using total connected calls duration and the total number of connected calls. Total Connected Calls Duration/Total number of connected calls. |
avg_incoming_duration | String | It is calculated using Total Incoming connected calls duration and the Total number of Incoming connected calls. Total incoming Connected Calls Duration/Total number of incoming connected calls. |
avg_outgoing_duration | String | It is calculated using Total Outgoing connected calls duration and the Total number of Outgoing connected calls. Total Outgoing Connected Calls Duration/Total number of Outgoing connected calls. |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": {
"employees": [
{
"emp_name": "Smith Carry",
"emp_code": "011",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag1", "tag2", "tag3"],
"total_incoming_calls": 1,
"total_incoming_duration": 234234,
"total_incoming_connected_calls": 20,
"total_outgoing_calls": 26,
"total_outgoing_duration": 0,
"total_outgoing_connected_calls": 20,
"total_missed_calls": 0,
"total_rejected_calls": 0,
"total_calls": 27,
"total_duration": 234234,
"total_connected_calls": 234234,
"total_never_attended_calls": 0,
"total_not_pickup_by_clients_calls": 2,
"total_unique_clients": 3,
"total_working_hours": "04:43:45",
"last_call_log": {
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"client_name": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"client_country_code": "91",
"client_number": "9482784838",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-20 22:42:53 IST",
"modified_at": "2023-11-30 12:42:53 IST"
}
"avg_duration_per_call": "00:00:02",
"avg_incoming_duration": "00:00:08",
"avg_outgoing_duration": "00:00:03",
}
]
},
"message": "Success"
}
It returns analytical data like Top Caller, Top Dialer, Top Answered, Highest Duration, Longest Duration, Average Calls and Duration.
URL | /v2/call-log/analysis |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming, Outgoing, Missed, Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee number. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False Default: True |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid numbers comma separated>’ tags doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100 | Invalid value. The value should be between 1 to 100 |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
emp_name | String | Name of the employee |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
total_incoming_calls | Integer | Total number of incoming calls |
total_incoming_duration | Integer | Total duration of Incoming calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_incoming_connected_calls | Integer | Total number of incoming calls where the duration is more than 2 seconds. |
total_outgoing_calls | Integer | Total number of outgoing calls |
total_outgoing_duration | Integer | Total duration of outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_outgoing_connected_calls | Integer | Total number of outgoing calls where the duration is more than 2 seconds. |
total_missed_calls | Integer | Total number of missed calls |
total_rejected_calls | Integer | Total number of rejected calls |
total_calls | Integer | Total number of calls including Incoming, Outgoing, Missed, and Rejected |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185. |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds. |
total_never_attended_calls | Integer | Total number of never attended calls. These are the calls you have never talked to, after you missed them. |
total_not_pickup_by_clients_calls | Integer | Total number of not pickup by clients calls. These are the calls you have dialed but never talked. |
total_unique_clients | Integer | Total number of unique clients contacted by employees. |
total_working_hours | Integer | Total working hours in HH:mm:ss format |
last_call_log | JSON Object | Last call details |
id | String | Unique id of the call log |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": {
"average_duration": {
"total_duration": 492,
"per_call": 65,
"total_calls": 32,
"per_day": 344,
"total_days": 3,
"per_incoming_call": 344,
"total_incoming_calls": 32,
"per_outgoing_call": 535,
"total_outgoing_calls": 23
},
"top_dialer": {
"emp_name": "Smith Carry",
"emp_code": "33",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag-1", "tag-2"],
"total_outgoing_calls": 26
},
"top_answered": {
"emp_name": "Smith Carry",
"emp_code": "33",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag-1" ,"tag-2"],
"total_incoming_calls": 23
},
"top_caller": {
"emp_name": "Smith Carry",
"emp_code": "33",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag-1" ,"tag-2"],
"total_calls": 27
},
"highest_total_duration": {
"emp_name": "Smith Carry",
"emp_code": "33",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag-1" ,"tag-2"],
"total_duration": 5402,
"total_calls": 54,
"total_incoming_duration": 4322,
"total_outgoing_duration": 1080
},
"longest_duration": {
"emp_name": "Smith Carry",
"emp_code": "33",
"emp_country_code": "91",
"emp_number": "9999999999",
"emp_tags": ["tag-1","tag-2"],,
"call_log": {
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"client_name": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"client_country_code": "91",
"client_number": "9482784838",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
}
},
"message": "Success"
}
It returns a list of Never Attended calls by Employees. This list doesn't represent missed calls. These are the calls you have never talked about after you missed them
URL | /v2/call-log/never-attended |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
emp_numbers | No | String Array | Registered employee number. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False Default: True |
page_no | No | Integer | Page number like 1, 2, 3, etc. Default: 1 |
page_size | No | Integer | Number of records in a page. Default: 100 |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to”. | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
All the values in “emp_numbers” should be valid. | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists. | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists. | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE. | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100. | Invalid value. The value should be between 1 to 100. |
If any parameter has blank or null value then it will be ignored.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
emp_name | String | Name of the employee, who has made maximum number of outgoing calls |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
call_logs | JSON Array | All the call logs between employee and client |
id | String | Unique id of the call log |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
total_records | Integer | Number of records in response |
page_no | Integer | Page number |
page_size | Integer | Size of the page |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"emp_name": "Smith Carry",
"emp_code": "433",
"emp_country_code": "91",
"emp_number": "8888888888",
"emp_tags": ["tag1" , "tag2"],
"client_name": "annie",
"client_country_code": "91",
"client_number": "9999999999",
"call_logs": [
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
},
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
]
},
{
"emp_name": "Nadal Brush",
"emp_code": "49D",
"emp_number": "4849594923",
"emp_country_code": "91",
"emp_tags": [],
"client_name": "Marie",
"client_country_code": "91",
"client_number": "7584858480",
"call_logs": [
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
]
}
],
"message": "Success",
"total_records": 2,
"page_no": 1,
"page_size": 100
}
It returns a list of Never Received calls. This list is not outgoing calls. These are the calls you have dialed but never talked.
URL | /v2/call-log/not-pickup-by-client |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
emp_numbers | No | String Array | Registered employee number. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False. Default : True |
page_no | No | Integer | Page number like 1,2,3 etc. Default : 1 |
page_size | No | Integer | Number of records in a page. Default : 100 |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to”. | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
All the values in “emp_numbers” should be valid. | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists. | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists. | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE. | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100. | Invalid value. The value should be between 1 to 100. |
If any parameter has blank or null value then it will be ignored.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
emp_name | String | Name of the employee, who has made maximum number of outgoing calls |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
call_logs | JSON Array | All the call logs between employee and client |
id | String | Unique id of the call log |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
total_records | Integer | Number of records in response |
page_no | Integer | Page number |
page_size | Integer | Size of the page |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"emp_name": "Smith Carry",
"emp_code": "433",
"emp_country_code": "91",
"emp_number": "8888888888",
"emp_tags": ["tag1" , "tag2"],
"client_name": "annie",
"client_country_code": "91",
"client_number": "9999999999",
"call_logs": [
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
},
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
]
},
{
"emp_name": "Nadal Brush",
"emp_code": "49D",
"emp_number": "4849594923",
"emp_country_code": "91",
"emp_tags": [],
"client_name": "Marie",
"client_country_code": "91",
"client_number": "7584858480",
"call_logs": [
{
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
]
}
],
"message": "Success",
"total_records": 2,
"page_no": 1,
"page_size": 100
}
It returns a list of unique clients (to number) contacted by employees for a given time period. This list displays the unique contacted numbers of call attempts. This will help you to know the exact number of unique clients contacted by your employees !
URL | /v2/call-log/unique-clients |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
emp_numbers | No | String Array | Registered employee number. Country code should be separated by hyphen '-', if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False. Default : True |
page_no | No | Integer | Page number like 1,2,3 etc. Default : 1 |
page_size | No | Integer | Number of records in a page. Value must be less than 10,000. Default : 100 |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100 | Invalid value. The value should be between 1 to 100. |
If any parameter has blank or null value then it will be ignored.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
total_incoming_calls | Integer | Total number of incoming calls |
total_incoming_duration | Integer | Total duration of Incoming calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_outgoing_calls | Integer | Total number of outgoing calls |
total_outgoing_duration | Integer | Total duration of outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185 |
total_missed_calls | Integer | Total number of missed calls |
total_rejected_calls | Integer | Total number of rejected calls |
total_calls | Integer | Total number of calls including Incoming, Outgoing, Missed and Rejected |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185. |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds. |
total_never_attended_calls | Integer | Total number of never attended calls. These are the calls you have never talked to, after you missed them. |
total_not_pickup_by_clients_calls | Integer | Total number of not pickup by clients calls. These are the calls you have dialed but never talked. |
last_call_log | JSON Object | Last call details |
id | String | Unique id of the call log |
emp_name | String | Name of the employee |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"client_name": "Smith Cooper",
"client_country_code": "91",
"client_number": "9823212312",
"total_calls": 138,
"total_duration": 1500,
"total_incoming_calls": 30,
"total_incoming_duration": 1000,
"total_outgoing_calls": 100,
"total_outgoing_duration": 500,
"total_missed_calls": 6,
"total_rejected_calls": 2,
"total_connected_calls": 128,
"total_never_attended_calls": 0,
"total_not_pickup_by_clients_calls": 0,
"last_call_log": {
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"emp_name": "Markel",
"emp_code": "932",
"emp_country_code": "91",
"emp_number": "948948484",
"emp_tags": ["" , ""],
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
},
{
"client_name": "Jim Carry",
"client_country_code": "91",
"client_number": "8798753628",
"total_calls": 12,
"total_duration": 100,
"total_incoming_calls": 10,
"total_incoming_duration": 60,
"total_outgoing_calls": 2,
"total_outgoing_duration": 40,
"total_missed_calls": 0,
"total_rejected_calls": 0,
"total_connected_calls": 12,
"total_never_attended_calls": 0,
"total_not_pickup_by_clients_calls": 0,
"last_call_log": {
"id": "XgnkwIIXrlKYMem-mDNhEogXFLU",
"emp_name": "Markel",
"emp_code": "932",
"emp_country_code": "91",
"emp_number": "948948484",
"emp_tags": ["" , ""],
"duration": 2849,
"call_type": "Incoming",
"call_date": "2023-12-18",
"call_time": "22:06:25",
"note": "this is note of the call log",
"call_recording_url": "https://media.callyzer/78.mp3",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
}
],
"message": "Success",
"total_records": 2,
"page_no": 1,
"page_size": 100
}
It returns a list of unique clients (to number) contacted by employees for a given time period. This list displays the unique contacted numbers of call attempts. This will help you to know the exact number of unique clients contacted by your employees !
URL | /v2/call-log/hourly-analytics |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming, Outgoing, Missed, Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee numbers. Country code should be separated by hyphen '-', if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False. Default: True |
working_hour_from | Yes | String | Start time of working hour. Format must be HH:mm (24 hours) |
working_hour_to | Yes | String | End time of working hour. Format must be HH:mm (24 hours) |
exclude_days | No | String Array | ddd Format - the day as a three-letter abbreviation (Sun, Mon, Tue, Wed, Thu, Fri, Sat) with no period. |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“working_hour_from” and “working_hour_to” are mandatory | The “working_hour_from” and “working_hour_to” are mandatory. The value should be in HH:mm format. |
“working_hour_from” or “working_hour_to” are not valid. | The “working_hour_from” / “working_hour_to” is not valid. The value should be in HH:mm format. |
“working_hour_from” should be greater than “working_hour_to”. | The “working_hour_from” should not be less than “working_hour_to”. |
“exclude_days” should be valid value and in valid format ‘ddd’. | Invalid value. The days should be in ‘ddd’ format i.e. Mon |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
total_calls | Integer | Total number of calls |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds. |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. i.e. For 3m 5s duration, it will return 185. |
daily_average | JSON Object | Average no of calls, duration, and connected calls on a daily basis |
avg_calls | Integer | Average no of calls on a daily basis |
avg_connected_calls | Integer | Average no of connected calls on a daily basis |
avg_duration | Integer | Average total duration on a daily basis |
time_slots | JSON Array | Time slot wise statistics |
slot | String | Time slot |
total_calls | Integer | Total number of calls in this time slot |
total_duration | Integer | Total duration in this time slot |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds in this time slot |
total_call_perc | Float | Percentage of total number of calls |
total_duration_perc | Float | Percentage of total duration |
total_connected_calls_perc | Float | Percentage of total number of connected calls |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": {
"total_calls": 655,
"total_connected_calls": 329,
"total_duration": 63333,
"daily_average": {
"avg_calls": 904,
"avg_connected_calls": 904,
"avg_duration": 63333,
},
"time_slots": [
{
"slot": "Before 10:00 AM",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889,
"total_call_perc": 5.65,
"total_connected_calls_perc": 4.56,
"total_duration_perc": 2.98
},
{
"slot": "10:00 AM - 10:59 AM",
"total_calls": 116,
"total_connected_calls": 57,
"total_duration": 8802,
"total_call_perc": 5.65,
"total_connected_calls_perc": 4.56,
"total_duration_perc": 2.98
},
{
"slot": "After 07:00 PM",
"total_calls": 0,
"total_connected_calls": 0,
"total_duration": 0,
"total_call_perc": 0,
"total_connected_calls_perc": 0,
"total_duration_perc": 0
}
]
},
"message": "Success"
}
It returns total calls, total connected calls and total duration hour wise for each day.
URL | /v2/call-log/daywise-analytics |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee numbers. Country code should be separated by hyphen '-' if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False. Default: True |
working_hour_from | Yes | String | Start time of working hour. Format must be HH:mm (24 hours) |
working_hour_to | Yes | String | End time of working hour. Format must be HH:mm (24 hours) |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either “call_from” and “call_to” or “synced_from” and “synced_to” are mandatory. |
Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. | The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | Error while parsing UNIX timestamp. Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should exist | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should exist | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“working_hour_from” and “working_hour_to” are mandatory | The “working_hour_from” and “working_hour_to” are mandatory. The value should be in HH:mm format. |
“working_hour_from” or “working_hour_to” are not valid. | The “working_hour_from” / “working_hour_to” is not valid. The value should be in HH:mm format. |
“working_hour_from” should be less than “working_hour_to” | The “working_hour_from” should not be greater than “working_hour_to”. |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
total_calls | Integer | Total number of calls |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds |
total_duration | Integer | Total duration of incoming and outgoing calls. The value will be in seconds. |
total_days_with_no_calls_in_time_slot | Integer | Total number of days where there is a time slot with no calls |
daily_average (JSON Object) | ||
avg_calls | Integer | Average number of calls on a daily basis |
avg_connected_calls | Integer | Average number of connected calls on a daily basis |
avg_duration | Integer | Average total duration on a daily basis. The value will be in seconds. |
time_slots (JSON Array) | ||
slot | String | Time slot |
days_with_no_calls_in_time_slot | Integer | Total number of days where there are no calls made in this time slot |
daily_average (JSON Object) | ||
avg_calls | Integer | Average number of calls on a daily basis in this time slot |
avg_connected_calls | Integer | Average number of connected calls on a daily basis in this time slot |
avg_duration | Integer | Average total duration on a daily basis in this time slot. The value will be in seconds. |
day_wise (JSON Array) | ||
date | String | Date in yyyy-mm-dd format |
day | String | Day of the week |
total_duration | Integer | Total duration in this time slot. The value will be in seconds. |
total_connected_calls | Integer | Total number of incoming and outgoing calls where the duration is more than 2 seconds in this time slot |
total_call_perc | Float | Percentage of total number of calls in this time slot |
total_duration_perc | Float | Percentage of total duration in this time slot |
total_connected_calls_perc | Float | Percentage of total number of connected calls in this time slot |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": {
"total_calls": 655,
"total_connected_calls": 329,
"total_duration": 63333,
"total_days_with_no_calls_in_time_slot": 1,
"daily_average": {
"avg_calls": 904,
"avg_connected_calls": 904,
"avg_duration": 63333,
},
"time_slots": [
{
"slot": "Before 10:00 AM",
"days_with_no_calls_in_time_slot": 1,
"daily_average": {
"calls": 37,
"connected_calls": 15,
"duration": 1889,
},
"day_wise": [
{
"date": "2023-11-29",
"day": "Wednesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
},
{
"date": "2023-11-29",
"day": "Tuesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
}
]
},
{
"slot": "10:00 AM - 10:59 AM",
"days_with_no_calls_in_time_slot": 1,
"daily_average": {
"calls": 116,
"connected_calls": 57,
"Duration": 8802,
},
"day_wise": [
{
"date": "2023-11-29",
"day": "Wednesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
},
{
"date": "2023-11-29",
"day": "Tuesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
}
]
},
{
"slot": "After 06:00 PM",
"days_with_no_calls_in_time_slot": 1,
"daily_average": {
"calls": 0,
"connected_calls": 0,
"duration": 0,
},
"day_wise": [
{
"date": "2023-11-29",
"day": "Wednesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
},
{
"date": "2023-11-29",
"day": "Tuesday",
"total_calls": 37,
"total_connected_calls": 15,
"total_duration": 1889
}
]
}
]
},
"message": "Success"
}
It returns total calls, total connected calls and total duration hour wise for each day.
URL | /v2/call-log/history |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
call_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_from | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
synced_to | Conditional | Long | UNIX timestamp with UTC Timezone, in seconds |
call_types | No | String Array | Any from (Incoming,Outgoing,Missed,Rejected) |
duration_les_than | No | Long | Value in seconds |
duration_grt_than | No | Long | Value in seconds |
emp_numbers | No | String Array | Registered employee numbers. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
is_exclude_numbers | No | Boolean | Whether to include the ‘Exclude Numbers’ or not. Must be either True or False. Default: True |
client_numbers | No | String Array | Number of clients. Country code should be separated by hyphen '-’, if present. |
page_no | No | Integer | Page number like 1,2,3 etc. Default: 1 |
page_size | No | Integer | Number of records in a page. Value must be less than 100. Default: 100 |
Business Rule | Error Message |
---|---|
Either “call_from” and “call_to” or “synced_from” and “synced_to” has to be passed in a request. | Either ‘call_from’ and ‘call_to’ or ‘synced_from’ and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” and “call_to” duration should be less than 180 days and same for “synced_from” and “synced_to”. | The duration should be less than 180 days. |
Error while parsing UNIX timestamp. | Invalid <param name>. Please pass the timestamp in UNIX format. |
If “call_from” is provided then “call_to” is mandatory and vice versa. | `call_from` and ‘call_to’ are mandatory. The duration should be less than 180 days. |
If “synced_from” is provided then “synced_to” is mandatory and vice versa. | `synced_from` and ‘synced_to’ are mandatory. The duration should be less than 180 days. |
“call_from” should be less than “call_to” or “synced_from” should be less than “synced_to” | Invalid date range. `From` timestamp should be less than `To` timestamp. |
“call_types” has to be from the predefined list (Incoming,Outgoing,Missed,Rejected). | Invalid call_types. Valid call types are Incoming or Outgoing or Missed or Rejected. |
“duration_les_than” or “duration_grt_than” should be between 0 and Long.MAX_VALUE | Value out of range for unsigned long data type. |
The value of “duration_les_than” should be greater than the value of “duration_grt_than”. | Invalid duration value. The value of ‘duration_les_than’ should be greater than value of ‘duration_grt_than’ |
All the values in “emp_numbers” should be valid | Invalid numbers ‘<list of invalid numbers comma separated>’. |
All the values in “emp_numbers” should be exists | The ‘<list of invalid numbers comma separated>’ numbers doesn’t exist. |
All the values in “emp_tags” should be exists | The ‘<list of invalid tags comma separated>’ tags doesn’t exist. |
“Client_numbers” should be valid. | Invalid numbers ‘<list of invalid numbers comma separated>’. |
If any parameter has blank or null value then it will be ignored.
If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.
This API can be used for deleted employee numbers as well.
Param Key | Data Type | Description |
---|---|---|
id | String | Unique id of the call log |
emp_name | String | Name of the employee, who has made maximum number of outgoing calls |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
crm_status | String | Status of the lead updated with this call |
reminder_date | String | Callback reminder date |
reminder_time | String | Callback reminder time |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
total_records | Integer | Number of records in response |
page_no | Integer | Page number |
page_size | Integer | Size of the page |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"id": "XgnkwIIXrlKYMem-mDNAP7DPkVfFsV3-4lIhEogXFLU",
"emp_name": "emilla",
"emp_code": "111",
"emp_number": "9823212312",
"emp_country_code": "91",
"emp_tags": [""],
"client_name": "markel",
"client_country_code": "91",
"client_number": "8888888888",
"duration": 10,
"call_type": "Outgoing",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "all about the call",
"call_recording_url": "https://media.callyzer/78.mp3",
"crm_status": "Not Interested",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
},
{
"id": "XgnkwIIXrlKYMem-mDNAP7DPkVfFsV3-4lIhEogXFLU",
"emp_name": "emilla",
"emp_code": "111",
"emp_number": "9823212312",
"emp_country_code": "91",
"emp_tags": [""],
"client_name": "markel",
"client_country_code": "91",
"client_number": "8888888888",
"duration": 10,
"call_type": "Outgoing",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "all about the call",
"call_recording_url": "https://media.callyzer/78.mp3",
"crm_status": "Not Interested",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
],
"message": "Success",
"total_records": 48,
"page_no": 1,
"page_size": 100
}
It returns total calls, total connected calls and total duration hour wise for each day.
URL | /v2/call-log/get |
HTTP Method | POST |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
unique_ids | Yes | String Array | Unique ids of call log. |
Business Rule | Error Message |
---|---|
Minimum 1 and Maximum 20 ids are allowed. | Invalid no of unique ids. Minimum 1 and Maximum 20 ids are allowed. |
Param Key | Data Type | Description |
---|---|---|
id | String | Unique id of the call log |
emp_name | String | Name of the employee, who has made maximum number of outgoing calls |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
client_name | String | Name of the client |
client_country_code | String | Country code of the client’s number |
client_number | String | Number of the client |
duration | Integer | Duration of call in seconds |
call_type | String | Call type |
call_date | String | Date of the call in yyyy-mm-dd format |
call_time | String | Time of the call in 24 hours format |
note | String | Note of the call |
call_recording_url | String | Call Recording URL |
crm_status | String | Status of the lead updated with this call |
reminder_date | String | Callback reminder date |
reminder_time | String | Callback reminder time |
synced_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"id": "XgnkwIIXrlKYMem-mDNAP7DPkVfFsV3-4lIhEogXFLU",
"emp_name": "emilla",
"emp_code": "111",
"emp_country_code": "91",
"emp_number": "9823212312",
"emp_tags": [""],
"client_name": "markel",
"client_country_code": "91",
"client_number": "8888888888",
"duration": 10,
"call_type": "Outgoing",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "all about the call",
"call_recording_url": "https://media.callyzer/78.mp3",
"crm_status": "Not Interested",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-11-30 22:42:53 IST",
"modified_at": "2023-11-30 22:42:53 IST"
}
],
"message": "Success",
}
It allows the removal of call recording from Callyzer.
URL | /v2/call-log/call-recording/remove |
HTTP Method | DELETE |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
unique_ids | Yes | String Array | Unique ids of call log. |
Business Rule | Error Message |
---|---|
Minimum 1 and Maximum 20 ids are allowed. | Invalid no of unique ids. Minimum 1 and Maximum 20 ids are allowed. |
Param Key | Data Type | Description |
---|---|---|
id | String | Unique id of the call log |
message | String | Success or Error message |
status | String | Either Success or Failed |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"id": " DHzRrID509SxPt2L3-sdquQDBOfnDE0GGgNMxAkpR-o",
"message": "Successfully deleted",
"status": "Success"
},
{
"id": " 90sVHa70WTEHB3FehDnIFvGEp-nIRwHizMUXtNsLDyc",
"message": "Call recording doesn’t exist",
"status": "Failed"
},
{
"id": "XmwTQVk6EmWscMUnn6sEZkIAM8w24hyD7noc8628xn0",
"message": "Invalid unique id",
"status": "Failed"
},
{
"id": " 2hZ9tiZm92zfGUFIF7F7ajz-u3yVtFTopqSsAbetlE0",
"message": "Couldn’t delete from cloud storage",
"status": "Failed"
},
{
"id": " HobB-0Pk6xfhEJj6BEWNF3RbdZtwhE2YBzOpCqczg_k",
"message": "There is some technical error, please try again later",
"status": "Failed"
}
],
"message": ""
}
Lets you create a lead to the Callyzer application.
URL | /v2/lead/save |
HTTP Method | POST |
Content Type | application/json |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
first_name | Yes | String | First name of the lead. The length has to be between 3 to 250 |
last_name | No | String | Last name of the lead. The length has to be between 2 to 250 |
contact_numbers | Yes | String Array | Minimum 1 and maximum 2 length. Country code should be separated by hyphen ‘-’, if present. |
assignment | Yes | JSON | ‘stategry’ is mandatory child element |
strategy | Yes | String | To whom this lead should be assigned. Any one from:
|
emp_numbers | No | String Array | Employee Number. Country code should be separated by hyphen '-’, if present to whom the lead should be assigned. |
emp_tags | No | String Array | Employee tags from which the lead should be assigned. |
No | String | Email address of the lead. The length has to be between 5 to 100. | |
company_name | No | String | Company / Organization name of the lead. The length has to be between 3 to 250. |
address1 | No | String | The length has to be between 3 to 200. |
address2 | No | String | The length has to be between 3 to 200. |
city | No | String | The length has to be between 2 to 100. |
state | No | String | The length has to be between 2 to 100. |
country | No | String | The length has to be between 2 to 100. |
zip | No | String | The length has to be between 2 to 10. |
price | No | Double | It should be a numeric value. Decimal values are allowed. |
source | No | String | Source of the lead. The length has to be between 2 to 500. |
description | No | String | Detailed description about lead. The length has to be between 3 to 500. |
lead_tags | No | String Array | Assign tags to the lead. |
lead_status | No | String | Default status from list of active status i.e. Positive. |
existing_lead | No | JSON | Configure the actions for the existing lead. A lead is found duplicated by a given lead number. |
lead_details | No | String | Any one from below, default will be ‘Ignore’.
|
assignee | No | String | Any one from below, default will be ‘Ignore’.
|
lead_tags | No | String | Any one from below, default will be ‘Ignore’.
|
is_map_existing_call_logs | No | Boolean | Either True or False. Default will be ‘true’. If true then map the existing call logs of the lead, If false then don’t map the existing call logs. |
Business Rule | Error Message |
---|---|
“First_name”, “contat_numbers” and “strategy” are mandatory | “First_name”, “strategy” and at least one “contact_numbers” is required. |
“first_name” should be between 3 to 250 characters long. | Invalid “first_name”. Length should be between 3 to 250 chars. |
“last_name” should be between 2 to 250 characters long. | Invalid “last_name”. Length should be between 2 to 250 chars. |
All “contact_numbers” should be valid. | Invalid “contact_numbers”. Country code should be separated by hyphen(-), if present. |
“strategy” value should be from the predefined list. | Invalid “strategy”. It should be either ‘Assign to All Employees’ or ‘Minimum Leads’ or ‘Random’ or ‘Round Robin’. |
“emp_numbers” maximum 100 length is allowed. | Invalid no of “emp_numbers”. Maximum 100 numbers are allowed. |
“emp_numbers” should exist. | The ‘<list of mobile numbers>’ doesn’t exist. |
“emp_tags” maximum 100 length is allowed. | Invalid no of “emp_tags”. Maximum 100 tags are allowed. |
“emp_tags” should exist. | The ‘<list of tags>’ doesn’t exist. |
“email” should be valid & length should be between 5 to 100 | Invalid “email”. Length should be between 5 to 100 chars. |
Length of “company_name” should be between 3 to 250 | Invalid “company_name”. Length should be between 3 to 250 chars. |
Length of “address1” should be between 3 to 200 | Invalid “address1”. Length should be between 3 to 200 chars. |
Length of “address2” should be between 3 to 200 | Invalid “address2”. Length should be between 3 to 200 chars. |
Length of “city” should be between 3 to 200 | Invalid “city”. Length should be between 2 to 100 chars. |
Length of “state” should be between 3 to 200 | Invalid “state”. Length should be between 2 to 100 chars. |
Length of “country” should be between 2 to 100 | Invalid “country”. Length should be between 2 to 100 chars. |
Length of “zip” should be between 2 to 10 | Invalid “zip”. Length should be between 2 to 10 chars. |
“price” should be numeric and within the range of double. | Invalid “price”. Value should be numeric and within range of double data type. |
Length of “source” should be between 2 to 500 | Invalid “source”. Length should be between 2 to 500 chars. |
Length of “description” should be between 3 to 1000 | Invalid “description”. Length should be between 3 to 1000 chars. |
“lead_tags” maximum 100 length is allowed. | Invalid no of “lead_tags”. Maximum 100 tags are allowed. |
“lead_details” value should be from the predefined list. | Invalid “lead_details”. It should be either ‘Ignore’ or ‘Overwrite’ or ‘UpdateBlankOnly’. |
“assignee” value should be from the predefined list. | Invalid “assignee”. It should be either ‘Ignore’ or ‘Overwrite’ or ‘Append’. |
“lead_tags” value should be from the predefined list. | Invalid “lead_tags”. It should be either ‘Ignore’ or ‘Overwrite’ or ‘Append’. |
“is_map_existing_call_logs” should be either true or false | Invalid “is_map_existing_call_logs”. It should be either true or false. |
If both “emp_numbers” and “emp_tags” are present then show error.Both should not be present at the same time. Either none or only a single value should be present. | Please don’t provide ‘emp_numbers’ and ‘emp_tags’ simultaneously. Provide either one individually or none at all. |
“lead_status” should exist. | The ‘status’ lead status doesn’t exist. |
If “emp_numbers” and "emp_tags" both values are not present then the system will consider All the employees for whom the lead feature is active
Check for the “strategy”, “lead_details”, “assignee” and “existing_lead > lead_tags”, should be case insensitive.
Param Key | Data Type | Description |
---|---|---|
message | String | Either success or error message |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"first_name": "",
"last_name": "",
"email": "",
"company_name": "",
"address1": "",
"address2": "",
"city": "",
"state": "",
"country": "",
"zip": "",
"source": "",
"description": "",
"price": "",
"lead_tags": [],
"lead_status": "",
"contact_numbers": ["91-9988776655", "9876543210"],
"assignment": {
"strategy": "Assign to All Employees / Minimum Leads / Random / Round Robin",
"emp_numbers": ["", "", ""],
"emp_tags": ["", ""]
},
"existing_lead": {
"lead_details": "ignore / overwrite / updateBlankOnly",
"assignee": "ignore / overwrite / append",
"lead_tags": "ignore / overwrite / append"
},
"is_map_existing_call_logs": ""
}
Lets you fetch the details of employees.
URL | /v2/employee/get |
HTTP Method | GET |
Param Key | Is Mandatory? | Type | Description |
---|---|---|---|
emp_numbers | No | String Array | Registered employee number. Country code should be separated by hyphen '-’, if present. |
emp_tags | No | String Array | Employee tags |
emp_name | No | String | Name of the employee. System will perform the exact match and case insensitively. |
emp_codes | No | String Array | Employee codes |
page_no | No | Integer | Page number like 1, 2, 3 etc. Default: 1 |
page_size | No | Integer | Number of records in a page. Default: 100 |
Business Rule | Error Message |
---|---|
“emp_numbers” should be valid. | Invalid <list of mobile numbers>. |
“emp_numbers” maximum 100 length is allowed. | Invalid no of “emp_numbers”. Maximum 100 numbers are allowed. |
“emp_numbers” should exist. | The ‘<list of mobile numbers>’ doesn’t exist. |
“emp_tags” maximum 100 length is allowed. | Invalid no of “emp_tags”. Maximum 100 tags are allowed. |
“emp_tags” should exist. | The ‘<list of tags>’ doesn’t exist. |
“emp_name” should exist. | Invalid “emp_name”. Employee doesn’t exist for a given name. |
“emp_codes” maximum 100 length is allowed. | Invalid no of “emp_codes”. Maximum 100 numbers are allowed. |
“emp_codes” should exist. | The ‘<list of employee codes>’ doesn’t exist. |
“page_no” should be between 1 to Integer.MAX_VALUE | Invalid value. Value should be greater than zero and within range of unsigned integer data type. |
“page_size” should be between 1 to 100 | Invalid value. The value should be between 1 to 100. |
If “emp_numbers” and "emp_tags" both values are not present then the system will consider All the employees for whom the lead feature is active
Check for the “strategy”, “lead_details”, “assignee” and “existing_lead > lead_tags”, should be case insensitive.
Param Key | Data Type | Description |
---|---|---|
emp_name | String | Name of the employee, who has made maximum number of outgoing calls |
emp_code | String | Employee code |
emp_country_code | String | Country code of registered mobile number |
emp_number | String | Registered mobile number |
emp_tags | String Array | Tags assigned to the employee |
app_version | String | Installed Callyzer Biz app version in employee’s device |
registered_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
modified_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
last_call_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
last_sync_req_at | String | Date time should be in customer’s timezone and yyyy-mm-dd hh:mm:ss Z format |
is_lead_active | Boolean | Whether the lead feature is enabled for this employee |
is_call_recording_active | Boolean | Whether the call recording feature is enabled for this employee |
device_details | JSON Object | Details of the device |
device_model | String | Model of the device |
version_code | String | Version code of the device |
board | String | Details of the device |
android_version | String | Android version of the device |
sdk_version | String | SDK Version of the device |
unique_sim_id | String | Unique SIM id |
device_preference | JSON Object | Preferences of device |
is_app_uninstalled | Boolean | Whether app is uninstalled from the device |
battery_percentage | Integer | Battery percentage of device |
app_settings | JSON Object | Callyzer Biz App settings saved on that device |
default_home_screen | String | Which screen is set as home screen |
note_dialog | String | Setting saved for note dialog |
call_recording_location | String | Path of call recording location set |
is_log_active | Boolean | Whether log is enabled for debug purpose |
total_records | Integer | Number of records in response |
page_no | Integer | Page number |
device_details | Integer | Size of the page |
HTTP Status Code | Description |
---|---|
200 Ok | This is the status code for a successful API call. |
{ "result": {}, "message": "Success" } |
|
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
{ "result":null, "message": "<Error message>" } |
|
403 Forbidden | The Request can’t be fulfilled for reasons like subscription is expired. |
{ "result":null, "message": "Your subscription has expired." } |
{
"result": [
{
"emp_name": "test333",
"emp_code": null,
"emp_country_code": "91",
"emp_number": "3333333333",
"emp_tags": ["", ""],
"app_version": "1.3.16",
"registered_at": "2022-10-02 20:15:21 IST",
"modified_at": "2022-10-30 10:32:33 IST",
"last_call_at": "2022-12-30 16:15:32",
"last_sync_req_at": "2022-12-30 16:15:30 IST",
"is_lead_active": false,
"is_call_recording_active": false,
"device_details": {
"device_model": "Micromax",
"version_code": 30,
"board": "exynos9611",
"android_version": "10",
"sdk_version": 29,
"unique_sim_id": null
},
"device_preference": {
"is_app_uninstalled": true,
"battery_percentage": null
},
"app_settings": {
"default_home_screen": null,
"note_dialog": "Never",
"call_recording_location": "",
"is_log_active": false
}
}
],
"message": "Success",
"total_records": 6,
"page_no": 1,
"page_size": 100
}
Webhooks are user-defined HTTP callbacks, which are triggered when a specific event occurs. Webhooks offer simple and efficient server to server communication, without having to depend on long-running connections. When an Event occurs in the source site, webhooks makes an HTTP request to the URL configured. You can use webhooks to integrate your applications with LeadSquared.
Some of the common use cases where you might find Webhooks useful include posting form data to another application, posting lead data to another application and so on.
Field | Description |
---|---|
Webhook URL | The URL you want to post data. |
Secret | Enter a Secret for the webhook endpoint. The secret is used to validate that then webhook is from Callyzer. Do not expose Secret publicly. |
Select Version | Select the appropriate version. |
Skip Exclude Numbers | If you wish to receive webhook requests for excluded numbers ten select 'Yes'. Otherwise select 'No'. |
Alert Email | Receive email alert for webhook failure. You can enter max 5 emails separated by comma. |
[
{
"emp_name": "Employee Name",
"emp_code": "102",
"emp_country_code": "9x",
"emp_number": "98765xxxxx",
"emp_tags":[
"emp1",
"ABC"
],
"call_logs":[
{
"id": "XgnkwIIXrlKYMem-mDNAP7DPkVfFsV3-4lIhEogXFLU",
"client_name": "My Contact Name",
"client_country_code": "9x",
"client_number": "80907xxxxx",
"duration": "30",
"call_type": "Incoming",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "all about the call",
"call_recording_url": "https://media1.callyzer.co/file/callyzer-audios/TESD56409978/20230113_234589.mp3",
"crm_status": "Not Interested",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-09-13 17:50:00",
"modified_at": "2023-09-13 17:52:00"
},
{
"id": "JyY5CsxLibLIJ375wQPl8m",
"client_name": "Contact Name 2",
"client_country_code": "9x",
"client_number": "53487xxxxx",
"duration": "87",
"call_type": "Outgoing",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "The contact is not available for the deal",
"call_recording_url": "https://media1.callyzer.co/file/callyzer-audios/TESD56409978/20230113_234589.mp3",
"crm_status": "Positive",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-09-13 17:49:41",
"modified_at": "2023-09-13 17:50:48"
}
]
},
{
"emp_name": "Another Emplyoee",
"emp_country_code": "9x",
"emp_number": "99078xxxxx",
"emp_tags": [
"emp2",
"DEF"
],
"call_logs":[
{
"id": "Pl8m75wQJyY5CLibLIJ3sx",
"client_name": "Contact Name",
"client_country_code": "9x",
"client_number": "89709xxxxx",
"duration": "0",
"call_type": "Missed",
"call_date": "2023-09-13",
"call_time": "17:49:41",
"note": "",
"call_recording_url": "https://media1.callyzer.co/file/callyzer-audios/TESD56409978/20230113_234589.mp3",
"crm_status":v "Negavtive",
"reminder_date": "2023-09-15",
"reminder_time": "16:50:34",
"synced_at": "2023-09-13 17:53:49",
"modified_at": "2023-09-13 17:57:49"
}
]
}
]