查询群聊历史消息
您可以使用服务端 API 主动获取指定时段内的群聊会话历史消息。
该接口一般由 App 运营方使用,可用于实现后台搜索消息。
开通服务
调用此接口前,您须:
- 在融云控制台 IM 服务的服务购买页面,开启单群聊消息云端存储。
- 在融云控制台 IM 服务的服务购买页面,开通 Server API 查询历史消息。
提示
融云即时通讯(IM)服务同时提供服务端回调服务,支持将消息副本实时抄送给您指定的应用服务器。开通及配置方式详见详见全量消息路由。
可查询范围
- 时间范围:API 接口支持获取最大时间跨度不超过 14 天的历史消息
- 查询顺序:按消息时间戳降序排列
方法说明
POST: https://数据中心域名/v3/message/group/query.json
频率限制: 每秒限 10 次
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/json,支持以下 HTTP 参数:
| 参数 | 类型 | 必传 | 说明 |
|---|---|---|---|
userId | String | 是 | 查询用户 ID。 |
targetId | String | 是 | 群 ID。 |
startTime | Number | 是 | 查询开始时间。Unix 时间戳(毫秒)。 |
endTime | Number | 是 | 查询结束时间。Unix 时间戳(毫秒)。需要保证比 startTime 小,且两者之间时间跨度最大14 天。 |
pageSize | Number | 否 | 查询条数; 范围: 1-100; 默认 10,如查询时间内小于输入的消息条数时,以查询时间范围为准。 |
includeStart | Boolean | 是 | 是否包含开始时间的消息,true 包含、false 不包含。 |
请求示例
HTTP
POST /v3/message/group/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": "groupId1",
"startTime": 123,
"endTime": 30,
"pageSize": 10,
"includeStart": true
}
返回结果
HTTP 响应正文包含具有以下结构的 JSON 对象:
| 返回值 | 返回类型 | 说明 |
|---|---|---|
code | Number | 返回码,200 为正常。 |
data | Array of objects | 查询结果。按消息时间戳降序排列。 |
data[i].targetId | String | 会话 ID。 |
data[i].fromUserId | String | 消息发送方用户 ID。 |
data[i].msgUID | String | 消息 UID。 |
data[i].msgTime | Number | 发送消息的时间戳。Unix 时间戳(毫秒)。 |
data[i].objectName | String | 消息类型。详见消息类型概述 |