Query the message list of one-on-one chats
Overview
You can call this operation to paginate and fetch the message list of a specific one-on-one chat for a specified user.
Operation prototype
- Request metho`d: POST
- Request URL:
https://zim-api.zego.im/?Action=QueryPeerMsg
- Protocol: HTTPS
- QPS limit: 20 calls per second
Request parameters
The following table describes only the operation-specific request parameters and some common request parameters. For the complete list of common request parameters, see the Public request parameters section of the Accessing Server APIs topic.
Parameter | Type | Required | Description |
---|---|---|---|
FromUserId | String | Yes | To query the list of the one-to-one chat messages between User A and User B, fill in the UserID of user A here. |
ToUserId | String | Yes | Fill in the UserID of user B here. |
Limit | Number | No | The number of messages to retrieve at a time, with a value range of (0, 100], defaulting to 10.
|
Next | Number | No | Pagination flag for pulling messages. Fill in 0 for the first time, and then fill in the Next value returned from the previous call. When the returned Next is 0, it means that the message list has been completely retrieved. For example, if there are 250 messages in the current one-on-one chat session and you call this interface to query:
|
WithEmptyMsg | Number | No | Whether the returned result includes retracted messages and messages that have been deleted on the server.
|
The FromUserId
and ToUserId
parameter can contain only digits, letters, and the following characters: '!','#','$','%','&','(',')','+','-',':',';','<','=','.','>','?','@','[',']','^','_',' ','{','}','|','~'.
Sample request
-
Request URL:
https://zim-api.zego.im/?Action=QueryPeerMsg
&<Common request parameters>
- Request message body:
{
"FromUserId": "u1",
"ToUserId": "u2",
"Limit": 10,
"Next": 0,
"WithEmptyMsg": 0
}
Response parameters
Code | Number | The return code. |
---|---|---|
Message | String | The description of the request result. |
RequestId | String | The request ID. |
Next | Number | Pagination flag.
|
List | Number | Message list. Return the results in descending order by MsgTime. |
└Sender | String | Message sender ID. |
└MsgType | Number | Message type: |
└SubMsgType | Number | Specific custom type. The value is filled in by the user when sending a custom message, and the value range is [0, 200]. This parameter is only meaningful when MsgType is 200 (custom type). |
└MsgBody | String | Message content.
|
└MsgId | Number | Message ID, which can be used to determine the uniqueness of the message. |
└MsgSeq | Number | The message Seq. |
└Payload | String | Message extension field. |
└MsgTime | Number | Timestamp when the server receives the message, in Unix time format with milliseconds (ms) as the unit. |
└IsEmpty | Number | Whether it is an empty message.
|
Explanation of parameters in the parsed result of the msg_body JSON string
Parameter | Type | Description |
---|---|---|
md5 | String | The MD5 value of the file. |
file_name | String | File name. |
file_size | String | File size in bytes (B). |
download_url | String | Download address. |
media_duration | String | The duration of the audio or video, in seconds (s). |
Sample response
{
"Code": 0
"Message": "success",
"RequestId": "343649807833778782",
"Next": 1000,
"List": [
{
"Sender": "user1",
"MsgType": 1,
"MsgBody": "This is a message.",
"MsgId": 971503777289036700,
"MsgSeq": 1,
"Payload": "Payload",
"MsgTime": 1705895412000,
"IsEempy": 0
}
]
}
Return codes
The following table describes only the return codes related to the business logic of the operation. For the complete list of return codes, see Return codes.
Return Code | Description | Solution |
---|---|---|
660000002 | Invalid parameter. | Check the input parameter. |
660300005 | The QPS limit specified in AppID is exceeded. | Try again later. |
660500002 | FromUserId is not registered. | Check if FromUserId is correct. |