Getting All Groups in an App

Feature Overview

This API is used by the app admin to obtain the IDs of all groups in an app.

API Calling Description

Applicable group types

Tencent Cloud Chat provides different types of built-in groups. For more information, see Group System.

Sample request URL

https://xxxxxx/v4/group_open_http_svc/get_appid_group_list?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_appid_group_list
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, which should always be json.

Maximum call frequency

1 times/second

Sample request

Basic format If the total number of groups in the app exceeds 10,000, a maximum of 10,000 group IDs are returned. To obtain all group IDs, you must pull them by page.
{}
Pulling by page You can use the Limit and Next fields to control the paged pulling:
The Limit field specifies the maximum number of groups in GroupIdList in the response packet, which cannot exceed 10,000.
The Next field is used to control pagination. For the initial pagination request, Next is set to 0. For subsequent requests, it is set to the previously returned Next value. If the returned Next value is 0, all groups have been pulled. For example, if paged pulling is requested and 20 group IDs are displayed per page, the request parameters for the first page are {“Limit” : 20, “Next” : 0}, whereas those for the second page are {“Limit” : 20, “Next” : Previously returned Next value}, and so on.
The value of Limit or Next does not affect TotalCount in the response packet.
{
"Limit": 1000,
"Next": 0
}
Specifying the group type You can specify the type of groups to be pulled, such as Public, Private, ChatRoom, AVChatRoom, or BChatRoom.
{
"GroupType" : "Public" // Type of groups to be pulled. If this parameter is not specified, all types of groups will be pulled.
}
ALL IN ONE
{
"Limit": 1000,
"Next": 0,
"GroupType" : "Public" // Type of groups to be pulled. If this parameter is not specified, all types of groups will be pulled.
}

Request fields

Field
Type
Required
Description
Limit
Integer
No
Maximum number of group IDs to be obtained, which cannot exceed 10,000. If no value is specified, the maximum value 10000 is used by default.
Next
Integer
No
Paged pulling flag when the number of groups is too large. It is initially set to 0 and subsequently to the Next value returned in the previous response. If the returned Next value is 0, all groups have been pulled.
GroupType
String
No
To obtain a specified type of groups, you can use GroupType for filtering. In this case, the returned TotalCount value indicates the total number of groups of the specified type in the app. If this field is not specified, all types of groups are obtained.
Possible group types are Public, Private, ChatRoom, AVChatRoom, BChatRoom, and Community.

Sample response

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"TotalCount": 2,
"GroupIdList": [
{
"GroupId": "@TGS#2J4SZEAEL"
},
{
"GroupId": "@TGS#2C5SZEAEF"
}
],
"Next": 4454685361
}

Response fields

Field
Type
Description
ActionStatus
String
Request result. OK: successful; FAIL: failed
ErrorCode
Integer
Error code. 0: Successful; other values: Failed
ErrorInfo
String
Error information
TotalCount
Integer
Total number of existing groups in the app. To obtain a specified type of groups, you can use GroupType for filtering. In this case, the returned TotalCount value indicates the total number of groups of the specified type in the app. If this field is not specified, all types of groups are obtained.
For example, assume that the app has total 50,000 groups, including 20,000 public groups. If GroupType in the request packet is set to Public, TotalCount in the response packet is 20,000 regardless of the Limit and Offset values. In addition, groups in GroupIdList are all public groups.
GroupIdList
Array
List of obtained group IDs.
Next
Integer
Paged pulling flag.

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.
10004
A parameter is incorrect. To correct it, check request parameters such as GroupType based on the error description.
10007
The operator does not have the necessary permissions for this operation. Only the app admin can call this API.
10018
The response packet exceeds the length limit of 1 MB due to excessive request content. Try to reduce the amount of data in individual single requests.

API Debugging Tool

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

References

Getting the Groups a User Has Joined (v4/group_open_http_svc/get_joined_group_list)