功能说明
管理员撤回群聊消息。
该接口可以撤回所有漫游有效期内的群聊消息,包括客户端发出的群聊消息,由 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(社群) | 支持 |
请求 URL 示例
https://xxxxxx/v4/group_open_http_svc/group_msg_recall?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
请求参数说明
参数 | 说明 |
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 | |
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)已配置不支持群消息撤回 |