Introduction

Note:
There is a new version of this API. If you're already using this module in your code, it will continue to work.

To use the Badges API, import {badges} from the wix-members-backend module:

Copy
import { badges } from "wix-members-backend";
Did this help?

assignMembers( )


Assigns a badge to site members.

The assignMembers() function returns a Promise that resolves when the specified badge is assigned to the specified members.

The badgeId parameter must be an ID from your site's Members/Badges collection. Typically, you retrieve the ID from the collection using a query or through a dataset.

Method Declaration
Copy
function assignMembers(
  badgeId: string,
  memberIds: Array<string>,
): Promise<Array<string>>;
Method Parameters
badgeIdstringRequired

ID of the badge to assign the members to.


memberIdsArray<string>Required

IDs of the members to assign to the badge.

Returns
Return Type:Promise<Array<string>>
JavaScript
import { Permissions, webMethod } from "wix-web-module"; import { badges } from "wix-members-backend"; export const myAssignMembersFunction = webMethod(Permissions.Anyone, () => { const badgeId = "3fcaacc0-a3a7-464f-9ba9-f211bdcec9fc"; const memberIds = [ "efab296e-2687-4751-9956-ee73200dd4bb", "3403e13b-8826-4af6-aa19-18784bb84a8e", "28d35f86-6694-4455-9dff-aff5d450b482", ]; return badges .assignMembers(badgeId, memberIds) .then((assignedMembers) => { return assignedMembers; }) .catch((error) => { console.error(error); }); }); /* Promise resolves to: * { * "memberIds": [ * "efab296e-2687-4751-9956-ee73200dd4bb", * "3403e13b-8826-4af6-aa19-18784bb84a8e", * "28d35f86-6694-4455-9dff-aff5d450b482" * ] * } */
Did this help?

createBadge( )


Creates a badge.

The createBadge() function returns a Promise that resolves to the newly created badge.

New badges do not have any badge permissions by default. You can set badge permissions from the Badges page in the Dashboard.

If backgroundColor or textColor are not specified, they default to "#796EFF" (purple) and "#FFFFFF" (white) respectively.

Method Declaration
Copy
function createBadge(badgeInfo: BadgeInfo): Promise<Badge>;
Method Parameters
badgeInfoBadgeInfoRequired

Settings for the new badge.

Returns
Return Type:Promise<Badge>
JavaScript
import { Permissions, webMethod } from "wix-web-module"; import { badges } from "wix-members-backend"; export const myCreateBadgeFunction = webMethod(Permissions.Anyone, () => { const badgeInfo = { title: "Rising Star", description: "Contributed 5 posts this month", backgroundColor: "#FED8B1", textColor: "#000000", icon: "https://static.wixstatic.com/shapes/132b9a3d51884000acaf705eeeb0e296.svg", }; return badges .createBadge(badgeInfo) .then((badge) => { const badgeTitle = badge.title; const badgeSlug = badge.slug; return badge; }) .catch((error) => { console.error(error); }); }); /* * Promise resolves to: * { * "_id": "571495e9-98af-4ec9-b854-16c0293c9312", * "_createdDate": "2021-05-20T00:02:18.794Z", * "_updatedDate": "2021-05-20T00:02:18.794Z", * "title": "Rising Star", * "slug": "rising-star", * "description": "Contributed 5 posts this month", * "backgroundColor": "#FED8B1", * "textColor": "#000000", * "icon": "https://static.wixstatic.com/shapes/132b9a3d51884000acaf705eeeb0e296.svg", * "roleId": "571495e9-98af-4ec9-b854-16c0293c9312" * } */
Did this help?

deleteBadge( )


Deletes a badge.

The deleteBadge() function returns a Promise that resolves when the specified badge is deleted.

The badgeId parameter must be an ID from your site's Members/Badges collection. Typically, you retrieve the ID from the collection using a query or through a dataset.

Method Declaration
Copy
function deleteBadge(badgeId: string): Promise<void>;
Method Parameters
badgeIdstringRequired

ID of the badge to delete.

Delete a badge
JavaScript
import { Permissions, webMethod } from "wix-web-module"; import { badges } from "wix-members-backend"; export const myDeleteBadgeFunction = webMethod(Permissions.Anyone, () => { const badgeId = "95fad9e6-d4dc-4d84-98a2-ae8660cce599"; return badges .deleteBadge(badgeId) .then(() => { console.log("Badge deleted"); }) .catch((error) => { console.error(error); }); });
Did this help?

listMemberBadges( )


Lists the badges assigned to each of the specified site members.

The listMemberBadges() function returns a Promise that resolves to a list of badge IDs associated with each of the specified members.

Method Declaration
Copy
function listMemberBadges(
  memberIds: Array<string>,
): Promise<Array<MemberBadges>>;
Method Parameters
memberIdsArray<string>Required

List of member IDs to list badges for.

Returns
Return Type:Promise<Array<MemberBadges>>
List badges assigned to members
JavaScript
import { Permissions, webMethod } from "wix-web-module"; import { badges } from "wix-members-backend"; export const myListMemberBadgesFunction = webMethod(Permissions.Anyone, () => { const memberIds = [ "32cf071a-cc2f-450f-ad74-5a25db0b1b6a", "2cb1846f-0c7a-4c39-8736-349236cfab40", "69nh659a-ic2f-950f-ed74-14a25db9b1b6j", ]; return badges .listMemberBadges(memberIds) .then((memberBadges) => { const firstMemberBadges = memberBadges[0].badgeIds; return memberBadges; }) .catch((error) => { console.error(error); }); }); /* * Promise resolves to: * [ * { * "memberId": "32cf071a-cc2f-450f-ad74-5a25db0b1b6a", * "badgeIds": [ * "0d37ea22-44b0-4a62-9818-ff660178c439", * "c7d1a81d-485a-4eef-872f-4595ab2a15a2" * ] * }, * { * "memberId": "2cb1846f-0c7a-4c39-8736-349236cfab40", * "badgeIds": [ * "0d37ea22-44b0-4a62-9818-ff660178c439", * "41dcda59-8b6d-4deb-bb1f-d283de044b85", * "df9fc0e2-c2ba-40ba-a160-200a016c3507" * ] * }, * { * "memberId": "69nh659a-ic2f-950f-ed74-14a25db9b1b6j", * "badgeIds": [ * "df9fc0e2-c2ba-40ba-a160-200a016c3507" * ] * } * ] */
Did this help?