跳到主要内容

搜索超级群消息上下文

即时通讯服务端会保存(默认 7 天)App 下超级群所有会话频道的历史消息记录。您可以调用服务端 API 通过消息 UID(msgUID)主动获取超级群频道内指定消息的历史消息上下文。

该接口一般由超级群 App 运营方使用,可用于实现后台搜索消息。

提示

即时通讯服务同时提供服务端回调服务,支持将消息副本实时抄送给您指定的应用服务器。开通及配置方式详见全量消息路由

可查询范围

  • 数量范围:API 接口支持通过指定消息 UID 搜索 100 条上下文消息,其中上文消息最多 50 条,下文消息最多 50 条。
  • 时间范围:API 接口支持获取在历史消息存储服务中的上下文历史消息。如果消息已超过保存期限,则无法获取。开通超级群业务后,超级群消息云端存储默认设置为 7 天,即仅保存 7 天的历史消息存储。支持付费开通为 3 个月、6 个月、 1 年。如何调整保存时长详见开通超级群服务
  • 频道类型:API 接口支持查询公有频道和私有频道的历史消息。公有频道指 App 自建频道和超级群服务默认的 RCDefault 频道。API 不对查询私有频道历史消息作额外限制,App 后端可能需要自行区分频道类型。关于私有频道的更多说明请参见私有频道概述
  • 限制条件:超级群业务从 2022.10.13 日开始提供 ID 为 RCDefault 的默认频道。在此之前开通超级群业务的 App/环境中不存在 RCDefault 频道。即时通讯服务支持客户调整服务至最新行为。该行为调整将影响客户端、服务端收发消息、获取会话、清除历史消息、禁言等多个功能。如有需要,请提交工单咨询详细方案。如果在调用客户端、服务端 API 发送消息时不指定频道 ID,消息不属于任何频道,无法通过此 API 查询。

方法说明

POST: https://数据中心域名/ultragroup/hismsg/msgid/query.json

频率限制: 每分钟限 100 次

签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名

正文参数

HTTP 请求正文数据格式为 application/x-www-form-urlencoded,支持以下 HTTP 表单参数:

参数类型必传说明
groupIdString超级群 ID,请确保该超级群 ID 已存在。
busChannelString频道 ID。
msgUIDString消息的 UID。返回结果中会包含该 msgUID 的消息。例如,该接口默认查询该消息前面 10 条和后面 10 条消息,默认情况下返回 21 条消息。
prevNumNumber需要查询的上文消息数量。例如传入 20,即表示需要获取 msgUID 前的 20 消息数量。取值范围:0-50,默认 100 表示不需要获取 msgUID 前的消息。
lastNumNumber需要查询的下文消息数量。例如传入 20,即表示需要获取 msgUID 前的 20 消息数量。取值范围:0-50,默认 100 表示不需要获取 msgUID 后的消息。

请求示例

POST ultragroup/hismsg/msgid/query.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/x-www-form-urlencoded

groupId=wxlGroup&busChannel=wxlBusChannel&msgUID=AAAA-BBBB-CCCC-DDDD&prevNum=10&lastNum=10

返回结果

HTTP 响应正文包含具有以下结构的 JSON 对象:

返回值返回类型说明
codeNumber返回码,200 为正常。
dataArray of objects查询结果。按消息时间戳升序排列。
data[i].groupIdString超级群 ID。
data[i].busChannelString超级群频道 ID。
data[i].fromUserIdString消息发送方用户 ID。
data[i].msgUIDString消息 UID。
data[i].msgTimeNumber发送消息的时间戳。Unix 时间戳(毫秒)。
data[i].objectNameString消息类型。详见消息类型概述
data[i].conversationTypeNumber会话类型。超级群的会话类型为 10
data[i].contentString消息内容,JSON 格式。具体结构可通过 objectName 字段在 消息类型概述 中查询。
data[i].expansionBoolean消息是否已被设置为可扩展消息。true 表示可扩展。false 表示不可扩展。
data[i].extraContentString消息扩展的内容,JSON 结构的 Key、Value 对,如:"{\"key1\":{\"v\":\"value\",\"ts\":110908544521}}"。Key 最大 32 个字符,支持大小写英文字母、数字、 特殊字符+ = - _ 的组合方式,不支持汉字。Value 最大 4096 个字符。

返回结果示例

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
"code": 200,
"data": [
{
"groupId": "ug01",
"busChannel": "channel01",
"fromUserId": "u01",
"msgUID": "CDF0-T47K-A6PB-DE0J",
"msgTime": 1707119100881,
"objectName": "RC:TxtMsg",
"conversionType": 10,
"content": "{\"content\":\"hello world\"}",
"expansion": false,
"extraContent": ""
},
{
"groupId": "ug01",
"busChannel": "channel01",
"fromUserId": "u01",
"msgUID": "CDF1-21C2-A73B-DE0J",
"msgTime": 1707119744521,
"objectName": "RC:TxtMsg",
"conversionType": 10,
"content": "{\"content\":\"hello world\"}",
"expansion": true,
"extraContent": "{\"key1\":{\"v\":\"value\",\"ts\":110908544521}}"
}
]
}