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