User group overview
User groups provide a member management tool for community channels. Combined with private subchannels, user groups enable more efficient member management, communication management, and fine-grained notification control.
Prerequisites
User groups work primarily through binding to private subchannels, providing batch management of user permissions (sending/receiving messages and notifications) in private subchannels. This improves integration efficiency and operational management capabilities.
Before using user groups, familiarize yourself with private subchannels. See Private subchannel overview.
How to use user groups
Your app backend can create up to 50 user groups (userGroup) per community channel, with up to 100 members per group. A single user can belong to multiple user groups.
After creating a user group, bind it to community channel subchannels. If a user group is bound to one or more private subchannels, all members of that group can send and receive messages and notifications in those subchannels.
- Binding a user group to a private subchannel effectively adds all group members to that subchannel. Like users on the private subchannel member list, only group members can browse, send, receive messages, and receive notifications in the subchannel.
- Binding a user group to a public subchannel has no immediate effect. However, if the public subchannel is later converted to private, the user group members gain access.
- Each subchannel supports up to 10 bound user groups. Each user group can be bound to multiple subchannels (up to 50 subchannels per community channel).
The default RCDefault subchannel is open to all members and cannot be converted to private. Avoid binding user groups to the RCDefault subchannel.
Using user groups with private subchannel member lists
A user can access a private subchannel if they are in any user group bound to the subchannel, or if they are on the private subchannel member list.
When using both features together, the following situation may arise:
- A private subchannel has a member list with several users.
- The same private subchannel has multiple bound user groups.
A user might appear in the member list and in multiple bound user groups. To fully revoke a user's access to a private subchannel:
- Remove the user from the private subchannel member list.
- Check all user groups bound to the subchannel and remove the user from each group, or unbind the groups.
User group management APIs
All user group business logic must be implemented on your app server. We recommend maintaining a mapping of users, user groups, and subchannels on your backend.
For client developers, basic management operations (creating user groups, etc.) only require interaction with your app backend. Your app backend calls the Nexconn Server API for these operations.
| Category | Description | Server API |
|---|---|---|
| Create / Delete user group | Create user groups within a community channel. Deleting a user group removes all member and subchannel binding relationships. | Create user group, Delete user group |
| List user groups | Paginated query of user groups in a community channel. Returns user group IDs. | List user groups |
| Add / Remove users | Add or remove users from a user group. | Add users, Remove users |
| Query user's groups | Paginated query of user groups a specific user belongs to. Returns user group IDs. | Query user's groups |
| Bind subchannel to user groups | Bind one or more user groups to a subchannel. Maximum 10 user groups per subchannel. | Bind subchannel to user groups |
| Unbind subchannel from user groups | Unbind one or more user groups from a subchannel. Maximum 10 per request. | Unbind subchannel from user groups |
| Query user groups bound to subchannel | Paginated query of user groups bound to a subchannel. Returns user group IDs. | Query user groups by subchannel |
| Query subchannels bound to user group | Paginated query of subchannels bound to a user group. Returns subchannel IDs. | Query subchannels by user group |