适用场景
您可以通过此方案对接自建或者第三方的 AI 机器人,依托智能客服丰富的开放接口,自定义开发客服场景。智能客服已为您提供 用户端集成方案 和 客服工作台,用户可通过移动端、小程序或网页端给客服号发送消息,与自建或第三方的 AI 机器人对话,转人工成功后,客服人员可在 工作台 接待用户咨询。
用户端:用户与 AI 的聊天消息和与人工客服的消息都在同一个会话中合并显示。
客服端:转人工后,人工客服也能看到用户跟 AI 聊天的历史消息。
准备工作
消息流程总览
消息流程如下图所示:
1. 发消息:用户发送消息给客服号。
2. 消息回调:智能客服后台将消息回调至开发者后台,开发者后台需立即响应成功。
3. 请求 AI 服务:开发者后台调用 AI 服务。
4. REST API 回消息:开发者后台调用 REST API 发送消息回复用户。
5. 回消息:步骤2-5循环执行,用户和机器人不停进行问答。
6. REST API 转人工:开发者后台识别到用户有转人工意图,调用 REST API 转人工服务。
7. 转人工:用户由人工客服服务。
开发流程指引
配置回调地址
集成用户端
开发者后台处理消息回调
对应消息流程总览的步骤2:用户端发送消息给客服号之后,智能客服后台通过上述配置的回调地址,将该消息回调至开发者后台,回调的协议格式请参见 会话事件回调(Event 是 "ChatBot.UserSendMsg")。开发者后台收到回调请求后,需立即响应成功,然后再开始处理业务逻辑(例如请求第三方 AI 服务)。
回复消息
转人工
常见问题
如何实现欢迎卡片功能?
监听启动会话的消息回调
{"MsgBody": [{"MsgType": "TIMCustomElem","MsgContent": {"Data": "{\\"customerServicePlugin\\":0,\\"src\\":\\"7\\"}"}}]}
其中的 Data 字段为如下 JSON 结构序列化后的值:
{"customerServicePlugin": 0,"src": "7"}
发送欢迎卡片消息
{ "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": "是否支持发送满意度评价" } ] } }