发送群聊消息异常回调

最近更新时间:2024-02-04 15:24:01

我的收藏

功能说明

App 后台可以通过该回调监控用户的群发消息异常情况,包括:
发送消息参数有误(例如群 ID 不存在等)
发送消息频率超过限制
发送消息被安全打击
发送方被禁言等

注意事项

要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 第三方回调配置 文档。
回调的方向是即时通信 IM 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参考 第三方回调简介:安全考虑 文档。

可能触发该回调的场景

App 用户通过客户端发送群消息。
App 管理员通过 REST API 发送群组消息。

回调发生时机

即时通信 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
固定为 Group.CallbackSendMsgException
contenttype
固定值为 JSON
OptPlatform
客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义

请求包示例

{
"CallbackCommand": "Group.CallbackSendMsgException", // 回调命令
"GroupId": "@TGS#2J4SZEAEL", // 群组 ID
"Type": "Public", // 群组类型
"From_Account": "jared", // 发送者
"Operator_Account":"admin", // 请求的发起者
"Random": 123456, // 随机数
"OnlineOnlyFlag": 1, //在线消息,为1,否则为0;直播群忽略此属性,为默认值0。
"MsgBody": [ // 消息体,参见 TIMMessage 消息对象
{
"MsgType": "TIMTextElem", // 文本
"MsgContent": {
"Text": "red packet"
}
}
],
"CloudCustomData": "your cloud custom data",
"ErrorCode": 10023, // 消息异常错误码
"ErrorInfo": "msg count exceeds limit,please retry later", // 消息异常详细信息
"EventTime": 1670574414123//毫秒级别,事件触发时间戳
}

请求包字段说明

字段
类型
说明
CallbackCommand
String
回调命令
GroupId
String
产生群消息的群组 ID
Type
String
产生群消息的 群组类型介绍,例如:Public
From_Account
String
消息发送者 UserID
Operator_Account
String
请求发起者 UserID,可以用来识别是否为管理员请求的
Random
Integer
发消息请求中的 32 位随机数
OnlineOnlyFlag
Integer
在线消息,为1,否则为0;直播群忽略此属性,为默认值0。
MsgBody
Array
消息体,具体参见 消息格式描述
CloudCustomData
String
消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)
ErrorCode
Interger
消息异常错误码,更多的错误码请参见群组错误码
ErrorInfo
String
消息异常详细信息
EventTime
Integer
事件触发的毫秒级别时间戳

可能收到的错误码

错误码
含义
10002
系统错误,请重试
10015
无效的群 ID
10057
应用无可用的套餐包
80002
发送的消息体过长(超过12K)
10007
没有发送消息权限(不是群成员等)
10059
非旗舰版应用使用了旗舰版专属功能(指定接收方)
10005
指定接收方人数超限
10004
参数错误
80005
安全审核超时,并且设置了审核超时不发送
10017
发送方被禁言
10053
@群成员人数超过了限制
10010
群不存在(已被删除)
80003
消息前回调超时,并且设置了前回调超时不发送
10100 ~ 10200
消息前回调 App 后台返回不发送
10023
发送消息频率超过限制
10061
指定已读回执但发送消息类型不支持已读回执
10060
已读回执接收人数超限

应答包示例

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0
}

应答包字段说明

字段
类型
属性
说明
ActionStatus
String
必填
请求处理的结果,固定填OK
ErrorCode
Integer
必填
错误码,固定填0
ErrorInfo
String
必填
错误信息,固定为空字符串

参考