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
Above are the Chat built-in groups. For more information, please see Group System.

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
App admin account. For more information, see the App Admin section in Login Authentication.
usersig
Signature generated by the app admin account. For details, see Generating 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: 200
Cursor: 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.

API Debugging Tool

Use the RESTful API online debugging tool to debug this API.

References