业务服务器分配客服回调

最近更新时间:2025-07-28 17:07:11

我的收藏

功能说明

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
客户端平台,取值参见 第三方回调简介:回调协议 中 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代表转人工。