The following is a model of the chat resource. Refer to this model to determine which fields might contain PII.
[
{
"id": 31354,
"lang": "en",
"chat_type": "Messaging Inbound (App Chat)",
"status": "finished",
"sub_status": "Disconnected by end user",
"created_at": "2019-07-17T07:27:14.000Z",
"assigned_at": "2019-07-17T07:27:20.000Z",
"ends_at": "2019-07-17T07:29:02.000Z",
"updated_at": "2019-07-17T07:29:02.000Z",
"first_msg_sent_at": "2019-07-17T07:27:26.000Z",
"last_msg_sent_at": "2019-07-17T07:27:28.000Z",
"wait_duration": 0, //Deprecated, use queue_duration instead
"queue_duration": 0,
"chat_duration": 0,
"verified": false,
"rating": 0,
"has_feedback": false,
"out_ticket_id": "string",
"out_ticket_url": "string",
"finish_reason": "finish_reason_none",
"fail_reason": null,
"message_count": 3,
"average_response_time": 0,
"longest_response_time": 0,
"selected_menu": {
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"hidden": "string",
"menu_type": "ivr_menu",
"output_msg": "string"
},
"menu_path": {
"items_count": 1,
"name": "Ringo",
"materialized_path": "3389"
},
"agent_info": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
},
"end_user": {
"id": 0,
"identifier": "string",
"out_contact_id": "string"
},
"photos": [
{
"id": 0,
"photo_type": "photo",
"url": "string"
}
],
"videos": [
{
"id": 0,
"url": "string"
}
],
"transfers": [
{
"id": 0,
"status": "transferring",
"fail_reason": "nothing",
"created_at": "2018-06-07T19:49:52.896Z",
"from_menu": {
"items_count": 0,
"name": "string",
"materialized_path": "string"
},
"to_menu": {
"items_count": 0,
"name": "string",
"materialized_path": "string"
},
"from_agent": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
},
"to_agent": {
"id": 0,
"name": "string",
"last_name": "string",
"first_name": "string",
"agent_number": "string",
"avatar_url": "string"
}
}
],
"handle_durations": [
{
"agent_id": 0,
"acw_duration": 0,
"chat_duration" 0,
"wait_duration": 0,
"menu_path_id": 0,
"lang": "en",
"transfer": false,
"started_at": "2019-07-17T07:27:14.000Z",
"ended_at": "2019-07-17T07:27:20.000Z",
"event": "chat_finished"
}
],
"queue_durations": [
{
"agent_id": 0,
"queue_duration" 0,
"menu_path_id": 0,
"lang": "en",
"transfer": false,
"started_at": "2019-07-17T07:27:14.000Z",
"ended_at": "2019-07-17T07:27:20.000Z",
"service_level_abandon_time_threshold": 10,
"service_level_event": "not_in_sla",
"service_level_target_percent": 90,
"service_level_target_time": 60,
"event": "answered"
}
],
"participants": [
{
"id": 0,
"type": "end_user",
"status": "waiting",
"call_id": 0,
"user_id": 0,
"end_user_id": 0,
"call_duration": 0,
"hold_duration": 0,
"connected_at": "2018-06-07T19:49:52.896Z",
"ended_at": "2018-06-07T19:49:52.896Z",
"fail_reason": "nothing"
}
]
}
"offer_type": "cascade",
"offer_events": [
{
"casting_time": "2019-07-17T07:27:15.000Z",
"group": "Group 1"
}
]
},
The service_level_event field can only be one of the following values:
Service Level Event | Description |
---|---|
in_sla | Call was answered within SLA |
not_in_sla | Call was not answered within defined SLA |
excluded | Call was not included in SLA calculation (e.g. if call was abandoned) |
Chats
Parameter | Required | Data Type | Definition |
---|---|---|---|
sort_column | FALSE | String | Sorts response based on any field in the response object. |
sort_direction | FALSE | ASC or DESC | Notes the direction of the sort, whether ascending or descending |
page | FALSE | String | Pairs with per to note what page of records. For example if per is made to be 200 and page is 2, the response would contain record 201-400, as page 1 would contain 1-200. |
per | FALSE | String | Pairs with page to note how many records would be included in a page of records. For example if per is made to be 200 and page is 2, the response would contain record 201-400, as page 1 would contain 1-200. |
assigned_at[from] | FALSE | Time in UTC | creates a lower bound of the assigned at field. All records returned will be after the inputted value. |
assigned_at[to] | FALSE | Time in UTC | creates an upper bound of the assigned at field. All records returned will be before the inputted value. |
ends_at[from] | FALSE | Time in UTC | creates a lower bound of the ends at field. All records returned will be after the inputted value. |
ends_at[to] | FALSE | Time in UTC | creates an upper bound of the ends at field. All records returned will be before the inputted value. |
updated_at[from] | FALSE | Time in UTC | creates a lower bound of the updated at field. All records returned will be after the inputted value. |
updated_at[to] | FALSE | Time in UTC | creates an upper bound of the updated at field. All records returned will be before the inputted value. |
created_at[from] | FALSE | Time in UTC | creates a lower bound of the created at field. All records returned will be after the inputted value. |
created_at[to] | FALSE | Time in UTC | creates an upper bound of the created at field. All records returned will be before the inputted value. |
rating[from] | FALSE | Number 1-5 or null | creates a lower bound of the rating field. All records returned will be after the inputted value. |
rating[to] | FALSE | Number 1-5 or null | creates an upper bound of the rating field. All records returned will be before the inputted value. |
first_msg_sent_at[from] | FALSE | Time in UTC | creates a lower bound of the first msg sent at field. All records returned will be after the inputted value. |
first_msg_sent_at[to] | FALSE | Time in UTC | creates an upper bound of the first msg sent at field. All records returned will be before the inputted value. |
last_msg_sent_at[from] | FALSE | Time in UTC | creates a lower bound of the last msg sent at field. All records returned will be after the inputted value. |
last_msg_sent_at[to] | FALSE | Time in UTC | creates an upper bound of the last msg sent at field. All records returned will be before the inputted value. |
chat_duration[from] | FALSE | Number | creates a lower bound of the chat duration field. All records returned will be after the inputted value. |
chat_duration[to] | FALSE | Number | creates an upper bound of the chat duration field. All records returned will be before the inputted value. |
message_count[from] | FALSE | Number | creates a lower bound of the message count field. All records returned will be after the inputted value. |
message_count[to] | FALSE | Number | creates an upper bound of the message count field. All records returned will be before the inputted value. |
average_response_time[from] | FALSE | Number | creates a lower bound of the average response time field. All records returned will be after the inputted value. |
average_response_time[to] | FALSE | Number | creates an upper bound of the average response time field. All records returned will be before the inputted value. |
longest_response_time[from] | FALSE | Number | creates a lower bound of the longest response time field. All records returned will be after the inputted value. |
longest_response_time[to] | FALSE | Number | creates an upper bound of the longest response time field. All records returned will be before the inputted value. |
wait_duration[from] | FALSE | Number | creates a lower bound of the wait duration field. All records returned will be after the inputted value. |
wait_duration[to] | FALSE | Number | creates an upper bound of the wait duration field. All records returned will be before the inputted value. |
id[] | FALSE | Array[String] | Array[Strings]. Id of records to search and return |
agent_id[] | FALSE | Array[String] | Filters response by agent id |
end_user_id[] | FALSE | Array[String] | Filters response based on the end user id |
chat_type[] | FALSE | Array[String] | Returns records based on how chat was accessed by the end user. Possible values: Messaging Inbound (App Chat), Messaging Inbound (Web Chat), Messaging (SMS) |
chat_status[] | FALSE | Array[String] | Returns records based on where the user is in the chat lifecycle. Possible values: queued, assigned, finished, canceled, failed, no_response |
verified[] | FALSE | Boolean | Returns records that either have been verified (True) or have not been verified (False) |
chat_fail_reason[] | FALSE | Array[String] | Returns records based on why a chat may have failed. Possible values: nothing, unknown, no_response, expired |
The service_level_event
value can have the following values.
Service Level Event | Description |
---|---|
in_sla | Call was answered within SLA |
not_in_sla | Call was not answered within defined SLA |
excluded | Call was not included in SLA calculation (e.g. if call was abandoned) |
Endpoint:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/chats
More example Requests/Responses:
Example request: Chats
Query:
Key | Value | Description |
---|---|---|
updated_at[from] | \{updated_at\[from\]\} | Time in UTC. creates a lower bound of the updated at field. All records returned will be after the inputted value. |
updated_at[to] | \{updated_at\[to\]\} | Time in UTC. creates an upper bound of the updated at field. All records returned will be before the inputted value. |
Body: None
Example response: Chats
[
{
"id": 1,
"lang": "en",
"chat_type": "Messaging Inbound (App Chat)",
"status": "finished",
"created_at": "2016-02-26T18:35:54.000Z",
"assigned_at": "2016-02-26T18:36:05.000Z",
"ends_at": "2016-02-26T18:37:24.000Z",
"updated_at": "2016-02-26T18:37:24.000Z",
"first_msg_sent_at": null,
"last_msg_sent_at": null,
"chat_duration": 11,
"wait_duration": 22,
"queue_duration": 22,
"verified": true,
"rating": 5,
"has_feedback": false,
"out_ticket_id": "209",
"out_ticket_url": null,
"fail_reason": null,
"message_count": 0,
"average_response_time": 0,
"longest_response_time": 0,
"selected_menu": null,
"menu_path": null,
"agent_info": {
"id": 4,
"agent_number": "007",
"name": "Storm Trooper 1",
"last_name": "Storm",
"first_name": "Trooper 1",
},
"end_user": {
"id": 1,
"identifier": "Death Star Carpentry",
"out_contact_id": "360949501087"
},
"photos": [
{
"id": 3,
"photo_type": "photo",
"url": "true"
}
],
"consumer_handle_durations": [
{
"id": 100,
"chat_duration": 314,
"message_count": 10,
"response_count": 6,
"response_time_total": 85,
"response_time_max": 25,
"response_time_avg": 12,
"started_at": "2016-02-19T18:50:08.000Z",
"ended_at": "2016-02-19T18:55:22.000Z"
}
],
"consumer_event_durations": [
{
"id": 11,
"type": "csat",
"event": "finished",
"duration": 4,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"started_at": "2016-02-19T18:54:39.000Z",
"ended_at": "2016-02-19T18:54:43.000Z"
}
],
"handle_durations": [
{
"id": 30001,
"agent_id": 4,
"acw_duration": 0,
"chat_duration": 11,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"transfer": 0,
"transfer_id": null,
"started_at": "2016-03-02T23:24:08.000Z",
"ended_at": "2016-03-02T23:24:42.000Z",
"response_count": 11,
"response_time_total": 259,
"response_time_max": 29,
"response_time_avg": 24,
"assigned_connection_duration": 10
}
],
"queue_durations": [
{
"id": 41234,
"agent_id": 5,
"queue_duration": 22,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"transfer": 0,
"transfer_id": null,
"transfer_cold": 0,
"started_at": "2016-03-02T23:23:56.000Z",
"ended_at": "2016-03-02T23:24:08.000Z",
"service_level_abandon_time_threshold": 10,
"service_level_event": "not_in_sla",
"service_level_target_percent": 90,
"service_level_target_time": 60
}
]
"videos": [],
"transfers": [],
"participants": [],
"virtual_agent": null,
"virtual_agent_deflected_escalations": [],
"virtual_agent_handle_durations": []
},
{
"id": 2,
"lang": "en",
"chat_type": "in-app",
"status": "finished",
"created_at": "2016-03-02T23:24:05.000Z",
"assigned_at": "2016-03-02T23:24:08.000Z",
"ends_at": "2016-03-02T23:24:42.000Z",
"updated_at": "2016-03-02T23:24:42.000Z",
"first_msg_sent_at": null,
"last_msg_sent_at": null,
"wait_duration": 12,
"queue_duration": 12,
"chat_duration": 34,
"verified": false,
"rating": 2,
"has_feedback": false,
"out_ticket_id": "214",
"out_ticket_url": null,
"fail_reason": null,
"message_count": 0,
"average_response_time": 0,
"longest_response_time": 0,
"selected_menu": null,
"menu_path": null,
"agent_info": null,
"end_user": {
"id": 1,
"identifier": "Death Star Carpentry",
"out_contact_id": "360949501087"
},
"photos": [],
"videos": [],
"transfers": [],
"participants": [],
"handle_durations": [
{
"id": 30001,
"agent_id": 4,
"acw_duration": 0,
"chat_duration": 34,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"transfer": 0,
"transfer_id": null,
"started_at": "2016-03-02T23:24:08.000Z",
"ended_at": "2016-03-02T23:24:42.000Z",
"response_count": 11,
"response_time_total": 259,
"response_time_max": 29,
"response_time_avg": 24,
"assigned_connection_duration": 10
}
],
"queue_durations": [
{
"id": 41234,
"agent_id": 5,
"queue_duration": 12,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"transfer": 0,
"transfer_id": null,
"transfer_cold": 0,
"started_at": "2016-03-02T23:23:56.000Z",
"ended_at": "2016-03-02T23:24:08.000Z",
"service_level_abandon_time_threshold": 10,
"service_level_event": "not_in_sla",
"service_level_target_percent": 90,
"service_level_target_time": 60
}
],
"virtual_agent": {
"id": 10,
"name": "D2-R2"
},
"virtual_agent_deflected_escalations": [
{
"id": 1,
"deflection": "after_hours",
"escalation_reason": "by_end_user_message",
"escalated_at": "2016-03-02T23:23:56.000Z",
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"virtual_agent": {
"id": 10,
"name": "D2-R2"
}
}
],
"virtual_agent_handle_durations": [
{
"id": 1,
"virtual_agent": {
"id": 10,
"name": "D2-R2"
},
"chat_duration": 11,
"escalation_reason": "by_end_user_message",
"response_count": 11,
"response_time_total": 34,
"response_time_max": 4,
"response_time_avg": 3,
"fallback_response_count": 1,
"initiated_by": "end_user",
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"transfer": false,
"transfer_id": null,
"started_at": "2016-03-02T23:23:16.000Z",
"ended_at": "2016-03-02T23:23:56.000Z"
}
]
}
]
Status Code: 200