功能说明
App 管理员可以通过该接口获取转人工的相关请求信息,并且根据业务逻辑指定分配的客服。
注意:
注意事项
要启用此回调,必须在 智能客服管理端 单击设置>会话设置>分配策略中设置分配客服的方式为业务服务器分配,并配置回调 URL。
回调的方向是即时通信 IM 后台向 App 后台发起 HTTPS POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参见 第三方回调简介:安全考虑 文档。
可能触发该回调的场景
当会话中的用户触发转人工请求,并且应用配置为业务服务器分配客服的方式。
回调发生时机
应用配置为由业务服务器分配客服的策略时,当会话中的用户触发转人工请求,IM 后台会发送此回调。
接口说明
请求 URL 示例
以下示例中 App 配置的回调 URL 为
https://www.example.com
。
示例:https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform
请求参数说明
参数 | 说明 |
https | 请求协议为 HTTPS,请求方式为 POST。 |
www.example.com | 回调 URL。 |
SdkAppid | 创建应用时在即时通信 IM 控制台分配的 SDKAppID。 |
CallbackCommand | 固定为 ChatBot.OnAssignHuman。 |
contenttype | 固定值为 json 。 |
ClientIP | 客户端 IP,格式例如:127.0.0.1。 |
OptPlatform |
请求包示例
{"CallbackCommand": "ChatBot.OnAssignHuman", //回调的 command"SessionId":"aa-bb-cc-dd", //会话 sessionID"ClientUserId":"123", // 触发转人工请求的用户 ID"CustomerServiceId": "@customer_service_account", // 客服号 ID"EventTime": 1670574414123 //时间戳}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令。 |
SessionId | String | 会话的 SessionID。 |
ClientUserId | String | 触发转人工请求的用户 ID。 |
CustomerServiceId | String | 客服号 UserID(该字段在使用“SDK 轻量集成”时才会有)。 |
EventTime | Integer | 事件触发的毫秒级别时间戳。 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"AgentGroupId": 6521, // 业务返回指定客服分组ID"AgentIdList": ["svc1@tencent.com","svc2@tencent.com"] // 业务返回分配的客服列表,客服 ID 需要填写客服邮箱}
指定客户转人工的优先级
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"AgentGroupId": 6521, // 业务返回指定客服分组ID"Priority": 0 // 指定此客户为最高优先级}
拒绝转人工
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"AgentTransferDenied": 1 // 拒绝转人工}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果: OK 表示处理成功。 FAIL 表示失败。 |
ErrorCode | Integer | 必填 | 错误码: 0为处理成功。 非零为处理失败。 |
AgentGroupId | Integer | 选填 | 业务返回指定的客服分组 ID,若只有此字段,IM后台会分配此客服分组下的客服人员服务用户。 |
AgentIdList | Array | 选填 | 业务返回分配的客服列表,若指定此字段,则会按照空闲规则顺序分配列表中的一个客服,此处客服 ID 需要填写客服邮箱。 |
Priority | Integer | 选填 | 配置此客户的优先级,可选值0-9。 0代表优先级最高,9代表优先级最低。不填默认为优先级5。 |
AgentTransferDenied | Integer | 选填 | 是否拒绝转人工,1代表拒绝转人工,0代表转人工。 |