菜单表示代理可能会被分配到的队列,以及最终用户在联系代理时可能会选择的选项。每个对象表示一个菜单。
共有七个菜单端点:
/menu- 拉取菜单列表。/menu/tree- 以树形结构拉取菜单,该结构模仿最终 用户用于与代理联系的路径。/menu/{:id}- 拉取单个菜单资源。/menu/current_status- 返回队列中有 消费者等待的菜单的当前队列状态。/menu/sla- 返回从现在到之前 指定分钟数的所有菜单路径的 SLA。/menu/sla_by_queue_group- 返回从现在 到之前指定分钟数的所有队列组的 SLA。/menus/operation_hours- 返回菜单的营业时间。
请参阅以下模型,以确定哪些字段可能包含 PII:
{
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"hidden": "string",
"menu_type": "ivr_menu",
"output_msg": "string",
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "chat",
"assignee": {
"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"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "chat",
"team": {
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"agents_count": 0,
"assignees": {
"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"
}
}
}
]
}
菜单列表
| 参数 | 必需 | 数据类型 | 定义 |
|---|---|---|---|
| sort_column | FALSE | 字符串 | 根据响应对象中的任何字段对响应进行排序。 |
| sort_direction | FALSE | ASC 或 DESC | 记录排序方向,无论是升序还是降序 |
| 页面 | FALSE | 字符串 | 与“每”配对,以记录记录的页面。例如,如果“每”设置为 200,而“页面”为 2,则响应将包含记录 201-400,因为第 1 页将包含 1-200。 |
| 每 | FALSE | 字符串 | 与“页面”配对,以记录页面中包含的记录数。例如,如果“每”设置为 200,而“页面”为 2,则响应将包含记录 201-400,因为第 1 页将包含 1-200。 |
| id[] | FALSE | 数组 [字符串] | 数组 [字符串]。要搜索和返回的记录的 ID |
| name[] | FALSE | 数组 [字符串] | 根据资源名称返回记录。 |
| parent_id[] | FALSE | 数组 [字符串] | 根据给定记录的父 ID 返回记录 |
| position[] | FALSE | 数组 [字符串] | 根据菜单所处的位置返回记录 |
| menu_type[] | FALSE | 数组 [字符串] | 根据菜单类型返回记录。可能的值:ivr_menu、mobile_menu、web_menu |
| hidden[] | FALSE | 布尔值 | 返回已隐藏的记录 (True) 或不包含已隐藏的记录 (False) |
| with_deleted | FALSE | 布尔值 | 返回已删除的记录 (True) 或不包含已删除的记录 (False) |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus
更多请求/响应示例:
请求示例:菜单列表
正文:无
响应示例:菜单列表
[
{
"id": 1693,
"name": "Death Star",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "ivr_menu",
"output_msg": "You have reached the Death Star",
"hidden": false,
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 97,
"agent_number": 97,
"name": "Darth Vader",
"last_name": "Darth",
"first_name": "Vader"
}
},
{
"lang": "it",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 1407,
"agent_number": 123,
"name": "Moff Tarkin",
"last_name": "Moff",
"first_name": "Tarkin"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"team": {
"id": 10,
"name": "Storm Troopers",
"parent_id": null,
"position": 1,
"agents_count": 48,
"deleted": false,
"assignees": [
{
"id": 1,
"agent_number": null,
"name": "Storm Troooper 1",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 2,
"agent_number": null,
"name": "Storm Troooper 2",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 3,
"agent_number": null,
"name": "Storm Troooper 3",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
}
]
}
}
]
}]
状态代码: 200
菜单树
| 参数 | 必需 | 数据类型 | 定义 |
|---|---|---|---|
| menu_type | FALSE | 数组 [字符串] | 根据菜单类型返回记录。可能的值:ivr_menu、mobile_menu、web_menu |
| lang | FALSE | 字符串 | 返回具有特定语言属性的记录。可能的值:en、es、fr、de |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/tree
更多请求/响应示例:
请求示例:菜单树
正文:无
响应示例:菜单树
[
{
"id": 2029,
"name": "Mobile 1",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2024,
"name": "Death Star Venting System",
"parent_id": null,
"position": 1,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2025,
"name": "Droid Repair",
"parent_id": null,
"position": 2,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2049,
"name": "Emperor's Hotline",
"parent_id": null,
"position": 3,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2026,
"name": "Storm Trooper Armor",
"parent_id": null,
"position": 4,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": [
{
"id": 2036,
"name": "Armor Polishing Team",
"parent_id": 2026,
"position": 0,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
}
]
}]
状态代码: 200
单个菜单
| 参数 | 必需 | 数据类型 | 定义 |
|---|---|---|---|
| record_id | FALSE | 字符串 | 根据 ID 返回特定记录 |
| with_deleted | FALSE | 布尔值 | 返回已删除的记录 (True) 或不包含已删除的记录 (False) |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/{{menu_id}}
更多请求/响应示例:
请求示例:单个菜单
正文:无
响应示例:单个菜单
[
{
"id": 1693,
"name": "Death Star",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "ivr_menu",
"output_msg": "You have reached the Death Star",
"hidden": false,
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 97,
"agent_number": 97,
"name": "Darth Vader",
"last_name": "Darth",
"first_name": "Vader"
}
},
{
"lang": "it",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 1407,
"agent_number": 123,
"name": "Moff Tarkin",
"last_name": "Moff",
"first_name": "Tarkin"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"team": {
"id": 10,
"name": "Storm Troopers",
"parent_id": null,
"position": 1,
"agents_count": 48,
"deleted": false,
"assignees": [
{
"id": 1,
"agent_number": null,
"name": "Storm Troooper 1",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 2,
"agent_number": null,
"name": "Storm Troooper 2",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 3,
"agent_number": null,
"name": "Storm Troooper 3",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
}
]
}
}
]
}]
状态代码: 200
菜单当前状态
菜单当前状态会返回所有具有排队通话或聊天的菜单,并提供有关这些排队项时长的其他数据。
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/current_status
更多请求/响应示例:
请求示例:菜单当前状态
正文:无
响应示例:菜单当前状态
[
{
"menu_id": 10,
"lang": "en",
"menu_path_id": 5,
"menu_path": "zdco IVR Support/1 Day Shipping",
"comm_type": "Call",
"in_queue_count": 2,
"oldest_in_queue": "2021-05-10T22:17:21.000Z",
"oldest_duration_in_queue": 300,
"total_queue_duration": 400,
"average_queue_duration": 200
}
]
状态代码: 0
菜单 SLA
| 参数 | 必需 | 数据类型 | 定义 |
|---|---|---|---|
| 频道 | TRUE | 字符串 | 字符串。接受的值:call、chat |
| 分钟 | TRUE | 字符串 | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla
查询参数:
| 键 | 值 | 说明 |
|---|---|---|
| 频道 | {channel} | 字符串。接受的值:call、chat |
| 分钟 | {minutes} | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
更多请求/响应示例:
请求示例:菜单 SLA
查询:
| 键 | 值 | 说明 |
|---|---|---|
| 频道 | {channel} | 字符串。接受的值:call、chat |
| 分钟 | {minutes} | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
正文:无
响应示例:菜单 SLA
[
{
"menu_path_id": 100,
"lang": "en",
"menu_path": "Support/1 Day Shipping",
"sla": 96.5
},
{
"menu_path_id": 100,
"lang": "es",
"menu_path": "Support/1 Day Shipping Spanish",
"sla": 99.0
},
{
"menu_path_id": 101,
"lang": "en",
"menu_path": "Support/3 Day Shipping",
"sla": 0.0
}
]
状态代码: 200
队列组 SLA
| 参数 | 必需 | 数据类型 | 定义 |
|---|---|---|---|
| 频道 | TRUE | 字符串 | 字符串。接受的值:call、chat |
| 分钟 | TRUE | 字符串 | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla_by_queue_groups
查询参数:
| 键 | 值 | 说明 |
|---|---|---|
| 频道 | {channel} | 字符串。接受的值:call、chat |
| 分钟 | {minutes} | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
更多请求/响应示例:
请求示例:队列组 SLA
查询:
| 键 | 值 | 说明 |
|---|---|---|
| 频道 | {channel} | 字符串。接受的值:call、chat |
| 分钟 | {lminutes} | 字符串。计算 SLA 时,从现在开始回溯的分钟数。例如,值 15 表示请求每个菜单路径过去 15 分钟的 SLA |
正文:无
响应示例:队列组 SLA
[
{
"queue_group_id": 20,
"queue_group_name": "Shipping",
"sla": null
},
{
"queue_group_id": 24,
"queue_group_name": "Customer Support",
"sla": 99.2
},
{
"queue_group_id": 29,
"queue_group_name": "Escalations",
"sla": 98.3
}
]
状态代码: 200
菜单营业时间
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/operation_hours
查询参数:无
更多请求/响应示例:
请求示例:菜单营业时间
查询:无
正文:无
响应示例:菜单营业时间
[
{
"created_at": "2020-07-31T03:08:29.000Z",
"fri_end_time": 86400,
"fri_start_time": 0,
"holidays": [],
"id": 1,
"mon_end_time": 86400,
"mon_start_time": 0,
"sat_end_time": 86400,
"sat_start_time": 0,
"sun_end_time": 86400,
"sun_start_time": 0,
"thu_end_time": 86400,
"thu_start_time": 0,
"time_zone": "Africa/Cairo",
"tue_end_time": 86400,
"tue_start_time": 0,
"updated_at": "2021-03-24T13:23:43.000Z",
"wed_end_time": 86400,
"wed_start_time": 0
},
{
"created_at": "2022-08-01T11:33:21.000Z",
"fri_end_time": 28800,
"fri_start_time": 21600,
"holidays": [],
"id": 2,
"mon_end_time": 28800,
"mon_start_time": 21600,
"sat_end_time": 0,
"sat_start_time": 0,
"sun_end_time": 0,
"sun_start_time": 0,
"thu_end_time": 28800,
"thu_start_time": 21600,
"time_zone": "Europe/Helsinki",
"tue_end_time": 28800,
"tue_start_time": 21600,
"updated_at": "2022-11-09T10:47:20.000Z",
"wed_end_time": 28800,
"wed_start_time": 21600
}
]
状态代码: 200