开发者资源

Estimated Wait Time API

概览

此 API 端点会返回每个队列的计算得出的预计等待时间 (EWT)。

这可用于在 Contact Center AI 平台 (CCAI 平台) SDK 之外的网页或移动应用上显示自定义支持渠道 EWT,或用于自定义通知或触发器。

示例请求

网址:http://{​{subdomain}​}.{​{domain}​}/apps/api/v1/wait_times

参数

ID 字段名称 类型 必需 说明 备注
1 menu_id id 响应将过滤相应菜单的子菜单中的所有菜单(队列),包括相应菜单 根菜单(默认) 特定菜单 如果未传递任何内容,将返回整个队列结构
2 channel_type 枚举 返回特定频道的菜单 语音通话 聊天 可选参数
3 menu_type 枚举 返回特定类型的菜单

ivr_menu

mobile_menu

web_menu

全部(默认)

可选
4 等待 [从] 整数 如果记录的等待时间大于指定值,则返回相应记录 验证:仅限正整数
5 wait[to] 整数 如果记录的等待时间小于指定值,则返回相应记录 验证:仅限正整数
6 lang 枚举 用于检索 ewt 的队列结构

例如:“en”“es”“fr”“de”

“it”“ja”“ko”“pt”

“pt-BR”“sv”

响应

ID 字段名称 类型 必需 说明
1 menu_id id 指向 /menus 管理器 API 端点的外键
2 wait INT 等待时间(以分钟为单位)
3 具体化路径 字符串 在 /menus API 中找到的具体化路径

示例

http://{​{subdomain}​}.{​{domain}​}apps/api/v1/wait_times?lang=en&menu_id=10

[
    {
        "menu_id": 10,
        "menu_type": "ivr_menu",
        "voice_call": 120,
        "materialized_path": "Subscription",
        "logged_in_agents": 3,
        "available_agents": 0,
        "breakthrough_agents": 1
    }
]

状态代码 200

菜单 ID 10 的预计等待时间为 120 秒(或 2 分钟)

多个移动应用 (MMA)

概览

允许将移动 (Pro) SDK 集成到多个不同的移动应用中。

如果您有两款不同的 iOS 和 Android 应用(一款面向客户,一款面向员工),则可以分别控制每款应用的技术设置、队列结构和路由。

管理员配置

可选择启用多移动应用 (MMA) 模式,以便管理现有或新的移动应用

  • 按移动应用进行应用内队列管理:为每个移动应用定义不同的队列结构和客服人员分配。

  • 语言和消息:为每种移动应用和语言组合定义不同的应用内消息。

  • 每个移动应用的 PSTN 回退到 IVR 队列:在无法进行 VoIP 呼叫时,将每个移动应用分配给一个顶级 IVR 队列以进行回退呼叫

指南

第 1 步:SDK 集成

将我们的最新 iOS 和/或 Android SDK 集成到您的移动应用中

情形 1:单个应用现有的 SDK 集成

建议您在移动应用中升级我们的 SDK,但这不是强制性的。不过,只有通过 SDK v 0.30 及更高版本,才能在 CCAI 平台门户中配置 PSTN 回退和数据连接阈值级别。

方案 2:新 SDK 集成将我们的最新 SDK 集成到您的移动应用中。

第 2 步:移动应用队列菜单结构

方案 1:现有移动队列结构 通过将现有应用的整个结构移至单个新的顶级队列菜单中,修改现有队列结构。

  1. 依次前往设置 > 队列 > 移动设备,然后点击修改/查看

  2. 点击修改,进入“移动设备队列结构修改”界面。

  3. 为每个移动应用创建单独的顶级移动队列结构。

方案 2:新移动应用

创建移动队列菜单结构。首先,为每个移动应用创建一个顶级队列,然后在每个顶级队列菜单中添加应用专属的队列结构。

第 3 步:MMA 应用配置

