查询单聊会话消息列表
https://zim-api.zego.im/
调用此接口,分页拉取指定用户的某个单聊会话的消息列表。
Request
Query Parameters
可选值: [QueryPeerMsg]
接口原型参数
https://zim-api.zego.im/?Action=QueryPeerMsg
💡公共参数。应用 Id,由 ZEGO 分配的用户唯一凭证。可从 ZEGO 控制台 获取。
💡公共参数。16 位 16 进制随机字符串(8 字节随机数的 hex 编码)。生成算法可参考 签名示例。
💡公共参数。当前 Unix 时间戳,单位为秒。生成算法可参考 签名示例,最多允许 10 分钟的误差。
可选值: [2.0]
默认值: 2.0
💡公共参数。签名版本号。
💡公共参数。签名,用于验证请求的合法性。请参考签名机制生成。
- application/json
Body
required
- 当值 ≤ 0 时,修正为 10。
- 当值 > 100,修正为 100。
- 第一次调用本接口,Limit 填 100,Next 传 0,查询第 1 ~100 条消息;返回结果中的 Next 值为 num1。
- 第二次调用本接口,Limit 填 100,Next 填 num1,查询第 101 ~ 200 条消息;返回结果中 Next 值为 num2。
- 第三次调用本接口,Limit 填 100,Next 填 num2,查询第 201 ~ 250 条消息;查询完毕,返回结果中的 Next 为 0。
- 0:默认值,不包含。
- 1:包含。
可选值: <= 32 characters
如需查询用户 A 与用户 B 的单聊会话消息列表,此处填入用户 A 的 UserID(已在客户端调用 login 方法登录 ZIM 服务,或已调用 服务端 API 完成注册)。
说明
FromUserId 仅支持数字,英文字符和 "'!','#','$','%','&','(',')','+','',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'"。
可选值: <= 32 characters
此处填入用户 B 的 UserID。
可选值: >= 1 and <= 100
默认值: 10
单次获取消息的数量,取值范围为 (0, 100],默认为 10。
分页拉取标志,第一次填 0 ,之后填上一次返回的 Next 值。当返回的 Next 为 0 时,代表消息列表获取完毕。
例如,当前单聊会话有 250 条消息,调用本接口查询时:
可选值: [0, 1]
默认值: 0
返回结果是否包含已撤回消息和在服务端被删除的消息。
Responses
- 200
- application/json
- 数据结构
- 按数据结构生成的示例
Schema
- 非 0:表示还有消息未返回,需要将该字段设置到请求参数 Next 中拉取更多消息。
- 为 0:表示已经返回完整消息列表。
- Array[
- 1:文本。
- 10:组合。
- 11:图片。
- 12:文档。
- 13:音频。
- 14:视频。
- 200:自定义。
- 当 MsgType 为 1(文本类型)或 200(自定义类型),MsgBody 为发送消息时传入的消息内容,开发者可直接阅读消息内容。
- 当 MsgType 为下列类型时,MsgBody 为 JSON 字符串。请使用 URLDecode 对此 JSON 字符串解码,并按照对应结构获取消息中各字段数据:
- 当 MsgType 为 11、12、13、14(多媒体消息)时 ,请参考 MsgBody JSON 字符串解析结果的多媒体消息参数说明。
- 当 MsgType 为 10(组合消息)时,请参考 MsgBody JSON 字符串解析结果的组合消息参数说明。
- 多媒体消息
- 组合消息
- Array[
- 1:文本。
- 11:图片。
- 12:文档。
- 13:音频。
- 14:视频。
- 200:自定义消息类型。
- 仅当 msg_type 为 1 或 200 时,可直接在此参数阅读消息内容。
- 当 Item 为 11、12、13 或 14,请参考本文 多媒体消息结构 了解消息的的各个字段数据。
- ]
- 0:非空。
- 1:消息被删除或者已过期。
- 2:消息被撤回。
- ]
返回码。
以下仅列出了接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。
| 返回码 | 说明 | 处理建议 |
|---|---|---|
| 660000002 | 输入参数错误。 | 请检查输入的参数。 |
| 660300005 | 调用接口的频率超出了 AppID 级别限制。 | 请稍后再试。 |
| 660500002 | FromUserId 未注册。 | 请检查 FromUserId 是否正确。 |
请求结果的说明信息。
请求 ID。
分页拉取标志。
说明
除上述说明之外,此字段与列表信息无任何关联,请勿基于此做任何其他逻辑。
List object[]
消息发送者 ID。
消息类型:
具体的自定义类型。值由用户发送自定义消息时填写,取值范围为 [0,200]。只有当 MsgType 为 200(自定义类型)时,此参数才有意义。
MsgBody object
消息内容。
文件的 MD5 值。
文件名称。
文件大小,单位为字节(B)。
下载地址。
音视频时长,单位为秒(s)。
🏞️如果是图片消息则包含此属性。原图的宽度,单位为像素(px)。
🏞️如果是图片消息则包含此属性。原图的高度,单位为像素(px)。
🏞️如果是图片消息则包含此属性。大图下载地址。
🏞️如果是图片消息则包含此属性。大图的宽度,单位为像素(px)。
🏞️如果是图片消息则包含此属性。大图的高度,单位为像素(px)。
🏞️如果是图片消息则包含此属性。缩略图下载地址。
🏞️如果是图片消息则包含此属性。缩略图的宽度,单位为像素(px)。
🏞️如果是图片消息则包含此属性。缩略图的高度,单位为像素(px)。
🎬如果是视频消息则包含此属性。视频首帧图的下载地址。
🎬如果是视频消息则包含此属性。视频首帧图的宽度,单位为像素(px)。
🎬如果是视频消息则包含此属性。视频首帧图的高度,单位为像素(px)。
multi_msg object[]required
Item 类型:
仅当 msg_type 为 200 时,返回此参数。表示具体的自定义类型,取值范围为 [0,200]。
Item 内容。
消息 ID,可借此确定消息的唯一性。
消息 Seq。
消息扩展字段。
服务端收到消息的时间,Unix 时间戳,单位为毫秒(ms)。
是否是空消息。
{
"Code": 0,
"Message": "success",
"RequestId": "343649807833778782",
"Next": 1000,
"List": [
{
"Sender": "user1",
"MsgType": 1,
"MsgBody": "这是一条消息",
"MsgId": 971503777289036700,
"MsgSeq": 1,
"Payload": "Payload",
"MsgTime": 1705895412000,
"IsEmpty": 0
}
]
}{
"Code": 0,
"Message": "success",
"RequestId": "343649807833778782",
"Next": 1000,
"List": [
{
"Sender": "user1",
"MsgType": 1,
"MsgBody": "这是一条消息",
"MsgId": 971503777289036700,
"MsgSeq": 1,
"Payload": "Payload",
"MsgTime": 1705895412000,
"IsEmpty": 0
}
]
}
