更新时间: 2021-03-08
# 功能描述
撤回指定消息时,将发送一条撤回消息,移动端收到撤回消息后,原目标消息将被删除,同时生成一条 objectName
是 RC:RcCmd
的通知消息,会话界面中可根据 RC:RcCmd
展示。撤回消息也会存储到历史消息中,SDK 在获取历史消息时,会获取到撤回命令消息和被撤回的原始消息,删除逻辑移动端 SDK 已内部实现,开发者无需额外处理。
# 单条消息撤回
通过服务端撤回消息时,针对消息发送用户,当用户在线时可同步撤回发送出去的消息,当用户未在线时,需要在开发者后台 IM 商用版 (opens new window)中开通“多设备消息同步”功能,才能在用户登录后同步撤回发送的消息。
# 功能接口
请求地址: https://数据中心域名/message/recall.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
# 参数说明
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
fromUserId | String | 是 | 消息发送人用户 Id。 |
conversationType | Int | 是 | 会话类型,二人会话是 1 、群组会话是 3 、聊天室会话是 4、系统会话是 6。 |
targetId | String | 是 | 目标 Id,根据不同的 ConversationType,可能是用户 Id、群组 Id、聊天室 Id、系统会话 Id。 |
messageUID | String | 是 | 消息唯一标识,可通过服务端实时消息路由获取,对应名称为 msgUID 。 |
sentTime | Long | 是 | 消息发送时间,可通过服务端实时消息路由获取,对应名称为 msgTimestamp 。 |
isAdmin | Int | 否 | 是否为管理员,默认为 0,设为 1 时,IMKit 收到此条消息后,小灰条默认显示为“管理员 撤回了一条消息”。 |
isDelete | Int | 否 | 默认为 0 撤回该条消息同时,用户端将该条消息删除并替换为一条小灰条撤回提示消息;为 1 时,该条消息删除后,不替换为小灰条提示消息。 |
disablePush | Boolean | 否 | 是否为静默撤回,默认为 false,设为 true 时终端用户离线情况下不会收到撤回通知提醒。 |
extra | String | 否 | 扩展信息,可以放置任意的数据内容。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
# 代码示例
Request:
POST /message/recall.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1408710653491 Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8 Content-Type: application/x-www-form-urlencoded fromUserId=fDR2cVpxxR5zSMUNh3yAwh&targetId=MersNRhaKwJkRV9mJR5JXY&conversationType=1&messageUID=5FGT-7VA9-G4DD-4V5P&sentTime=1507778882124
已复制
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
1
2
3
4
2
3
4
# 全量落地通知撤回
# 接口功能
请求地址: https://数据中心域名/message/broadcast/recall.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
# 参数说明
输入参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
fromUserId | String | 是 | 消息发送人用户 Id。 |
messageUID | String | 是 | 消息唯一标识,因为广播消息不进行消息路由,所以消息唯一标识目前只能通过服务端历史消息日志获取,对应名称为 msgUID 。 |
sentTime | Long | 是 | 消息发送时间,因为广播消息不进行消息路由,所以消息时间目前只能通过服务端历史消息日志获取,对应名称为 dateTime 。 |
isAdmin | Int | 否 | 是否为管理员,默认为 0,设为 1 时,IMKit 收到此条消息后,小灰条默认显示为“管理员 撤回了一条消息”。 |
isDelete | Int | 否 | 默认为 0 撤回该条消息同时,用户端将该条消息删除并替换为一条小灰条撤回提示消息;为 1 时,该条消息删除后,不替换为小灰条提示消息。 |
extra | String | 否 | 扩展信息,可以放置任意的数据内容。 |
返回结果:
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
# 代码示例
HTTP 请求:
POST /message/recall.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Nonce: 14314 Timestamp: 1408710653491 Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8 Content-Type: application/x-www-form-urlencoded fromUserId=fDR2cVpxxR5zSMUNh3yAwh&messageUID=5FGT-7VA9-G4DD-4V5P&sentTime=1507778882124
已复制
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
HTTP 响应:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
1
2
3
4
2
3
4