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:
import { badges } from "wix-members-backend";
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.
function assignMembers(
badgeId: string,
memberIds: Array<string>,
): Promise<Array<string>>;
ID of the badge to assign the members to.
IDs of the members to assign to the badge.
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"
* ]
* }
*/
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.
function createBadge(badgeInfo: BadgeInfo): Promise<Badge>;
Settings for the new badge.
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"
* }
*/
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.
function deleteBadge(badgeId: string): Promise<void>;
ID of the badge to delete.
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);
});
});