API 参考
圈组

撤回超大群消息

更新时间: 2024/07/17 17:57:35

IM 服务端 API 支持在一定时间内撤回已发送的超大群消息。

功能描述

可在一定时间内(默认 2 分钟,可在云信控制台配置)撤回超大群消息。撤回之后,消息接收者(超大群成员)和发送者都将收到一条消息撤回通知,并删除对应的离线消息、漫游消息和历史消息。

您可登录云信控制台,并选择应用,然后进入IM 即时通讯 > 功能配置 > 基础功能 > 消息撤回时长配置 IM 消息的可撤回时长,最长可配置604800秒(7天)。

API 使用限制

  • 单个应用最高调用频率:100 次/秒。如超限,将被屏蔽 10 秒,之后才能再次调用。
  • 下列情况不能撤回:消息为空;消息没有发送成功。
  • 如果消息被反垃圾(即内容审核)命中,尝试撤回时,将报错(状态码:414)。
  • 如果账号已经退群或者被踢,尝试撤回群消息时,会返回 {"desc": "not allow!", "code": 403}。

URL

httpPOST https://api.netease.im/nimserver/superteam/recallMsg.action HTTP/1.1
Content-Type: application/application/x-www-form-urlencoded;charset=utf-8

请求参数

  • POST 请求中 Headers 的设置请参考API调用方式

  • POST 请求中 Body 的设置如下:

参数类型必填说明
deleteMsgid Long 要撤回消息的消息 ID,msgid,最大长度 64 位长整型
timetag Long需要撤回的消息的创建时间(创建时间为云信服务端生成的消息发送时间戳),毫秒时间戳,示例:"12514613452"
from String消息发送方的用户账号,accid,最大长度 32 位字符
to Long超大群 ID,tid,最大长度 64 位长整型
msg String消息撤回的相应描述,默认值为“撤回了一条信息”,最大长度 128 位字符
ignoreTime String1,表示忽略撤回时间检测;0,不忽略,默认为 0
pushContentString推送文案,最大长度 500 位字符
pushPayloadString推送对应的 payload,必须是 JSON 格式,不能超过 2048 字符。更多说明请参见 推送 payload 配置

示例

请求示例(curl)

curlcurl -X POST -H "AppKey: go9dnk49bk***w0803mgq3" -H "Nonce: 4tggge**3t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'deleteMsgid=10386192&timetag=1481528155741&from=123&to=t4&msg=这是一条撤回消息' 'https://api.netease.im/nimserver/superteam/recallMsg.action'

请求成功返回示例

json"Content-Type": "application/json; charset=utf-8"
{
  "code":200
}

请求失败返回示例

"Content-Type": "application/json; charset=utf-8"
{
    "code": 414,
    "desc": "tid not exit!"  // tid不存在
}

状态码

该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。完整状态码请参见状态码

状态码 说明 处理建议
200 请求成功 -
403 禁止操作:
  • 超大群功能未开通
  • 发消息的用户不是群成员
  • 无法撤回其他人的消息
根据对应提示信息做出处理
414 参数错误 根据提示信息,检查传入参数的格式和限制条件
416 调用频率超出限制 降低访问频率
500 服务出错 -
此文档是否对你有帮助?
有帮助
去反馈
  • 功能描述
  • API 使用限制
  • URL
  • 请求参数
  • 示例
  • 请求示例(curl)
  • 请求成功返回示例
  • 请求失败返回示例
  • 状态码