Group Management

Based on common use cases, Chat provides the following default group types: Work Group (Work), public group (Public), Meeting Group (Meeting), AVChatRoom, and Community. For more information, see Group Types.
You can perform the following operations on groups:
Group Operation
Description
Remarks
Create group
This operation creates a new group. You can specify the group type, name, and a list of users to add to the group. After the group is created, the group ID is returned, which is the unique identifier of the group and can be used to perform other group operations such as message sending and receiving.
The daily limit of net group consumption is 10,000 per app.
Transfer group
This operation transfers a group and changes the group owner to another user.
The app admin can transfer a group through the RESTful API. The only other role that can transfer a group is the group owner.
Disband a group
This operation disbands a group that has been created on the app. When the group is disbanded, all group members receive a system message stating that the group has been disbanded.
The app admin can call the RESTful API to disband any group. The permission to disband a group on an app varies depending on the member role:
For a public group (Public), meeting group (Meeting), AVChatRoom (AVChatRoom), or community group (Community), only the group owner can disband the group.
For a work group (Work), no one in the group can disband the group.
Caution
When you create a group, Chat assigns a default group ID that begins with @TGS#. You can also manually specify a group ID. For more information, see Custom Group IDs.
After the group is created, a system message about the group creation is sent to the group owner‘s device to ensure synchronization across multiple devices (once a group is created on one device, all devices instantly detect the created group).

Group Profile Management

The group profile includes properties that are specific to a single group, such as the group name, introduction, announcement, and group owner, as well as custom group fields.
Group Profile Management
Description
Remarks
Get the group profile
Pull basic group information. If you want to pull custom information, configure APIs for the custom fields that you want to pull.
Group members obtain the group profile: Group members can obtain the group profile. Non-members obtain the group profile: Non-members can only obtain the group profile if it is made public. Obtain the user profile in the group: users can obtain their own User Profiles in all groups, or in a single group. Obtain the user profile of a group member: AVChatRoom does not store group member information and does not support obtaining the User Profile of a group member.
Modify the group profile
You can modify the group name, introduction, announcement, group avatar, group name card, group join options, group-level custom fields, group member roles, member-level custom fields, and settings for receiving group messages.
Currently, you can configure callbacks for group name, introduction, announcement, and group avatar URL changes for the app in the console. To enable callbacks for changes in other group information, including group-level custom fields, please submit a ticket.

Group Member/Group Management

Group member management involves two aspects:
Access and modify user profile in the group. This information can only be accessed and modified by the users themselves, such as message receiving options.
Access and modify other group members’ information, including role, joining time, last message time, group profile, and custom group fields at the member level.
Group Member Management
Description
Remarks
Obtain group member information
Obtain user profile or other group members’ information
Available information includes the role, joining time, time of last message, group nickname, and member-level custom fields.
Modify a group member’s profile
The group owner, group administrators, and members can modify group member profiles.
The group owner and group administrators can modify in-group roles (set or cancel administrators), mute members, and modify the group nickname and member-level custom fields.
Group members can modify their personal profiles in the group, including the message receiving options, group nickname, and member-level custom fields.
Invite to a group
Invite non-members to a group.
For a work group, any group member can invite non-members to the group, and invitees are added to the group without confirmation.
For a public group or meeting group, only the app admin can invite non-members to the group by default.
For an AVChatRoom, no member is allowed to invite any user to the group.
For a community group, any group member can invite non-members to the group, and invitees are added to the group without confirmation.
Request to join a group
A user proactively requests to join a group through the Chat SDK.
Work groups disallow non-members to join, and an error will be returned.
Community groups do not require approval to join directly by default. If approval is required, it can be controlled through the ApplyJoinOption field in the group profile.
For other built-in group types, the result of the membership application depends on the ApplyJoinOption field in the group profile.
Delete a group member
The group owner or a group admin removes a group member from the group.
When a group member is removed from the group by the group owner or a group admin, the removed member receives a system notification stating the removal, and other members in the group also receive an event notification about the removal.
Active quit
A group member initiates the active quit operation.
When a group member actively quits the group, the leaving member receives a system message stating that he/she has left the group, and other members in the group also receive an event message about the member quitting the group.
Obtain the list of groups a user has joined
Pull the list of groups that the current user has joined. The returned result contains only part of the basic information.
To obtain detailed group information, use the group profile feature.
List of pending group messages
Pending group operations refer to all group-related operations that require approval.
You can pull the list of pending group operations, report the read status of pending operations, and process pending operations (approve or reject). For a single user, the list can contain up to 50 pending operations.