场景 1:现有移动应用

  1. 依次前往设置 > 开发者设置

    如果您已配置应用,则会显示“移动应用”部分:

  2. 如需为现有应用准备 MMA 模式,请点击修改(铅笔)图标,然后在修改移动应用窗口中填写必填字段。

  3. 移动应用名称(必需):必须是之前定义的所有移动应用中唯一的名称。

    移动标识符 iOS / Android - 必须提供至少一个

  4. 输入移动应用标识符。如果没有正确的标识符,通知和 SmartAction 功能(通过代理调用适配器)将无法正常运行。

    至少需要定义一个标识符(操作系统或 Android)

    同一标识符可同时用于 iOS 和 Android

    同一标识符在不同移动应用中不能相同。

  5. 如需让代理能够发送用于下载应用的短信,请将相应设置切换为开启

  6. 输入 App Store 和 Play 商店的相应网址

  7. 备用手机号码:必须包含国家/地区代码;例如,在美国:1 714 450 5656

    如果移动 SDK 检测到指定通话的数据连接未达到下方设置的配置最低阈值,该通话将回退到使用此处定义的号码进行的 PSTN 手机通话。

  8. 回退手机号码阈值(如果指定了 PSTN 号码,则为必需):一个基于来电者数据网络连接状况的阈值,用于确定通话应通过 VoIP 还是通过回退 PSTN 手机号码进行。

    有效范围为 0 到 1。较高的阈值(例如 0.98)表示除非数据连接非常出色,否则将通过 PSTN 进行通话。如果阈值为 0,即使数据连接相对较差,也会通过 VoIP 发起通话,这可能会导致通话质量下降。阈值为 1 时,所有呼叫都通过 PSTN 发起。

    如果数据网络连接根本无法支持 VOIP 通话,即使将值设置为 0,仍会发生 PSTN 回退。

  9. 不允许从应用外部进行 PSTN 呼叫:如果您想将 PSTN 回退呼叫限制为仅允许从移动 SDK 内部进行,请选中此复选框。

    启用此功能后,从应用外部直接拨打电话的来电者会听到一条可自定义的消息,并且在消息播放完毕后,系统会自动结束通话。

    移动应用中的所有通话(假设数据连接正常)都将包含从应用到 CRM / 客服人员的自定义数据流。

  10. 推送通知(必需):证书 PEM 文件 (iOS)、FCM (Android) 密钥

    如果指定了 iOS 标识符,请确保添加 PEM 文件

    如果指定了 Android 标识符,请确保添加了 FCM 密钥

    根据 README 文档配置推送通知设置。

情形 2:添加您的第一个移动应用

  1. 前往设置 > 开发者设置,然后滚动到移动应用部分。

  2. 点击添加移动应用,然后按照上述说明完成移动应用配置弹出式窗口。

  3. 点击提交进行保存。

移动应用列表 - 已配置的应用状态 - 未分配给应用内队列

如果移动应用状态显示为“关闭 / 有效”切换开关处于无效状态,并显示警告三角形,则唯一可用的选项是前往下一步,并将移动应用分配给应用内队列。

第 4 步:应用内队列结构 - 移动应用直接访问点 (DAP) 分配

为每个移动应用定义专用的移动顶级队列。

如需在“设置”>“开发者设置”中激活移动应用,必须在“移动设备”队列菜单结构中将该移动应用分配为“移动应用”类型的直接访问点 (DAP)。

  1. 依次前往设置 > 队列 > 应用内 > 修改 / 查看

  2. 点击顶级队列。

  3. 在队列菜单设置中,滚动到“直接访问点”部分。

  4. 点击创建直接访问点链接。

  5. 选择移动应用作为接入点类型。此选项仅适用于顶级队列菜单,因此如果您没有看到此选项,请确保所选队列上方没有其他队列。

  6. 为接入点命名。

  7. 选择要分配此队列结构的移动应用。

    在整个应用内队列结构中,每个移动应用只能作为 DAP 应用一次。已分配给其他顶级队列的移动应用将无法在其他顶级队列中选择。

  8. 点击创建进行保存。

  9. 如果您有多个应用,请重复上述步骤,为每个顶级队列菜单分配移动应用 DAP。

详细信息

  • 应用内队列 DAP 评估将遵循现有优先级 - 用户细分和常规 DAP 在移动应用之前进行评估。

  • 提醒:请确保 DAP 评估逻辑符合 MMA 父级队列,并且不会因另一个 DAP 而将最终用户从 MMA A 路由到父级队列 B。

第 5 步 - 将移动应用 DAP 分配给 IVR 队列菜单

从特定移动应用生成的 PSTN 回退呼叫可以发送到 IVR 菜单中配置的移动应用 DAP。系统将应用移动应用专用的消息。

与通过 DAP 将移动应用分配给顶级“移动”队列菜单的方式类似,您可以通过“移动应用”类型的 DAP 将移动应用分配给 IVR 队列。

  1. 依次前往设置 > 队列 > IVR | 修改 / 查看

  2. 点击顶级队列。

  3. 在队列菜单设置中,滚动到“直接访问点”部分。

  4. 点击创建直接访问点链接。

  5. 选择移动应用作为接入点类型。此选项仅适用于顶级队列菜单。

  6. 为接入点命名

  7. 选择要分配此队列菜单结构的移动应用

    每个移动应用只能在整个 IVR 队列结构中作为 DAP 应用一次。已分配给其他顶级队列的移动应用将无法在其他顶级队列中选择。

  8. 点击创建进行保存。

