业务服务器分配客服回调
功能说明
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.OnAssignAgent |
contenttype | 固定值为 JSON |
ClientIP | 客户端 IP,格式例如:127.0.0.1 |
OptPlatform |
请求包示例
{"CallbackCommand": "ChatBot.OnAssignAgent", //回调的command"SessionId":"aa-bb-cc-dd", //会话sessionID"ClientUserId":"123", // 触发转人工请求的用户ID"EventTime": 1670574414123 //时间戳}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令 |
SessionId | String | 会话的 SessionID |
ClientUserId | String | 触发转人工请求的用户 ID |
EventTime | Integer | 事件触发的毫秒级别时间戳 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"AgentGroupId": 6521, //业务返回指定客服分组ID"AgentIdList": ["penn_svc","dramon_svc"] //业务返回分配的客服列表}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果: OK 表示处理成功 FAIL 表示失败 |
ErrorCode | Integer | 必填 | 错误码: 0为处理成功 非零为处理失败 |
AgentGroupId | Integer | 选填 | 业务返回指定的客服分组 ID,若只有此字段,IM后台会分配此客服分组下的客服人员服务用户 |
AgentIdList | Array | 选填 | 业务返回分配的客服列表,若指定此字段,则会按照空闲规则顺序分配列表中的一个客服 |