菜单表示可以分配给客服人员的队列,以及最终用户在联系客服人员时可以选择的选项。每个对象代表一个菜单。
共有七个菜单端点:
/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 | 字符串 | 与“per”搭配使用,表示记录的页数。例如,如果 per 设为 200,page 设为 2,则响应将包含记录 201-400,因为 page 1 包含 1-200。 |
| 每 | FALSE | 字符串 | 与 page 搭配使用,用于指明一页记录中应包含多少条记录。例如,如果 per 设为 200,page 设为 2,则响应将包含记录 201-400,因为 page 1 将包含 1-200。 |
| id[] | FALSE | Array[String] | Array[Strings]。要搜索和返回的记录的 ID |
| name[] | FALSE | Array[String] | 根据资源名称返回记录。 |
| parent_id[] | FALSE | Array[String] | 根据给定记录的父级 ID 返回记录 |
| position[] | FALSE | Array[String] | 根据菜单所在的位置返回记录 |
| menu_type[] | FALSE | 字符串 | 要返回其树的菜单类型。传递不带括号的单个值,例如 menu_type=ivr_menu。如果您省略 menu_type,API 会返回移动菜单树。如需检索多种菜单类型,请针对每种类型分别请求一次树。 |
| hidden[] | FALSE | 布尔值 | 返回已隐藏的记录 (True) 或不包含已隐藏的记录 (False) |
| with_deleted | FALSE | 布尔值 | 返回已删除的记录 (True) 或不包含已删除的记录 (False) |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus
更多请求/响应示例:
示例请求:菜单列表
Body: None
示例回答:菜单列表
[
{
"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 | Array[String] | 根据菜单类型返回记录。每种类型传递一次 menu_type[],例如 menu_type[]=ivr_menu&menu_type[]=web_menu,即使只有一种类型,也请使用此数组形式。如果您的 HTTP 客户端需要,请将方括号编码为 menu_type%5B%5D。如果您省略 menu_type[],API 会返回所有类型的菜单。该 API 不会根据类型参数进行过滤。 |
| lang | FALSE | 字符串 | 要返回其树的语言。如果您省略 lang,API 会返回 en 树。如需检索多种语言,请针对每种语言分别请求一次树。 |
端点:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/tree
更多请求/响应示例:
示例请求:菜单树
Body: None
示例回答:菜单树
[
{
"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}}
更多请求/响应示例:
示例请求:单个菜单
Body: None
示例回答:单个菜单
[
{
"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
更多请求/响应示例:
示例请求:菜单当前状态
Body: None
示例回答:菜单当前状态
[
{
"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 |
Body: None
示例回复:菜单服务等级协议 (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 |
Body: None
示例回答:队列组 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
查询参数:无
更多请求/响应示例:
示例请求:菜单营业时间
查询:无
Body: None
示例回答:菜单营业时间
[
{
"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