查询超级群消息历史消息
融云即时通讯(IM)服务端默认保存 7 天内 App 下超级群所有会话频道的历史消息记录。您可以使用服务端 API 主动获取指定时段内的频道历史消息。
该接口一般由超级群 App 运营方使用,可用于实现后台搜索消息。具 体可用于查询指定时段内超级群频道中的消息
提示
融云 IM 服务同时提供服务端回调服务,支持将消息副本实时抄送给您指定的应用服务器。开通及配置方式详见详见全量消息路由。
开通服务
调用此接口前,您须提交工单开通 Server API 查询历史消息。
可查询范围
- 时间范围:API 接口支持获取最大时间跨度不超过 14 天的频道的消息。开通超级群业务后,超级群消息云端存储默认设置为 7 天,即仅保存 7 天的历史消息存储。支持付费开通为 3 个月、6 个月、 1 年。如何调整保存时长详见开通超级群服务。
- 频道类型:API 接口支持查询公有频道和私有频道的历史消息。公有频道指 App 自建频道和超级群服务默认的
RCDefault
频道。API 不对查询私有频道历史消息作额外限制,App 后端可能需要自行区分频道类型。关于私有频道的更多说明请参见私有频道概述。 - 限制条件:超级群业务从 2022.10.13 日开始提供 ID 为
RCDefault
的默认频道。在此之前开通超级群业务的 App/环境中不存在RCDefault
频道。即时通讯服务支持客户调整服务至最新行为。该行为调整将影响客户端、服务端收发消息、获取会话、清除历史消息、禁言等多个功能。如有需要,请提交工单咨询详细方案。如果 2022.10.13 后开通,在调用客户端、服务端 API 发送消息时不指定频道 ID,消息不属于任何频道,无法通过此 API 查询。 - 查询顺序:按消息时间戳降序排列
方法说明
POST: https://数据中心域名/v3/message/ultragroup/query.json
频率限制: 每秒限 10 次
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/json
,支持以下 HTTP 参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
userId | String | 否 | 查询用户 ID。 |
targetId | String | 是 | 超级群 ID。 |
busChannel | String | 否 | 频道 ID。 |
startTime | Number | 是 | 查询开始时间。Unix 时间戳(毫秒)。 |
endTime | Number | 是 | 查询结束时间。Unix 时间戳(毫秒)。需要保证比 startTime 小,且两者之间时间跨度最大14 天。 |
pageSize | Number | 否 | 分页返回的页面大小。默认 20 条,最大 100 条。 |
includeStart | Boolean | 是 | 是否包含开始时间的消息,true 包含、false 不包含。 |
请求示例
HTTP
POST /v3/message/ultragroup/query.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/json
{
"userId": "userId1",
"targetId": "ugId1",
"busChannel": "busChannel1",
"startTime": 123,
"endTime": 30,
"pageSize": 10,
"includeStart": true
}