拨打“0”的边缘情况

在 PSTN 回退到 IVR 的场景中,最终用户最初可以通过按一次“0”或按所需的次数(具体取决于在队列中的哪个位置发起),导航到 IVR 队列结构的顶部。

通过更新每个队列的“拨 0”转送设置,可以避免这种情况,这样一来,用户就不会无意中进入移动队列。

第 6 步 - 设置消息

设置 > 消息和语言页面上,您可以为每个移动应用自定义以下消息:

  • 非营业时间消息

  • Audible 消息

    • 为了能够为每个应用指定可听消息,必须将移动应用 DAP(针对每个移动应用)应用于相应的 IVR 菜单应用。请参阅第 5 步 - 将移动应用 DAP 分配给 IVR 队列菜单。
  • 语音信息

  • IVR 消息(仅“购买流程”消息除外)

  • 自定义回调消息

重要提示:渠道下拉菜单选择项会自动调节“移动和 Web SDK”和“有声消息”部分中列出的所选移动应用的所有消息配置,但以下情况除外:

  • IVR“购买流程”消息

  • 所有 IVR 特定消息只能配置为英语

第 7 步:移动应用激活

  1. 依次前往设置 > 开发者设置

  2. 返回到移动应用管理部分。您会看到,移动应用的“关闭 / 启用”切换开关现在处于启用状态。

  3. 将开关切换为有效,以激活移动应用。

    已激活的应用 - 现有移动应用将升级到 MMA 模式。

  4. 启用后:

    新应用 - 所有新应用都将自动以 MMA 模式生成。

    其他应用 - 您将能够在此页面中定义和管理多个应用。

第 8 步:测试推送通知

现在,您可以按移动应用来测试移动应用中的推送通知功能。通过下拉菜单,管理员/开发者可以选择要进行测试的特定移动应用。

启用 MMA 模式后的变化

门户设置变更

将移动应用升级到 MMA 或创建首个 MMA 应用后,系统会应用以下更改:

  • “设置”>“运营管理”>“发送短信链接”部分 - 将从页面中移除。然后,您可以通过移动应用配置弹出式窗口访问此配置。

  • 应用内队列结构 - 能够将移动应用 DAP 分配给顶级队列。

  • 设置 > 语言和消息 - 将添加按移动应用选择特定消息的功能

  • IVR 队列结构 - 能够将移动应用 DAP 分配给英语顶级队列。

  • 设置 > 开发者设置 > 测试推送通知 - 添加了移动应用下拉菜单。选择您要测试发送通知的相应应用。

  • Agent Call Adapter - 已添加应用选择列表,用于通过短信发送链接来安装和打开应用。

移动会话流程的变化

  • 启用 MMA 模式后的移动菜单会话流程

  • 通话 / 聊天:启用 MMA 模式后,所有来电和聊天都会直接分配给通过顶级队列菜单中的移动应用 DAP 分配的相应移动应用。

  • 移动 SDK 菜单:移动应用分配到应用内顶级队列并激活后,SDK 仅检索通过 DAP 分配给它的应用内顶级菜单中的菜单项。

  • 语言:系统会自动应用移动队列语言。

对代理适配器和操作进行的更改

会话转移

会话转移将遵循以下规则:

  • 转接至队列

    源自“移动应用 A”的会话只能通过智能体调用适配器转移界面转移到相应应用的父队列中的(子)队列。也就是说,如果客服人员想要将“移动应用 A”会话转接到其他队列,则只能:

    • 在原始父队列(例如“移动应用 A”父队列)中查看目标队列

    • 在原始父队列中选择目标队列

  • 转接给客服人员 - 会话可以转接给任何空闲的客服人员,包括未分配给“移动应用 A”父队列中任何队列的客服人员。

    • 后续转移注意事项 = 与原始转移代理相同的规则、队列选项
发送“应用安装”/“打开应用”短信

在以下场景中,客服人员需要先选择合适的移动设备,然后才能通过短信发送应用信息;即针对以下情况选择“通过短信发送以进行安装”和“通过短信发送以打开应用”:

  • 外拨电话

  • IVR 通话

在代理适配器中,当配置了多个移动应用,并且代理正在拨打出站电话或处理入站 IVR 电话时,在选择“Send SMS to Install / Open App”智能操作之一后,代理将看到第二个屏幕,以便选择合适的移动应用。该列表显示了已配置的有效移动应用的名称。

  • 左侧移动应用界面 - 各种短信 / 智能操作选项

  • 右侧移动应用界面 - 已选择“发送短信以安装应用”选项。然后,代理会选择相应的应用(注意:此列表中会显示实际配置的应用名称;例如,本例中的 App1、App2)。