撤回群消息

最近更新时间:2024-07-09 17:59:31

我的收藏

功能说明

管理员撤回群聊消息。
该接口可以撤回所有漫游有效期内的群聊消息,包括客户端发出的群聊消息,由 REST API 接口发出的群聊消息。
若需要撤回由客户端发出的群聊消息,您可以开通 群内发言之后回调 ,通过该回调接口记录每条群聊消息的 GroupId 和 MsgSeq,然后填在本接口的 GroupId 和 MsgSeqList 参数里进行撤回。您也可以通过 拉取群历史消息 查询出待撤回的群聊消息的相关信息后,使用本接口进行撤回。
若需要撤回由 REST API 在群组中发送普通消息 接口发出的群聊消息,需要记录这些接口回包里的 MsgSeq 字段以进行撤回。
调用该接口撤回消息后,该条消息的发送方和接收方的客户端的本地缓存都会被撤回。
该接口可撤回的群聊消息没有时间限制,即可以撤回任何时间的群聊消息,但是群聊消息的漫游时间需要在有效期内。
AVChatRoom 只支持在线消息,所以群类型的消息撤回只针对在线群成员有效,如果成员不在线,是感知不到撤回动作的。

接口调用说明

适用的群组类型

群组类型 ID
支持群消息撤回
Private
支持,同新版本中的 Work(好友工作群)
Public
支持
ChatRoom
支持,同新版本中的 Meeting(临时会议群)
AVChatRoom
支持,native sdk 7.4.4634 和 web sdk 3.1.2 开始支持
Community(社群)
支持
即时通信 IM 内置上述群组类型,详情介绍请参见 群组系统

请求 URL 示例

https://xxxxxx/v4/group_open_http_svc/group_msg_recall?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

请求参数说明

下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介
参数
说明
xxxxxx
SDKAppID 所在国家/地区对应的专属域名:
中国:console.tim.qq.com
新加坡:adminapisgp.im.qcloud.com
首尔: adminapikr.im.qcloud.com
法兰克福:adminapiger.im.qcloud.com
硅谷:adminapiusa.im.qcloud.com
雅加达:adminapiidn.im.qcloud.com
v4/group_open_http_svc/group_msg_recall
请求接口
sdkappid
创建应用时即时通信 IM 控制台分配的 SDKAppID
identifier
必须为 App 管理员账号,更多详情请参见 App 管理员
usersig
App 管理员账号生成的签名,具体操作请参见 生成 UserSig
random
请输入随机的32位无符号整数,取值范围0 - 4294967295
contenttype
请求格式固定值为json

最高调用频率

200次/秒。

请求包示例

消息撤回之后将无法恢复,请谨慎调用该接口。
{
"GroupId": "@TGS#2J4SZEAEL",
"MsgSeqList":[
{
"MsgSeq":100
},
{
"MsgSeq":101
}
],
"Reason":"撤回原因"
}

请求包字段说明

字段
类型
属性
说明
GroupId
String
必填
操作的群 ID
MsgSeqList
Array
必填
被撤回的消息 seq 列表,一次请求最多可以撤回10条消息 seq
MsgSeq
Integer
必填
请求撤回的消息 seq
TopicId
String
选填
话题的 ID,若具有此选项表示撤回的是对应话题中的消息,仅支持话题的社群适用此选项
Reason
String
选填
撤回消息的原因,长度限制最大100字节

应答包体示例

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"RecallRetList":[
{
"MsgSeq":100,
"RetCode":10030
},
{
"MsgSeq":101,
"RetCode":0
}
]
}

应答包字段说明

字段
类型
说明
ActionStatus
String
请求处理的结果:
OK:表示处理成功
FAIL:表示失败
ErrorCode
Integer
错误码:
0:表示成功
非0:表示失败
ErrorInfo
String
错误信息
RecallRetList
Array
消息撤回请求的详细结果
MsgSeq
Integer
单个被撤回消息的 seq
RetCode
Integer
单个消息的被撤回结果:0表示成功;其它表示失败,参考下文错误码说明

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。 公共错误码(60000到79999)参见 错误码 文档。 本 API 私有错误码如下:
错误码
描述
10002
服务器内部错误,请重试
10003
请求命令字非法
10004
参数非法,请根据错误描述检查请求是否正确
10007
操作权限不足,操作人必须为该群类型中有权限执行对应操作的成员角色
10010
群组不存在,或者曾经存在过,但是目前已经被解散
10015
群组 ID 非法,请检查群组 ID 是否填写正确
10030
请求撤回的消息不存在
10031
请求撤回的消息超出时间限制
10032
请求撤回的消息不支持撤回操作
10033
群组类型不支持消息撤回操作
10041
该应用(SDKAppID)已配置不支持群消息撤回

接口调试工具

通过 REST API 在线调试工具 调试本接口。

参考

在群组中发送系统通知(v4/group_open_http_svc/send_group_system_notification)。