客服主动联系之前回调

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

我的收藏

功能说明

App 管理员可以通过该接口获取客服主动联系用户的相关信息,并通过设置返回字段来拒绝客服的主动联系。
注意:
此功能为高级功能,仅限智能客服高级版使用(高级版试用在有效期内也可使用)。版本差异详细参见 计费概述

注意事项

回调的方向是即时通信 IM 后台向 App 后台发起 HTTPS POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参见 第三方回调简介:安全考虑 文档。
要启用回调,请提交工单进行申请。

可能触发该回调的场景

客服主动联系用户或者管理员调用主动联系用户的RestAPI

回调发生时机

应用配置主动联系之前回调的开关,当客服主动联系用户,或者管理员调用主动联系用户的RestAPI时, 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
固定为 Desk.CallbackBeforeIMContactUser
contenttype
固定值为 json
ClientIP
客户端 IP,格式例如:127.0.0.1。
OptPlatform
客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义。

请求包示例

{
"CallbackCommand": "Desk.CallbackBeforeIMContactUser", // 回调命令字
"ClientUserId": "test_user_id", // 主动联系的用户ID
"ChannelId": "@customer_service_account", // 客服号ID
"ChannelType": "SDK", // 集成方式
"GroupId": 4011, // 客服的技能组ID
"MemberId":"staff@test.com", // 人工客服 ID
"EventTime": 1750769273237 // 时间戳
}

请求包字段说明

字段
类型
说明
CallbackCommand
String
回调命令。
ClientUserId
String
主动联系的用户 ID。
ChannelId
String
主动联系的客服号 ID。
ChannelType
String
集成方式:
SDK:SDK 集成,对应智能客服管理端的“应用 / 客户端”集成。
MemberId
String
人工客服 ID。
GroupId
String
客服主动联系所用的技能组 ID。
EventTime
Integer
事件触发的毫秒级别时间戳。

应答包示例

业务后台拒绝主动联系。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"ContactUserDenied": 1 // 拒绝主动联系
}

应答包字段说明

字段
类型
属性
说明
ActionStatus
String
必填
请求处理的结果:
OK 表示处理成功。
FAIL 表示失败。
ErrorCode
Integer
必填
错误码:
0为处理成功。
非零为处理失败。
ContactUserDenied
Integer
选填
是否允许主动联系,0代表允许,1代表不允许, 默认允许主动联系。