Callyzer APIs 2.0

API Base URL

Call Log APIs

Fetch Summary Report

It returns the total 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

Request Parameters

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

Rules

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.
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary

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

Fetch Employee Summary Report

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

Request Parameters

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

Rules

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 ‘’.
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
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary

    
{
    "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"
                }
            }
        ]
    },
    "message":  "Success"
}

Fetch Analysis Report

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

Request Parameters

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

Rules

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 ‘’.
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
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary

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

Fetch Never Attended Report

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

Request Parameters

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

Rules

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.
  1. If any parameter has blank or null value then it will be ignored.

  2. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary

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

Fetch Not Pickup By Client Report

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

Request Parameters

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

Rules

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.
  1. If any parameter has blank or null value then it will be ignored.

  2. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary

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

Fetch Unique Clients Report

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

Request Parameters

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

Rules

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.
  1. If any parameter has blank or null value then it will be ignored.

  2. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

Fetch Hourly Analytics Report

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

Request Parameters

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.

Rules

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 ‘’.
All the values in “emp_numbers” should be exists The ‘’ numbers doesn’t exist.
All the values in “emp_tags” should be exists The ‘’ 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
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

Fetch Day-wise Analytics Report

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

Request Parameters

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)

Rules

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”.
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

Fetch Call History Report

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

Request Parameters

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

Rules

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>’.
  1. If any parameter has blank or null value then it will be ignored.

  2. If “duration_les_than” and “duration_grt_than” both are present then it would be between conditions. The given values are excluded.

  3. This API can be used for deleted employee numbers as well.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

Fetch Call History By Ids

It returns total calls, total connected calls and total duration hour wise for each day.

URL /v2/call-log/get
HTTP Method POST

Request Parameters

Param Key Is Mandatory? Type Description
unique_ids Yes String Array Unique ids of call log.

Rules

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.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

Remove Call Recording

It allows the removal of call recording from Callyzer.

URL /v2/call-log/call-recording/remove
HTTP Method DELETE

Request Parameters

Param Key Is Mandatory? Type Description
unique_ids Yes String Array Unique ids of call log.

Rules

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.

Response Parameters

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 Response Codes

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

Sample Response of Summary

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

Lead APIs

Create Lead

Lets you create a lead to the Callyzer application.

URL /v2/lead/save
HTTP Method POST
Content Type application/json

Request Parameters

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: Assign to All Employees, Minimum Leads, Random, Round Robin
  • Assign to All Employees: Lead will be assigned to All the Employees. If "emp_tags" values are present, then it will be assigned to only those employees with provided tags and active lead feature.

  • Minimum Leads: Lead will be assigned to only an employee having a minimum number of leads assigned. If "emp_tags" values are present then those employees will be considered else All the employees will be considered to get the minimum assigned leads count.

  • Random: Lead will be assigned to only one Random employee either from "emp_tags" values, if present or from All the employees.

  • Round Robin: Lead will be assigned in sequence for given "emp_tags" value.

If "emp_tags" value is not present, then All the employees will be assigned in sequence.
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.
email 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’.
  • Ignore: Don’t make any changes to the lead details.

  • Overwrite: Update all the fields as per this new request.

  • UpdateBlankOnly: Update only those fields which are blank.

assignee No String Any one from below, default will be ‘Ignore’.
  • Ignore: Don’t make any changes to the assignment.

  • Overwrite: Remove the existing assignment and update as per this new request

  • Append: Keep existing tags and add new tags as per the this new request

lead_tags No String Any one from below, default will be ‘Ignore’.
  • Ignore: Don’t make any changes to the lead tags.

  • Overwrite: Remove the existing tags and add tags as per this new request

  • Append: Keep existing assignment and append as per the this new request

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.

Rules

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.
  1. 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

  2. Check for the “strategy”, “lead_details”, “assignee” and “existing_lead > lead_tags”, should be case insensitive.

Response Parameters

Param Key Data Type Description
message String Either success or error message

HTTP Response Codes

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

Sample Response of Summary


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

Employee APIs

Fetch Employee Details

Lets you fetch the details of employees.

URL /v2/employee/get
HTTP Method GET

Request Parameters

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

Rules

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.
  1. 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

  2. Check for the “strategy”, “lead_details”, “assignee” and “existing_lead > lead_tags”, should be case insensitive.

Response Parameters

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 Response Codes

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

Sample Response of Summary


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

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.

Prerequisites

  • You must be an admin user.
  • You must have a webhook URL you want to send data to.

Create a Webhook

  1. Navigate to Connectors > API & Webhook > Webhook Config > Webhook
  2. Fill in the webhook details. Webhook URL (In most cases HTTP is sufficient, but HTTPS can be useful if your data is sensitive) fields are mandatory.
  3. Click on Test Webhook
  4. Click on Create Webhook
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.

Payload JSON

                                                    
                                                    
                     [
                        {
                          "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"
                                    }
                                ]
                        }
                     ]  
                       
                                                

Webhook History

You can view the webhook execution history. Hover your cursor over the Actions button and click on View History. You can see the transmission date, its status and data transmitted.

  • You’ll see the status as Success if the URL entered returns the HTTP code 200.
  • You’ll see the status as Failure if the URL entered returns an HTTP code other than 200. We try 3 times before marking an attempt as a failure. In addition to this, you will see the status as In Queue if the data is not yet posted to the URL.