功能说明
App 后台可以通过该回调接收智能机器人(Chatbot)的自定义消息回调,并通过回复该回调发送自定义消息内容给智能机器人。
注意事项
要启用回调,必须配置回调 URL,并打开本回调对应的开关,配置方法详见 第三方回调配置。
回调的方向是即时通信 IM 后台向 App 后台发起 HTTPS POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参见 第三方回调简介:安全考虑 文档。
可能触发该回调的场景
App 用户通过客户端发送单聊消息,且接收方为机器人账号,并且App发送的消息为“自定义透传内容”。
回调发生时机
接口说明
请求 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.OnC2CSignalMessage |
contenttype | 固定值为 JSON |
ClientIP | 客户端 IP,格式如:127.0.0.1 |
OptPlatform |
请求包示例
{"CallbackCommand": "Chatbot.OnC2CSignalMessage","From_Account": "user01","To_Account": "@RBT#chatbot","MsgSeq": 5678,"MsgRandom": 8765,"MsgKey": "8765_5678_4321","EventTime": 1670574414123,"Data": "{\\"msg\\":\\"这是自定义透传内容\\"}"}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令 |
From_Account | String | 消息发送者 UserID |
To_Account | String | 消息接收者 UserID |
MsgSeq | Integer | 消息序列号,用于标记该条消息(32位无符号整数) |
MsgRandom | Integer | 消息随机数,用于标记该条消息(32位无符号整数) |
MsgKey | String | |
EventTime | Integer | 事件触发的毫秒级别时间戳 |
Data | String | “自定义透传内容” 协议中的 data 字段 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0,"RspData": "{\\"msg\\":\\"这是回复给机器人的自定义透传内容\\"}"}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果: OK 表示处理成功 FAIL 表示失败 |
ErrorCode | Integer | 必填 | 错误码: 0为处理成功,并将RspData回复给智能机器人 1为处理失败,忽略RspData |
ErrorInfo | String | 必填 | 错误信息 |
RspData | String | 必填 | 回复给智能机器人的自定义透传内容 |
参考
第三方回调简介
REST API:单发单聊消息
REST API:批量发单聊消息