The frontend Wix Members API allows you to manage member access to your site as well as view and manage the currently logged-in member.

To use the frontend Wix Members API, import the applicable named exports from wix-members-frontend:

import { authentication, currentMember } from 'wix-members-frontend';
js | Copy Code

Custom fields

Member profiles can contain custom data, located in the member object at contactDetails.customFields. The member object is returned when calling currentMember.getMember().

The Members API works with custom fields that are added to the member profile in the Dashboard. Custom fields that haven't been added to the member profile aren't available through the Members API. When retrieving members, empty fields are not returned. You can query, create, rename, and delete custom field definitions with the Contacts Extended Fields API.

Data structure

The member's customFields object contains key:object pairs. The key is defined in the Contacts Extended Fields API. The paired object is structured as follows:

// ...
customFields: {
<key_1>: {
name: 'Field 1 Display Name',
value: 'string' // Value stored for the member
<key_2>: {
name: 'Field 2 Display Name',
value: 12345 // Value stored for the member
js | Copy Code

The paired object contains these properties:

  • name: Display name. Read only.
  • value: Value stored for the member.

Retrieve custom field keys

For a list of your site's custom field keys, use this function in your backend code:

import { contacts } from 'wix-crm-backend';
export async function listCustomFieldKeys() {
const queryResults = await contacts.queryExtendedFields().find();
// Filters for custom fields (where fieldType is USER_DEFINED), then converts to an array of keys
return queryResults.items
.filter(field => field.fieldType === 'USER_DEFINED')
.map(field => field.key);
js | Copy Code

Was this helpful?