Pulling Group Message Read Receipt Details
Feature Overview
An app admin can call this API to pull the list of members who have or have not read a group message.
Caution
This feature is available only in the Premium edition. To use it, you need to purchase the Premium edition, go to the console, choose Feature Configuration > Group configuration > Group Message Read Receipts, and enable the feature.
API Calling Description
Applicable group types
Group Type ID | Support for This RESTful API |
Private | Yes. Same as work groups (Work) in the new version. |
Public | Yes |
ChatRoom | Yes. Same as meeting groups (Meeting) in the new version. |
AVChatRoom | No |
Community | No |
Sample request URL
https://xxxxxx/v4/group_open_http_svc/get_group_msg_receipt_detail?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
Request parameters
The following table describes the modified parameters when this API is called. For other parameters, see RESTful API Overview.
Parameter | Description |
xxxxxx | Domain name corresponding to the country/region where your SDKAppID is located. China: console.tim.qq.com Singapore: adminapisgp.im.qcloud.com Seoul: adminapikr.im.qcloud.com Frankfurt: adminapiger.im.qcloud.com Silicon Valley: adminapiusa.im.qcloud.com Jakarta: adminapiidn.im.qcloud.com |
v4/group_open_http_svc/get_group_msg_receipt_detail | Request API |
sdkappid | SDKAppID assigned by the Chat console when an app is created |
identifier | |
usersig | |
random | A random 32-bit unsigned integer ranging from 0 to 4294967295. |
contenttype | Request format. The value is fixed to json . |
Maximum call frequency
200 calls per second
Sample request
Pull the list of members who have or have not read a group message in batches:
Basic format
You can use the
Cursor
and Count
fields to control the pulling-by-page mode:Count
: Specifies the maximum number of members in the ReadList
or UnreadList
array in the response. Maximum value: 200Cursor
: Specifies a member position from which subsequent information is to be pulled. For the first request, the client request parameter Cursor
must pass in "". For the last request, the server returns 1
for the IsFinish
parameter, indicating that the information pulling ends.{"GroupId":"@TGS#2TTV7VSII","MsgSeq": 1,"Filter": 1, // `0`: Pull the list of members who have read the message; `1`: Pull the list of members who have not read the message"Cursor":"", // Position of the last member pulled. Enter "" for the first request"Count":5 // Maximum number of members to pull}
Request fields
Field | Type | Required | Description |
GroupId | String | Yes | ID of the group of which message read receipts are to be pulled |
MsgSeq | Integer | No | Seq of the message to pull |
Filter | Integer | Yes | Whether to pull the list of members who have or have not read a group message. 0 : Pull the list of members who have read a group message; 1 : Pull the list of members who have not read a group message |
Cursor | String | Yes | Position of the last member pulled. Enter "" for the first request. |
Count | Integer | Yes | Maximum number of members that can be pulled each time. The maximum value is 200. |
Sample response
Pull the list of members who have read a group message
{"ActionStatus": "OK","Cursor": "0","ErrorCode": 0,"ErrorInfo": "","IsFinish": 1, // The list is fully pulled. No further pull is required."MsgSeq": 1,"ReadList": [ // List of members who have read the message{"Read_Account": "test1"}]}
Pull the list of members who have not read the message
{"ActionStatus": "OK","Cursor": "144115213529088617", // `Cursor` value to be passed in for the next request"ErrorCode": 0,"ErrorInfo": "","IsFinish": 0, // The list is not fully pulled, and further pull is required."MsgSeq": 1,"UnreadList": [ // List of members who have not read the message{"Unread_Account": "test"},{"Unread_Account": "test6"},{"Unread_Account": "test3"},{"Unread_Account": "test5"},{"Unread_Account": "test4"}]}
Response fields
Field | Type | Description |
ActionStatus | String | Request result. OK : successful; FAIL : failed |
ErrorInfo | String | Error information |
ErrorCode | Integer | Error code. 0 : Successful; other values: Failed |
IsFinished | Integer | Whether the list is fully pulled. 0 : No; 1 : Yes |
MsgSeq | Integer | Seq of the message to pull |
ReadList | Array | List of messages who have read the message |
Read_Account | String | Members who have read the message |
UnreadList | Array | List of messages who have not read the message |
Unread_Account | String | Members who have not read the message |
Cursor | String | Cursor value to be passed in for the next request |
Error Codes
The returned HTTP status code for this API is always 200 unless a network error (such as error 502) occurs. The specific error code and details can be found in the response fields
ErrorCode
and ErrorInfo
respectively.
For public error codes (60000 to 79999), see Error Codes.
The following table describes the error codes specific to this API:Error Code | Description |
10002 | Internal server error. Try again. |
10003 | Invalid command word. |
10004 | Invalid parameter. Check the error description and troubleshoot the issue. |
10007 | No operation permissions. The operator must have permissions to perform corresponding operations. |
10010 | The group does not exist or has been deleted. |
10015 | Invalid group ID. Use the correct group ID. |
10062 | The read receipt doesn't exist. |