功能说明
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 |
请求包示例
{"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代表不允许, 默认允许主动联系。 |