已读回执后回调
功能说明
App 后台可以通过该回调实时查看用群消息已读回执情况,App 后台可以据此回调进行数据同步等操作。
注意事项
要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,配置方法详细参见 第三方回调配置 文档。
回调的方向是即时通信 IM 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参见 第三方回调简介 - 安全考虑 文档。
可能触发该回调的场景
App 用户通过客户端发送已读回执消息。
App 用户通过客户端进行群消息已读回执。
App 管理员通过 REST API 发送已读回执消息。
回调发生时机
发送已读回执消息或者对消息进行已读回执之后。
接口说明
请求 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 | 固定为 Group.CallbackAfterReadReceipt |
contenttype | 固定值为 JSON |
ClientIP | 客户端 IP,格式如:127.0.0.1 |
OptPlatform |
请求包示例
{"CallbackCommand": "Group.CallbackAfterReadReceipt", // 已读回执后回调"GroupId": "@TGS#2TTV7VSII", // 群组 ID"Type": "Public", // 群组类型"GroupMsgReceiptList": [ // 已读回执信息{"MsgSeq": 1,"ReadNum": 1, // 群消息已读数"UnreadNum": 6 // 群消息未读数"ReadReceiptMembers":[{"Member_Account":"user0"}]},{"MsgSeq": 2,"ReadNum": 1,"UnreadNum": 6,"ReadReceiptMembers":[{"Member_Account":"user0"}]}],"EventTime":"1670574414123"//毫秒级别,事件触发时间戳}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令 |
GroupId | String | 操作的群 ID |
Type | String | |
GroupMsgReceiptList | Array | 已读回执信息 |
MsgSeq | Integer | 消息 Seq |
ReadNum | Integer | 已读成员数 |
UnreadNum | Integer | 未读成员数 |
ReadReceiptMembers | Array | 已读成员列表,Member_Account 为已读成员 UserID |
EventTime | Integer | 事件触发的毫秒级别时间戳 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 // 忽略回调结果}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果: OK:表示处理成功 FAIL:表示失败 |
ErrorCode | Integer | 必填 | 错误码,此处填0表示忽略应答结果 |
ErrorInfo | String | 必填 | 错误信息 |
参考
第三方回调简介
REST API:在群组中发送普通消息