群内@机器人之后回调
功能说明
控制台启用“机器人事件回调”之后,当群内有用户@机器人时,App 后台将收到该@消息的回调。
注意事项
要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 第三方回调配置 文档。
回调的方向是即时通信 Chat 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参考 第三方回调简介:安全考虑 文档。
可能触发该回调的场景
群内有用户@机器人后(@所有人不会触发该回调)。
回调发生时机
群内有用户@机器人后。
接口说明
请求 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 | 创建应用时在即时通信 Chat 控制台分配的 SDKAppID。 |
CallbackCommand | 固定为 Bot.OnGroupMessage。 |
contenttype | 固定值为 json。 |
ClientIP | 客户端 IP,格式例如:127.0.0.1。 |
OptPlatform |
请求包示例
{"CallbackCommand": "Bot.OnGroupMessage", // 回调命令"GroupId": "@TGS#2J4SZEAEL", // 群组 ID"Type": "Public", // 群组类型"From_Account": "jared", // 发送者"Operator_Account":"admin", // 请求的发起者"Random": 123456, // 随机数"MsgSeq": 123, // 消息的序列号"MsgTime": 1490686222, // 消息的时间"OnlineOnlyFlag": 1, //在线消息,为1,否则为0;直播群忽略此属性,为默认值0。"MsgBody": [ // 消息体,参见 TIMMessage 消息对象{"MsgType": "TIMTextElem", // 文本"MsgContent": {"Text": "@@RBT#001 hello"}}],"AtRobots_Account": [ "@RBT#001" ], // 被@的机器人列表,群里有多个机器人时,用户可以@多个机器人"CloudCustomData": "your cloud custom data","EventTime": 1670574414123//毫秒级别,事件触发时间戳}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令。 |
GroupId | String | 产生群消息的群组 ID。 |
Type | String | |
From_Account | String | 消息发送者 UserID。 |
Operator_Account | String | 请求发起者 UserID,可以用来识别是否为管理员请求的。 |
Random | Integer | 发消息请求中的32位随机数。 |
MsgSeq | Integer | 消息序列号,一条消息的唯一标示<br>群聊消息使用 MsgSeq 进行排序,MsgSeq 值越大消息越靠后。 |
MsgTime | Integer | 消息发送的时间戳,对应后台 Server 时间。 |
OnlineOnlyFlag | Integer | 在线消息,为1,否则为0;直播群忽略此属性,为默认值0。 |
MsgBody | Array | |
AtRobots_Account | Array | 被@的机器人列表,群里有多个机器人时,用户可以@多个机器人。 |
CloudCustomData | String | 消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)。 |
TopicId | String | 话题的 ID,若具有此选项表示在话题内发言,仅支持话题的社群适用此选项。 |
EventTime | Integer | 事件触发的毫秒级别时间戳。 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 //忽略回调结果}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果,OK 表示处理成功,FAIL 表示失败。 |
ErrorCode | Integer | 必填 | 错误码,此处填0表示忽略应答结果。 |
ErrorInfo | String | 必填 | 错误信息。 |
参考
第三方回调简介
REST API:在群组中发送普通消息