一、适用场景
·用户端:用户与 AI 的聊天消息和与人工客服的消息都在同一个会话中合并显示。
·客服端:转人工后,人工客服也能看到用户跟 AI 聊天的历史消息。
二、准备工作
你需要参见 快速入门 开通并配置智能客服。
三、消息流程总览
消息流程如下:
1. 发消息:用户发送消息给客服号。
2. 消息回调:智能客服后台将消息回调至开发者后台,开发者后台需立即响应成功。
3. 请求 AI 服务:开发者后台调用 AI 服务。
4. REST API 回消息:开发者后台调用 REST API 发送消息回复用户。
5. 回消息:步骤2-5循环执行,用户和机器人不停进行问答。
6. REST API 转人工:开发者后台识别到用户有转人工意图,调用 REST API 转人工服务。
7. 转人工:用户由人工客服服务。
四、配置回调地址
登录 管理端,在扩展中心 > 自建机器人卡片里面单击立即配置,填写机器人名称和回调地址,配置成功之后,点击开启按钮进行启用。
五、集成用户端
对应消息流程总览的步骤1:参见 含 UI 用户端集成(荐)(以 Android 为例)选择你对应的语言或框架完成用户端开发。如果你有特殊开发需求,还可以选择 无 UI 方式集成用户端。
六、开发者后台处理消息回调
对应消息流程总览的步骤2:用户端发送消息给客服号之后,智能客服后台通过上述配置的回调地址,将该消息回调至开发者后台,回调的协议格式请参见 会话事件回调(Event 是 "ThirdPartyChatBot.UserSendMsg")。开发者后台收到回调请求后,需立即响应成功,然后再开始处理业务逻辑(例如请求第三方 AI 服务)。
七、自建 AI 与智能客服机器人的灰度切换
若你已经使用智能客服的机器人上线了业务,希望灰度切换到自建 AI ,可以通过回调请求的响应来控制灰度节奏和比例。
响应包如下时表示本次用户的消息由自建 AI 来处理。此时开发者后台需要进行 流程总览 里的步骤3、步骤4、步骤6,给用户回消息或者转人工。
{ "AIProvider": 0}
响应包如下时表示本次用户的消息由智能客服机器人来处理。此时开发者后台不再需要进行流程总览里的步骤3、步骤4、步骤6。
{ "AIProvider": 1}
字段说明如下:
| 字段 | 类型 | 属性 | 说明 |
| AIProvider | Integer | 选填 | 0表示使用自建 AI,1表示使用智能客服机器人。默认为0 |
八、回复消息
对应消息流程总览的步骤4:开发者后台收到 AI 服务的响应后,调用 REST API 接口 发送消息 给用户回复消息,或者调用 REST API 接口 发送流式消息 给用户回复流式消息。
九、转人工
对应消息流程总览的步骤6:开发者后台识别到用户有转人工的意图后,调用 REST API 接口 转人工,之后由人工客服为用户服务。人工客服在工作台上能看到用户跟机器人聊天的历史记录。
十、监听启动会话的消息回调
用户在打开客服会话时,用户端会主动发送一条 会话启动消息 ,消息格式如下:(此处忽略了其他字段)
{ "MsgBody": [ { "MsgType": "TIMCustomElem", "MsgContent": { "Data": "{\\"customerServicePlugin\\":0,\\"src\\":\\"7\\"}" } } ] }
其中的 Data 字段为如下 JSON 结构序列化后的值:
{ "customerServicePlugin": 0, "src": "7"}
该条消息会回调到开发者后台。开发者后台监听到此消息后,可以调用 REST API 接口 发送消息 给用户发送欢迎卡片消息。
十一、发送欢迎卡片消息
欢迎卡片消息 格式如下:
{
"MsgBody": [
{
"MsgType": "TIMCustomElem",
"MsgContent": {
"Data": "{\\"customerServicePlugin\\":0,\\"src\\":\\"29\\",\\"subtype\\":\\"welcome_msg\\",\\"content\\":{\\"title\\":\\"猜你想问:\\",\\"items\\":[{\\"content\\":\\"智能客服提供哪些功能\\"},{\\"content\\":\\"如何修改机器人知识库\\"},{\\"content\\":\\"客服在哪里收发消息\\"},{\\"content\\":\\"如何设置工作时间\\"},{\\"content\\":\\"是否支持发送满意度评价\\"}]}}"
}
}
]
}
其中的 Data 字段为如下 JSON 结构序列化后的值:
{
"customerServicePlugin": 0,
"src": "29",
"subtype": "welcome_msg",
"content": {
"title": "猜你想问",
"content": "",
"items": [
{
"content": "智能客服提供哪些功能"
},
{
"content": "如何修改机器人知识库"
},
{
"content": "客服在哪里收发消息"
},
{
"content": "如何设置工作时间"
},
{
"content": "是否支持发送满意度评价"
}
]
}
}
十二、联系我们
如果你在接入过程中有任何疑问,请用微信或企业微信扫码加入智能客服交流群进行咨询。