已读回执后回调

功能说明

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
客户端平台,取值参见 第三方回调简介:回调协议中 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
群组类型(Community 社群暂时不支持) 群组类型介绍,例如 Public
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
必填
错误信息

参考