Note: This module is universal. Functions in this module can run on both the backend and frontend, unless specified otherwise.
The Groups API provides functionality for managing groups, including creating, deleting, updating, and querying groups.
Site admins determine who can create a group. This setting can be found in your site's Dashboard under Groups Application > General Settings > Group Creation.
If set to site members with admin approval, site members can create a group using the createGroup()
function, and the group becomes a createRequest
with a name of PENDING
. The site admin either approves or rejects the request to create a group.
If set to all site members, site members can create a group using the createGroup()
function (no approval required).
If set to only admins, only site admins can create a group using the createGroup()
function.
The default is set to site members with admin approval.
When a group is created, the newly created group is added to the Groups List page of your site.
The Groups API provides functionality allowing you to:
Note: You can override the permissions below by using the wix-auth
elevate()
function.
Functions | Permissions |
---|---|
createGroup() | Manage in your site's Dashboard. Note: If you override this permission with the elevate() function, you must provide a creatorId when running the function. |
deleteGroup() , updateGroup() | Site admin, group admin. |
listGroups() , getGroup() , queryGroups() | For public & private groups: any site member. For secret groups: group members, site admin. |
Warning: Elevating a function allows it to be called by any site visitor. Exercise caution to prevent security vulnerabilities.
To use the Groups API,
import groups
from wix-groups.v2:
Creates a group.
The createGroup()
function returns a Promise that resolves to a newly-created group after it has successfully been created. The new group is added to the Groups List page of your site.
Site admins can choose to allow site members to create a group. They can also require that site members request their approval when creating a group. This setting can be found in your site's Dashboard under Groups Application > General Settings > Group Creation. If set to admin approval required, a site member uses this function to create a group, and the group becomes a createRequest
with a status of PENDING
until the group is reviewed. The default is set to site members with admin approval.
Group to create.
Optional fields for group creation.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Deletes a group.
The deleteGroup()
function returns a Promise resolves to the deleted group after it has successfully been deleted. Only site admins and group admins can delete their group. After the group is deleted, it is removed from both your site and the site's Dashboard.
ID of the group to delete.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Gets a group by ID.
The getGroup()
function returns a Promise that resolves to a group whose ID matches the given ID.
Note: For SECRET
groups, only site admins, group admins, and group members can see a group and its content.
ID of the group to retrieve.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Gets a group by slug.
The getGroupBySlug()
function returns a Promise that resolves to a group whose slug matches the given slug. The slug is the end of a group's URL that refers to a specific group. For example, if a group's URL is https:/example.com/groups/{my-fitness-group}
, the slug is my-fitness-group
. The slug is case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters, for example, https:/example.com/groups/{5D3yTX}
.
Note: For SECRET
groups, only site admins, group admins, and group members can see a group and its content.
Unique part of the group's URL, for example group-1
in https:/example.com/groups/group-1
. Pass only the slug. Case-sensitive.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Lists groups.
The listGroups()
function returns a Promise that resolves to a list of up to 1,000 groups on your site. Sorts by default to _createdDate
in descending order.
Notes:
SECRET
groups, only site admins, group admins, and group members can see a list of group and their content.null
as a placeholder for any unspecified parameters. For example, to specify limit only, call listGroups(paging, null)
.
Limit and offset options.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Creates a query to retrieve a list of groups.
Note: For SECRET
groups, only site admins, group admins, and group members can query groups and their content.
The queryGroups()
function builds a query to retrieve a list of all groups, and returns a GroupsQueryBuilder object.
PROPERTY | SUPPORTED FILTERS & SORTING |
---|---|
title | eq() ,ne() ,exists() ,in() ,hasSome() ,startsWith() ,ascending() ,descending() |
membersCount | ascending() ,descending() |
_createdDate | ascending() ,descending() |
recentActivityDate | ascending() ,descending() |
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Updates a group.
The updateGroup()
function returns a Promise that resolves to the updated group. Only site admins and group admins can update their group. Only the fields in the groupInfo object parameter can be updated. Specify which fields to update. Unspecified fields remain the same.
Notes:
privacyStatus
is updated from PRIVATE
to PUBLIC
, all pending join requests for that group are automatically approved.privacyStatus
is updated from PRIVATE
to SECRET
, all pending join requests for that group are automatically rejected.
Group ID.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.