系統會為每個撥打或接聽 Contact Center AI 平台 (CCAI 平台) 的電話建立通話物件。請參閱下列模型,判斷哪些欄位可能含有 PII。
[
{
"id": 0,
"parent_id": 0,
"lang": "en",
"call_type": "Voice Inbound (App)",
"status": "scheduled",
"sub_status": "Scheduled: Disconnected by unknown",
"created_at": "2018-06-07T19:49:52.896Z",
"queued_at": "2018-06-07T19:49:52.896Z",
"assigned_at": "2018-06-07T19:49:52.896Z",
"connected_at": "2018-06-07T19:49:52.896Z",
"ends_at": "2018-06-07T19:49:52.896Z",
"scheduled_at": "2018-06-07T19:49:52.896Z",
"updated_at": "2018-06-07T19:49:52.896Z",
"wait_duration": 0, //Deprecated, use queue_duration instead
"queue_duration": 0,
"call_duration": 0,
"hold_duration": 0,
"rating": 0,
"has_feedback": true,
"voip_provider": "voip_provider_twilio",
"out_ticket_id": "string",
"out_ticket_url": "string",
"verified": true,
"recording_url": "string",
"recording_permission": "not_asked",
"voicemail_reason": "not_voicemail",
"deflection": "no_deflection",
"disconnected_by": "disconnected_by_unknown",
"finish_reason": "no_reason",
"fail_details": "string",
"fail_reason": "nothing",
"adapter_fail_code": null,
"adapter_fail_message": null,
"support_number": "string",
"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": 0,
"name": "string",
"materialized_path": "string"
},
"agent_info": {
"id": 0,
"name": "string", //This may be considered PII
"last_name": "string", //This may be considered PII
"first_name": "string", //This may be considered PII
"agent_number": "string",
"avatar_url": "string"
},
"end_user": {
"id": 0, //This may be considered PII
"identifier": "string", //This may be considered PII
"out_contact_id": "string" //This may be considered PII
},
"photos": [
{
"id": 0, //This may be considered PII
"photo_type": "photo", //This may be considered PII
"url": "string" //This may be considered PII
}
],
"videos": [
{
"id": 0, //This may be considered PII
"url": "string" //This may be considered PII
}
],
"transfers": [
{
"id": 0,
"status": "transferring",
"fail_reason": "nothing",
"created_at": "2018-06-07T19:49:52.896Z",
"call_duration": 300,
"wait_duration": 40,
"assigned_at": "2018-06-07T19:50:32.896Z",
"connected_at": "2018-06-07T19:50:35.896Z",
"updated_at": "2018-06-07T19:55:35.896Z",
"deflection": 0,
"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", //This may be considered PII
"last_name": "string", //This may be considered PII
"first_name": "string", //This may be considered PII
"agent_number": "string",
"avatar_url": "string"
},
"to_agent": {
"id": 0,
"name": "string", //This may be considered PII
"last_name": "string", //This may be considered PII
"first_name": "string", //This may be considered PII
"agent_number": "string",
"avatar_url": "string"
}
}
],
"handle_durations": [
{
"agent_id": 0,
"acw_duration": 0,
"call_duration" 0,
"menu_path_id": 0,
"wait_duration": 0,
"lang": "en",
"transfer": false,
"started_at": "2019-07-17T07:27:14.000Z",
"ended_at": "2019-07-17T07:27:20.000Z",
"event": "call_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, //This may be considered PII
"end_user_id": 0, //This may be considered PII
"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",
"adapter_fail_code": null,
"adapter_fail_message": null
},
"offer_type": null,
"offer_events": [],
"answer_type": "manual",
"outbound_number": null,
"wait_time_sms": [],
"in_call_sms": []
]
}
]
狀態欄位可以是下列任一狀態:
| 通話狀態 | 說明 |
|---|---|
| 選取中 | 終端使用者已撥打電話至聯絡中心,但仍在瀏覽選單選項,尚未從葉節點提出通話要求時的狀態。 |
| 已排入佇列 | 使用者選取葉節點選單,並發起通話要求,要將通話轉接或多方通話給服務專員後,就會進入這個狀態。 |
| 已指派 | 當系統選取服務專員接聽使用者來電時,就會進入此狀態。當服務專員接聽電話時,就會發生這種情況。 |
| 連線中 | 指派專員後,等待使用者與專員建立連線的狀態。 |
| 已連線 | 通話已建立連線,服務專員和使用者都已加入通話時的狀態。 |
| 已完成 | 服務專員和終端使用者結束通話時,如果沒有發生任何錯誤,就會進入這個狀態。 |
| 失敗 | 通話因發生錯誤而結束時的狀態。系統顯示這個狀態時,也會提供失敗原因,方便您瞭解更多背景資訊 |
| 切換中 | 嘗試連線時通話失敗,CCAI Platform 嘗試透過其他 VoIP 供應商連線時的狀態。 |
| 已復原 | 通話失敗後回撥時的狀態。這項新通話是原始通話的子項。通話結束後,系統會復原記事,且不會發生錯誤。 |
| 已排定 | 終端使用者選擇日後接聽電話 (做為轉移選項),或使用網頁內或應用程式內功能選擇日後接聽電話時,就會進入這個狀態。 |
| 僅限動作 | 當由客戶自有電話服務供應商處理的通話連線至 iOS 或 Android SDK 時,就會發生這種狀態。 |
| 僅動作完成 | 當由客戶自有電話服務供應商處理的通話連線至 iOS 或 Android SDK 並結束時,就會發生這個狀態 |
| 碰到其他球員後轉向 | 根據過量佇列或下班後通話的設定而發生的狀態。轉接選項包括語音信箱、安排通話時間等。轉移率會因管道 (應用程式內、IVR、網頁內) 而異 |
| 語音留言 | 使用者轉接至語音信箱選項,並選擇留言供日後收聽時,就會進入這個狀態。使用者留言時會處於這個狀態 |
| 已收到語音留言 | 使用者留下語音留言後,服務專員尚未收聽語音留言時的狀態 |
| 已讀取語音留言 | 服務專員開啟語音留言並聆聽時的狀態。 |
call_type 欄位只能是下列其中一個值
| 呼叫類型 | 說明 |
|---|---|
| 語音來電 (IVR) | 使用者透過電話撥打的 PSTN 來電。 |
| Voice Inbound (App) | 使用 Mobile SDK 的 iOS 或 Android 應用程式發出的來電。 |
| 語音回撥 (網頁) | 透過 Web SDK 發出的來電要求 |
| 語音預約 (應用程式) | 代理商使用 Mobile SDK 排程功能預先安排的通話,對象為一般使用者。 |
| 語音排定 (網頁) | 透過 Web SDK 排程功能預先安排,由服務專員撥給使用者的電話 |
| Voice 外撥電話 | 服務專員使用撥號鍵盤或其他方法撥打外部電話線,向使用者發起的通話。 |
service_level_event 欄位只能是下列其中一個值:
| 服務層級事件 | 說明 |
|---|---|
| in_sla | 在服務水準協議 (SLA) 規定時間內接聽電話 |
| not_in_sla | 電話未在服務水準協議規定的時間內接聽 |
| 已排除 | 通話未納入服務等級協議計算 (例如通話遭放棄) |
如果 adapter_fail_code 和 adapter_fail_message 欄位不是空值,則只能是下列其中一個值:
| 介面卡失敗代碼 | 轉接程式失敗訊息 |
|---|---|
| 10001 | 通話發生未預期的錯誤。 |
| 11001 | 你在佇列中等待時,這通電話已逾時。 |
| 20001 | 這通電話已由顧客取消。 |
| 20002 | 客戶拒接這通電話。 |
| 20003 | 客戶已放棄這通電話。 |
| 20004 | 客戶在選取選單選項時放棄通話。 |
| 21001 | 無法接通電話,因為顧客的線路忙線中。 |
| 21002 | 撥打的電話號碼無效。 |
| 21003 | 顧客未接聽這通電話。 |
| 22001 | 無法傳送發起通話的推播通知。 |
| 30001 | 這場通話已取消。 |
| 30002 | 這場通話已過期,且無人接聽。 |
| 31001 | 無法偵測到麥克風。請檢查裝置設定,然後再試一次。 |
| 31002 | 無法存取麥克風,請檢查裝置權限,然後再試一次。 |
| 32001 | 所選外撥號碼無效。 |
| 32002 | 無法撥打電話號碼。 |
| 41001 | 通話連線發生未預期的錯誤。 |
| 42001 | 通話連線發生未預期的錯誤。 |
| 43001 | 通話發生未預期的錯誤。 |
| 44001 | 通話發生未預期的錯誤。 |
| 44002 | 連線逾時,因此通話已終止。 |
| 44003 | 通話發生未預期的錯誤。 |
| 90001 | 系統未偵測到音訊,因此通話已終止。 |
| 90002 | 無法啟動音訊裝置。請檢查音訊裝置權限,然後再試一次。 |
通話
| 參數 | 必填 | 資料類型 | 定義 |
|---|---|---|---|
| connected_at[from] | FALSE | 世界標準時間 | 建立「connected_at」欄位的下限。傳回的所有記錄都會早於輸入值。 |
| connected_at[to] | FALSE | 世界標準時間 | 建立 connected_at 欄位的上限。傳回的所有記錄都會早於輸入值。 |
| updated_at[from] | FALSE | 世界標準時間 | 建立更新時間欄位的下限。系統會傳回輸入值之後的所有記錄。 |
| updated_at[to] | FALSE | 世界標準時間 | 建立 connected_at 欄位的上限。傳回的所有記錄都會早於輸入值。 |
| queued_at[from] | FALSE | 世界標準時間 | 建立「已排入佇列」欄位的下限。系統會傳回輸入值之後的所有記錄。 |
| queued_at[to] | FALSE | 世界標準時間 | 建立「queued_at」欄位的上限。傳回的所有記錄都會早於輸入值。 |
| rating[from] | FALSE | 數字 1 到 5 或空值 | 建立評分欄位的下限。系統會傳回輸入值之後的所有記錄。 |
| rating[to] | FALSE | 數字 1 到 5 或空值 | 建立評分欄位的上限。傳回的所有記錄都會早於輸入值。 |
| call_duration[from] | FALSE | 數字 | 建立通話時間長度欄位的下限。系統會傳回輸入值之後的所有記錄。 |
| call_duration[to] | FALSE | 數字 | 建立通話時間長度欄位的上限。傳回的所有記錄都會早於輸入值。 |
| hold_duration[from] | FALSE | 數字 | 建立保留時間長度欄位的下限。系統會傳回輸入值之後的所有記錄。 |
| hold_duration[to] | FALSE | 數字 | 建立保留時間長度欄位的上限。傳回的所有記錄都會早於輸入值。 |
| id[] | FALSE | Array[String] | 字串陣列。要搜尋及傳回的記錄 ID。 |
| agent_id[] | FALSE | Array[String] | 依代理 ID 篩選回覆 |
| end_user_id[] | FALSE | Array[String] | 根據使用者 ID 篩選回應 |
| call_status[] | FALSE | Array[String] | 傳回通話生命週期中指定狀態的記錄。可能的值包括:scheduled、queued、assigned、connecting、switching、connected、finished、failed、recovered、deflected、selecting、action_only、action_only_finished、voicemail、voicemail_received、voicemail_read |
| call_fail_reason[] | FALSE | Array[String] | 傳回以特定方式失敗的記錄。可能的值包括:nothing、unknown、expired、eu_canceled、eu_rejected、eu_abandoned、eu_in_menu_abandoned、eu_busy、eu_wrong_number、eu_no_answer、eu_noti_failed、ag_canceled、ag_ignored、ag_mic_no_device、ag_mic_denied、voip_twilio_error、voip_tokbox_error、voip_invalid_token、voip_conn_general、voip_conn_timeout、voip_conn_signal |
| verified[] | FALSE | 布林值 | 傳回已驗證 (True) 或未驗證 (False) 的記錄 |
| call_type[] | FALSE | Array[String] | 傳回指定通話類型的記錄。可能的值包括:IncomingCallApp、ScheduledCallApp、OutboundCall、AgentScheduledCall、IvrCall、IncomingCallWeb、ScheduledCallWeb、ActionOnlyCall |
| support_number[] | FALSE | Array[String] | 依使用者聯絡時使用的電話號碼篩選 (僅限 IVR 通話) |
端點:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/calls
標頭:
| 鍵 | 值 | 說明 |
|---|---|---|
| Content-Type | application/json |
更多要求/回應範例:
要求範例:通話
內文:無
回覆範例:通話
[
{
"id": 1,
"lang": "en",
"call_type": "Voice Inbound (App)",
"status": "finished",
"created_at": "2016-02-19T18:53:56.000Z",
"queued_at": "2016-02-19T18:53:57.000Z",
"assigned_at": "2016-02-19T18:53:58.000Z",
"connected_at": "2016-02-19T18:54:18.000Z",
"ends_at": "2016-02-19T18:54:39.000Z",
"updated_at": "2016-02-19T18:54:39.000Z",
"scheduled_at": null,
"queue_duration": 22,
"wait_duration": 22,
"call_duration": 21,
"hold_duration": 0,
"rating": null,
"has_feedback": false,
"voip_provider": "voip_provider_twilio",
"out_ticket_id": null,
"out_ticket_url": null,
"verified": false,
"recording_url": null,
"recording_permission": "not_asked",
"voicemail_reason": "not_voicemail",
"deflection": "no_deflection",
"disconnected_by": "disconnected_by_unknown",
"fail_reason": "nothing",
"fail_details": null,
"recordings": [
{
"id": 7,
"call_id": 1,
"conference_sid": "CF50ec183fafcff801226b6fc332EC02ba7c4",
"duration": 20,
"recording_type": "default",
"redaction_times": [
{
"start": "2016-02-19T18:54:23.000Z",
"end": "2016-02-19T18:54:25.000Z",
"duration": 2.000,
"start_agent_id": 2,
"end_agent_id": 2
}
],
"started_at": "2016-02-19T18:54:18.000Z"
}
],
"support_number": "+12128675309",
"selected_menu": {
"id": 11,
"name": "Carpentry",
"parent_id": 1,
"position": 1,
"deleted": false,
"hidden": false,
"menu_type": "ivr_menu",
"output_msg": "Thanks for calling Death Star Carpentry"
},
"menu_path": {
"items_count": 1,
"name": "Carpentry",
"materialized_path": "Death Star/Carpentry"
},
"queue_priority_level": 0,
"end_user": {
"id": 3,
"identifier": "Death Star Carpentry Union",
"out_contact_id": "363876643527"
},
"photos": [{
"id": 0,
"photo_type": "photo",
"url": "www.photolocation.co/photo/123456868686"
}],
"videos": [{
"id": 0,
"url": "www.videolocation.co/video/123456868686"
}],
"transfers": [{
"id": 11,
"status": "transferring",
"fail_reason": "nothing",
"created_at": "2016-02-19T18:58:18.000Z",
"from_menu": {
"items_count": 2,
"name": "Cabinetry",
"materialized_path": "Death Star/Cabinetry"
},
"to_menu": {
"items_count": 2,
"name": "Carpentry",
"materialized_path": "Death Star/Carpentry"
},
"from_agent": {
"id": 2,
"name": "San Holo",
"last_name": "San",
"first_name": "Holo",
"agent_number": "6",
"avatar_url": "www.avatarurl.co/avatar/1234543"
},
"to_agent": {
"id": 0,
"name": "Farrison Hord",
"last_name": "Farrison",
"first_name": "Hord",
"agent_number": "12",
"avatar_url": "www.avatarurl.co/avatar/1234545"
}
}],
"participants": [
{
"id": 5,
"type": "end_user",
"status": "finished",
"call_id": 3,
"user_id": null,
"end_user_id": 3,
"call_duration": 21,
"hold_duration": null,
"connected_at": "2016-02-19T18:54:18.000Z",
"ended_at": "2016-02-19T18:54:39.000Z",
"fail_reason": "nothing"
},
{
"id": 3,
"type": "agent",
"status": "finished",
"call_id": 3,
"user_id": 5,
"end_user_id": null,
"call_duration": 21,
"hold_duration": null,
"connected_at": "2016-02-19T18:54:18.000Z",
"ended_at": "2016-02-19T18:54:39.000Z",
"fail_reason": "nothing"
},
{
"id": 6,
"type": "agent",
"status": "finished",
"call_id": 3,
"user_id": 12,
"end_user_id": null,
"call_duration": 21,
"hold_duration": null,
"connected_at": "2016-02-19T18:54:18.000Z",
"ended_at": "2016-02-19T18:54:39.000Z",
"fail_reason": "nothing"
}
],
"offer_type": "cascade",
"offer_events": [
{
"casting_time": "2018-11-12T15:52:38.000Z",
"group": "Group 1"
}
],
"answer_type": "manual",
"outbound_number": null,
"dispositions": [
{
"user_id": 3,
"participant_id": 225,
"code": "Product question"
},
{
"user_id": 3,
"transfer_id": 1,
"participant_id": 226,
"code": "Requires follow up"
}
],
"consumer_handle_durations": [
{
"id": 100,
"call_duration": 314,
"hold_duration": 3,
"started_at": "2016-02-19T18:50:08.000Z",
"ended_at": "2016-02-19T18:55:22.000Z"
}
],
"consumer_in_menu_durations": [
{
"id": 100,
"event": "finished",
"duration": 238,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"started_at": "2016-02-19T18:50:08.000Z",
"ended_at": "2016-02-19T18:54:06.000Z"
}
],
"consumer_event_durations": [
{
"id": 10,
"type": "payment",
"event": "finished",
"duration": 20,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"started_at": "2016-02-19T18:54:38.000Z",
"ended_at": "2016-02-19T18:54:58.000Z"
},
{
"id": 11,
"type": "csat",
"event": "abandoned",
"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": 10001,
"agent_id": 5,
"acw_duration": 0,
"bcw_duration": 0,
"call_duration": 21,
"assigned_connection_duration": 10,
"hold_duration": 3,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"barged": 0,
"transfer": 0,
"transfer_id": null,
"transfer_cold": 0,
"started_at": "2016-02-19T18:54:18.000Z",
"ended_at": "2016-02-19T18:54:39.000Z",
"scheduled_at": null
},
{
"id": 10002,
"agent_id": 5,
"acw_duration": 25,
"bcw_duration": 0,
"call_duration": 0,
"assigned_connection_duration": 0,
"hold_duration": 0,
"menu_path_id": 11,
"menu_path": "Deathstar/Shipping",
"lang": "en",
"barged": 0,
"transfer": 0,
"transfer_id": null,
"transfer_cold": 0,
"started_at": "2016-02-19T18:54:39.000Z",
"ended_at": "2016-02-19T18:55:04.000Z",
"scheduled_at": null
},
{
"id": 10003,
"agent_id": 12,
"acw_duration": 1,
"bcw_duration": 0,
"call_duration": 21,
"assigned_connection_duration": 5,
"hold_duration": 0,
"menu_path_id": 4,
"menu_path": "Deathstar/Returns",
"lang": "en",
"barged": 0,
"transfer": 1,
"transfer_id": 11,
"transfer_cold": 0,
"started_at": "2016-02-19T18:54:18.000Z",
"ended_at": "2016-02-19T18:54:39.000Z",
"scheduled_at": null
}
],
"queue_durations": [
{
"id": 20011,
"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-02-19T18:54:06.000Z",
"ended_at": "2016-02-19T18:54:18.000Z",
"service_level_abandon_time_threshold": 10,
"service_level_event": "in_sla",
"service_level_target_percent": 90,
"service_level_target_time": 60
},
{
"id": 20012,
"agent_id": 12,
"queue_duration": 10,
"menu_path_id": 21,
"menu_path": "Deathstar/Returns",
"lang": "en",
"transfer": 1,
"transfer_id": 11,
"transfer_cold": 0,
"started_at": "2016-02-19T18:54:08.000Z",
"ended_at": "2016-02-19T18:54:18.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_id": 1,
"escalation_reason": "by_end_user_message",
"escalated_at": "2016-02-19T18:54:06.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"
},
"call_duration": 11,
"escalation_reason": "by_end_user_message",
"sentiment": 85,
"response_count": 11,
"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-02-19T18:52:36.000Z",
"ended_at": "2016-02-19T18:54:06.000Z"
}
]
}
]
狀態碼:200