URGENT Getting Error Code 403 Trying To Add New Site Member!

Site has been working for over a year. Today all of a sudden, I am getting the following error when I insert a new record from my custom sign-up procedure?

mainr.js:143 POST https://www.cosworthvega.com/_api/wix-sm-webapp/v1/auth/register 403 (Forbidden)

I have cleared cache and cookies and the issue persists?

PLEASE HELP!

Guessing your using the client side CRM API, had it result in 403 yesterday and had to make a createcontact backend api instead.

Marvelous, I hate it when they change things without letting us know…!

Thanks for the tip. I will check it out…

Would you mind giving a Before and After look so I can see the coding changes needed?
Thanks
JD

Wix 403 Error Description:
Live Site Error: Error 403 (Forbidden)
A 403 Forbidden error is an HTTP status code that means you are unauthorized to view the page you are trying to access.

However, if the Wix CRM was changed by Wix then it would have been told about beforehand and we would have all been notified here and in update emails from Wix etc.

What code are you using, paste it below.

Looking at your site too, are you actually just using thr Wix Login Bar from the Wix Members app and Wix own custom login and signup form as here.
https://support.wix.com/en/article/creating-a-custom-signup-form-for-your-members-area

Or did you actually make up your own custom lightboxes for login and signup and changed your member signup to corvid.
https://support.wix.com/en/article/corvid-enabling-custom-site-registration

Actually BOTH. We have a CUSTOM SIGNUP procedure that is a page with 8 slides for each step in the sign up process. The signup code is 750 lines long. I will try to add it as a file…

And we have our own CUSTOM LOGIN lightboxes for login and signup. Login is working fine.

Uploading as a file screwed up the alignment… Will post as code block below.

Also there is something afoot with the code getting the region at state abbrev belongs to in the Regions table.
The code runs all the way thru but throw the Forbidden error as well:

HERE IS THE CODE:

import wixData from ‘wix-data’;
import wixWindow from ‘wix-window’;
import wixLocation from ‘wix-location’;
import wixUsers from ‘wix-users’;
import wixCrm from ‘wix-crm-backend’;
import { createMyPayment } from ‘backend/pay’;
import wixPay from ‘wix-pay’;

//>>>>>>>>>>>>>>>>>>> Multi Email >>>>>>>>>>>

// These variables are loaded in the on ready
//Presidents email
let presidentID;
//Webmasters Email
let webmasterID;
//Registras Email
let registrarID;
//VP Merchandise Director Email
let vpMerchDirID;
// VP Membership & Finance Director
let vpMembFinanceID;

//the regigional director is loaded in the sendEmail function
let RegDirID;
//>>>>>>>>>>>>>>>>>>> Multi Email variable ends >>>>>>>>>>>

let Fname;
let Mname;
let Sname;
let Add1;
let Add2;
let City;
let Country;
let State;
let Zip;
let Phnum;
let EmailAdd;
let PasswordAdd; //ADDED 8/19 JDS
let memberDuration;
let PaymentMethod;
let startDate = new Date();
let endDate;
let memberTerm;
let memberStatus;
let payString;
let stateRegion;
let region;

let userWixId;

let oneYear = 365;
let threeYears = 1095;

// =====================================================================
$w.onReady( function () {
userWixId = wixUsers.currentUser.id;

$w("#slideshow1").changeSlide(0); 

$w("#invalidCredentials").hide 

//loads Registra Email
wixData.query(“CVOA_Members”)
.eq(“title”, “Registrar”)
.find()
.then(results => {
let firstItem = results.items[0];
registrarID = firstItem._id;
console.log("ID: "+registrarID)
});
//loads Webmaster Email
wixData.query(“CVOA_Members”)
.eq(“title”, “Webmaster”)
.find()
.then(results => {
let firstItem = results.items[0];
webmasterID = firstItem._id;
console.log("ID: "+webmasterID)
});
//loads the VP Merch email
wixData.query(“CVOA_Members”)
.eq(“title”, “VP Merchandise Director”)
.find()
.then(results => {
let firstItem = results.items[0];
vpMerchDirID = firstItem._id;
console.log("ID: "+vpMerchDirID)
});
//loads the VP Member & Finance email
wixData.query(“CVOA_Members”)
.eq(“title”, “VP Membership and Finance”)
.find()
.then(results => {
let firstItem = results.items[0];
vpMembFinanceID = firstItem._id;
console.log("ID: "+vpMembFinanceID)
});
//loads the president email
wixData.query(“CVOA_Members”)
.eq(“title”, “President”)
.find()
.then(results => {
let firstItem = results.items[0];
presidentID = firstItem._id;
console.log("ID: "+ presidentID)
});

$w("#slideshow1").changeSlide(0); 

});

export function button7_click(event, $w) {
Fname = $w(“#input1”).value;
Mname = $w(“#input2”).value;
Sname = $w(“#input3”).value;
Add1 = $w(“#input4”).value;
Add2 = $w(“#input5”).value;
City = $w(“#input6”).value;
State = $w(“#selection1”).value;
Country = $w(“#selection5”).value;
Zip = $w(“#input8”).value;
Phnum = $w(“#input9”).value;
EmailAdd = $w(“#input10”).value;
PasswordAdd = $w(“#input11”).value;
region = $w(‘#text159’).text; //ADDED 10/9 JDS

wixData.query("CVOA_Members") 
    .eq("email", EmailAdd) 
    .find() 
    .then((results) => { 

let firstItem = results.items[0];
if (firstItem === undefined) {
if (Fname === “” || Sname === “” || Add1 === “” || City === “” || Country === “” || State === “” || Zip === “” || Phnum === “” || EmailAdd === “”) {
$w(“#text86”).show();
} else {
$w(“#text86”).hide();
$w(“#slideshow1”).changeSlide(2);
}
}
})
. catch ((err) => {
let errFunction = “loading the members details on the CVOA_Membership-Renewal Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

        wixData.insert("errorCodes", toInsert) 
            .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});
});

}

export function selection5_change(event) {
//Find out which region the state appreviation belongs to
$w(“#image20”).show();
let regionString = $w(“#selection1”).value; //State Abbreviation
console.log("Setting Region for State: " + regionString)

            wixData.query("Regions") 
                .eq("abbrev", regionString) 
                .find() 
                .then((results) => { 

let firstItem = results.items[0]; //see item below
stateRegion = firstItem.region;
$w(“#image20”).hide();
if (stateRegion !== “”) {
$w(“#text159”).text = stateRegion;
$w(“#text159”).show();
} else {
$w(“#text159”).hide();
}
let StateAbrev = firstItem.abbrev
if (StateAbrev !== “”) {
$w(“#text160”).text = StateAbrev;
$w(“#text160”).show();
} else {
$w(“#text160”).hide();
}
})
. catch ((err) => {
let errorMsg = err;
$w(“#image34”).hide();
let errFunction = “Trying to load the correct region on the Join the CVOA 4 Wix Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

                    wixData.insert("errorCodes", toInsert) 
                        .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});

                }); 
        } 

function addDays(days, fromDate) {
fromDate.setDate(fromDate.getDate() + days);
return fromDate;
}

export function button8_click(event, $w) {
memberDuration = $w(“#selection4”).value;
PaymentMethod = $w(“#selection3”).value;
payString = “$” + memberDuration;

if (memberDuration === “” || PaymentMethod === “”) {
$w(“#text87”).show();
} else if (PaymentMethod === “PayPal”) {

if (memberDuration === ‘50’) {
let addTo = new Date();
endDate = addDays(oneYear, addTo);
memberTerm = “1 Year”;
} else if (memberDuration === ‘100’) {
let addTo = new Date();
endDate = addDays(threeYears, addTo);
memberTerm = “3 Years”;
}

    $w("#text87").hide(); 
    $w("#slideshow1").changeSlide(4); 
    $w("#text115").text = Fname; 
    $w("#text117").text = Mname; 
    $w("#text123").text = Sname; 
    $w("#text125").text = Add1; 
    $w("#text127").text = Add2; 
    $w("#text129").text = City; 
    $w("#text131").text = State; 
    $w("#text133").text = Zip; 
    $w("#text135").text = Country; 
    $w("#text119").text = Phnum; 
    $w("#text120").text = EmailAdd; 
    $w("#text137").text = startDate.toLocaleDateString('en-US'); 
    $w("#text139").text = endDate.toLocaleDateString('en-US'); 
    $w("#text141").text = memberTerm; 
    $w("#text157").text = payString; 

    memberStatus = "ACTIVE"; 

}  **else if**  (PaymentMethod === "Cash") { 

if (memberDuration === ‘50’) {
let addTo = new Date();
endDate = addDays(oneYear, addTo);
memberTerm = “1 Year”;
} else if (memberDuration === ‘100’) {
let addTo = new Date();
endDate = addDays(threeYears, addTo);
memberTerm = “3 Years”;
} else if (memberDuration === ‘0.01’) {
let addTo = new Date();
endDate = addDays(threeYears, addTo);
memberTerm = “Test 1 cent”;
}

    memberStatus = "PENDING"; 

    $w("#text87").hide(); 
    $w("#slideshow1").changeSlide(3); 
    $w("#text100").text = Fname; 
    $w("#text101").text = Mname; 
    $w("#text102").text = Sname; 
    $w("#text103").text = Add1; 
    $w("#text104").text = Add2; 
    $w("#text105").text = City; 
    $w("#text106").text = State; 
    $w("#text107").text = Zip; 
    $w("#text109").text = Country; 
    $w("#text110").text = Phnum; 
    $w("#text111").text = EmailAdd; 
    $w("#text143").text = startDate.toLocaleDateString('en-US'); 
    $w("#text144").text = endDate.toLocaleDateString('en-US'); 
    $w("#text147").text = memberTerm; 
    $w("#text156").text = payString; 

}  **else if**  (PaymentMethod === "OTC") { 
    $w("#slideshow1").changeSlide(6); 
} 

}

export function text148_click(event, $w) {
$w(“#slideshow1”).changeSlide(0);
}

export function text149_click(event, $w) {
$w(“#slideshow1”).changeSlide(0);
}

export function html1_mouseIn(event, $w) {
let roundedTot = Math.round(memberDuration);
$w(“#html1”).postMessage(parseFloat(roundedTot));
}

export function SaveToDB() {
let firstName;
let lastName;
wixUsers.register(EmailAdd, PasswordAdd, {
contactInfo: {
“firstName”: Fname,
“lastName”: Sname,
“emails”: [EmailAdd],
“phones”: [Phnum]
}})
.then((result) => {

let toSave = {
“email”: EmailAdd,
“fname”: Fname,
“middle”: Mname,
“lname”: Sname,
“address1”: Add1,
“address2”: Add2,
“city”: City,
“state”: State,
“zip”: Zip,
“country”: Country,
“phone”: Phnum,
“paymentAmount”: payString,
“mem_status”: memberStatus,
“payment_info”: PaymentMethod + " - " + payString,
“expires”: endDate,
“region”: stateRegion
}

                wixData.save("CVOA_Members", toSave) 
                    .then((results) => { 

let item = results;
// sendTrigEmail();
})
. catch ((err) => {
let errorMsg = err;
$w(“#image34”).hide();
$w(“#text178”).text = errorMsg;
$w(“#text178”).show();
});
})

            . **catch** ((err) => { 

let errFunction = “Saving updates to the DB with SaveToDB on the Join the CVOA 4 Wix Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

                wixData.insert("errorCodes", toInsert) 
                    .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});
});

        } 

export function button9_click(event, $w) { //ERROR SAVEING CVOA_MEMBERS … check error_codes database???
// memberStatus = “PENDING”;
// endDate = $w(“#text152”).text;
SaveToDB();
$w(“#slideshow1”).changeSlide(5); // ADDED since page did not advance to show where to send payment…
}

export function vectorImage1_click(event) {
$w(“#image34”).show();
let otc = $w(“#input12”).value;

            wixData.query("MembershipOTC") 
                .eq("code", otc) 
                .find() 
                .then((results) => { 

let firstItem = results.items[0];
$w(“#image34”).hide();
if (firstItem === undefined) {
$w(“#text175”).text = “Not Valid”
$w(“#text176”).text = “0”;
$w(“#button10”).disable();
} else {
if (firstItem.used === true ) {
$w(“#text175”).text = “Code Used”
$w(“#text176”).text = “0”;
$w(“#button10”).disable();
} else {
$w(“#text175”).text = “Available”
$w(“#text176”).text = firstItem.length + " Days";
$w(“#text177”).text = firstItem._id;
otcLength = parseFloat(firstItem.length);
$w(“#button10”).enable();
}
}
})
. catch ((err) => {
let errorMsg = err;
$w(“#text178”).text = errorMsg;
$w(“#text178”).show();
$w(“#image34”).hide();

let errFunction = “Loading an OTC on the Join the CVOA 4 Wix Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

                    wixData.insert("errorCodes", toInsert) 
                        .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});
});

        } 

let otcLength;

export function button10_click(event) {
$w(“#image34”).show();
let addTo = new Date();
endDate = addDays(otcLength, addTo);
memberTerm = $w(“#text176”).text;
let ID = $w(“#text177”).text

            wixData.remove("MembershipOTC", ID) 
                .then((results) => { 
                    memberStatus = "ACTIVE"; 
                    SaveToDB(); 
                }) 
                . **catch** ((err) => { 

let errorMsg = err;
$w(“#text178”).text = errorMsg;
$w(“#text178”).show();
$w(“#image34”).hide();

let errFunction = “Deleting the Used OTC on the Join the CVOA 4 Wix Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

                    wixData.insert("errorCodes", toInsert) 
                        .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});
});
}

export function button11_click(event) {
sendTrigEmail();
}

export function button11_click_1(event) {
let email = $w(“#input13”).value;
let password = $w(“#input14”).value;

            wixUsers.login(email, password) 
                .then(() => { 

let userID = wixUsers.currentUser.id;
console.log(“User is logged in”);
wixLocation.to(‘/member-audit-id’);
})
. catch ((err) => {
console.log(err);
$w(“#invalidCredentials”).text = "Email or Passowrd is incorrect. Try Again. "
});

        } 

//export function button12_click(event) {
// $w(“#invalidCredentials”).text = " "
// $w(“#slideshow1”).changeSlide(7)
//}

export function resetPassword_click(event) {
wixUsers.promptForgotPassword()
.then(() => {
console.log(“Password reset submitted”);
})
. catch ((err) => {
let errorMsg = err; // “The user closed the forgot password dialog”

                }); 
        } 

export function storeTransaction(descrip, transID, tranStatus, transVal, transEmail, name, surname, phone, country) {

let toInsert = {
“title”: descrip,
“paymentId”: transID,
“paymentValue”: parseFloat(transVal),
“paymentStatus”: tranStatus,
“firstname”: name,
“surname”: surname,
“phone”: phone,
“email”: transEmail,
“country”: country,
“wixEmail”: EmailAdd
}

            wixData.insert("payTransactions", toInsert) 
                . **catch** ((err) => { 
                    console.log(err) 
                }) 

        } 

export function button13_click(event) {

            $w("#loaderGif").show(); 

let roundedTot = parseFloat(memberDuration).toFixed(2);
let payDescrip = "CVOA Membership Application Fees for " + memberTerm + “($” + roundedTot + “)”;
createMyPayment(parseFloat(roundedTot), payDescrip)
.then((payment) => {
wixPay.startPayment(payment.id)
.then((result) => {

let resStatus = result.status;
let transID = result.transactionId;
let transEmail = result.userInfo.email;
let name = result.userInfo.firstName;
let surname = result.userInfo.lastName;
let country = result.userInfo.country;
let phone = result.userInfo.phone;

                            storeTransaction(payDescrip, transID, resStatus, roundedTot, transEmail, name, surname, phone, country); 

if (resStatus === “Successful”) {
SaveToDB();
} else if (resStatus === “Failed”) {
$w(“#errText”).text = “Error, payment failed”;
$w(“#errText”).show();
$w(“#loaderGif”).hide();
} else if (resStatus === “Pending”) {
SaveToDB();
} else if (resStatus === “Cancelled”) {
$w(“#errText”).text = “Error, payment cancelled”;
$w(“#errText”).show();
$w(“#loaderGif”).hide();
} else if (resStatus === “Undefined”) {
$w(“#errText”).text = “Error, unknown payment result, contact us as soon as you can.”;
$w(“#errText”).show();
$w(“#loaderGif”).hide();
} else {
$w(“#errText”).text = “Error, unknown payment result, contact us as soon as you can.”;
$w(“#errText”).show();
$w(“#loaderGif”).hide();
}

                        }); 
                }); 
        } 

export function checkExisting_click(event) {
EmailAdd = $w(“#emailInput”).value;
wixData.query(“CVOA_Members”)
.eq(“email”, EmailAdd)
.find()
.then((results) => {
let firstItem = results.items[0];
let resultCount = results.totalCount;
console.log(EmailAdd)
if (resultCount > 0) {
wixWindow.openLightbox(“Offline Member”, EmailAdd);
} else {
$w(“#slideshow1”).changeSlide(1);
}
})
. catch ((err) => {
let errFunction = “loading the members details on the CVOA_Membership-Renewal Page”

let toInsert = {
“errorMessage”: String(err),
“user”: EmailAdd,
“function”: errFunction
};

        wixData.insert("errorCodes", toInsert) 
            .then((results) => { 

let item = results; //see item below
})
. catch ((error) => {
let errorMessage = error;
});
});
}

//Send Triggered emails

export function sendTrigEmail() {

let emailBuilder = [presidentID, vpMembFinanceID, webmasterID, RegDirID];

let dateString = endDate.toLocaleDateString(“en-US”);

//sends the clients Email
wixCrm.emailContact(‘RBmZ8Af’, userWixId, {
variables: {
firstname: Fname,
expiryDate: dateString,
totalAmount: payString,
payType: PaymentMethod,
membershipStatus: memberStatus
}
})

//email the webmaster
wixCrm.emailContact(‘RBmbCgI’, webmasterID, {
variables: {
memberStatus: memberStatus,
dateString: dateString,
Country: Country,
stateRegion: stateRegion,
Add1: Add1,
Phnum: Phnum,
memberTerm: memberTerm,
EmailAdd: EmailAdd,
Mname: Mname,
Fname: Fname,
City: City,
Zip: Zip,
payString: payString,
State: State,
Add2: Add2,
PaymentMethod: PaymentMethod,
Sname: Sname
}
})
.then(() => {

//email the president
wixCrm.emailContact(‘RBmbCgI’, presidentID, {
variables: {
memberStatus: memberStatus,
dateString: dateString,
Country: Country,
stateRegion: stateRegion,
Add1: Add1,
Phnum: Phnum,
memberTerm: memberTerm,
EmailAdd: EmailAdd,
Mname: Mname,
Fname: Fname,
City: City,
Zip: Zip,
payString: payString,
State: State,
Add2: Add2,
PaymentMethod: PaymentMethod,
Sname: Sname
}
})
.then(() => {
//email the Membership Finance
wixCrm.emailContact(‘RBmbCgI’, vpMembFinanceID, {
variables: {
memberStatus: memberStatus,
dateString: dateString,
Country: Country,
stateRegion: stateRegion,
Add1: Add1,
Phnum: Phnum,
memberTerm: memberTerm,
EmailAdd: EmailAdd,
Mname: Mname,
Fname: Fname,
City: City,
Zip: Zip,
payString: payString,
State: State,
Add2: Add2,
PaymentMethod: PaymentMethod,
Sname: Sname
}
})
.then(() => {

                        wixData.query("CVOA_Members") 
                            .contains("title", stateRegion) 
                            .find() 
                            .then(results => { 

let firstItem = results.items[0];
let RdEmail = firstItem.wixId;
console.log("ID: "+RdEmail)

//email the regional director
wixCrm.emailContact(‘RBmbCgI’, RdEmail, {
variables: {
memberStatus: memberStatus,
dateString: dateString,
Country: Country,
stateRegion: stateRegion,
Add1: Add1,
Phnum: Phnum,
memberTerm: memberTerm,
EmailAdd: EmailAdd,
Mname: Mname,
Fname: Fname,
City: City,
Zip: Zip,
payString: payString,
State: State,
Add2: Add2,
PaymentMethod: PaymentMethod,
Sname: Sname
}
})
.then(() => {
$w(“#image34”).hide();
$w(“#loaderGif”).hide();
$w(“#slideshow1”).changeSlide(5);
$w(“#text153”).text = memberStatus;
$w(“#text154”).text = endDate.toLocaleDateString(“en-US”);
})

                            }); 

                    }) 
            }) 

    }) 

}



I did not get all of the runtime errors… here is another screen shot… didnt lke the _id fields I retrieved from the CVOA_Members database. The IDs console logged were preset IDs from initial load in June last year.
The traditional wix _ID field is the fifth one shown.

I just checked the database. It DID create the wix user and also the custom CVOA_Member database entry. Don’t know that the Error is bitching about? Trying to send the emails???

Okay, so you are using Wix CRM and the emailContact function, so firstly please make sure that you are trying to email a contact or a site member from your website.

What’s the difference between wix-crm and wix-users?
The CRM API contains functionality for working with your site’s contacts. The Users API contains functionality for working with users who are logged-in members. Note that all members are also contacts, but contacts are not necessarily members.

For sending to set contacts other than the current public user, then you are better off using Wix CRM Backend anyway.
https://www.wix.com/corvid/reference/wix-crm.html#emailContact
https://www.wix.com/corvid/reference/wix-crm-backend.html#emailContact

Plus with Wix Users, you have to use the backend if you are wanting to send to a user who isn’t the logged in user.

Wix Users
The emailContact function here sends an email to the currently logged in user.
https://www.wix.com/corvid/reference/wix-users.html#emailUser

Wix Users Backend
The emailContact function here sends an email to any site member that you specify,
https://www.wix.com/corvid/reference/wix-users-backend.html#emailUser

As for the email not being correct for the triggered email, then you need to be defining the contactID of the contact that you are trying to send to, as currently you have it set up as a value whereas it should be of a type string.

import wixCrm from 'wix-crm-backend';

export function myBackendFunction() {
  let contactId = // get contact ID
  let value1 = // value for variable1

  wixCrm.emailContact("emailID", contactId, {
      "variables": {
        "variable1": value1,
        "variable2": "value for variable2"
      }
    } )
    .then( () => {
      // email has been sent
    } )
    .catch( (err) => {
      // there was an error sending the email
  } );

Yes, I read that in the API documentation… I am retrieving the “_id” from the member whose tile is " in a wix data query of the members database… isn’t that what the comment “//get contact ID” means???

export function myBackendFunction() {
  let contactId = // get contact ID
  let value1 = // value for variable1

As you are sending the triggered emails to all site members, then you are better off using Wix Users Backend and the emailContact function as you will have the userId for them already in your dataset.
https://support.wix.com/en/article/corvid-tutorial-sending-a-triggered-email-to-members
https://www.wix.com/corvid/reference/wix-users-backend.html#emailUser

This is a car club. Sending to just 6 officers of the club.

Nevermind. I have hired a wix consultant to dig into this…

Going over what you posted before in your reply quickly…
Yes, I read that in the API documentation… I am retrieving the “_id” from the member whose tile is " in a wix data query of the members database… isn’t that what the comment “//get contact ID” means???

in a wix data query of the members database
You can’t use Wix CRM on a site members dataset as Wix CRM is just for Contacts only, that is one reason why you can’t get the contact ID.

If you want to use the Site Members dataset, then you need to be using Wix Users instead.
Especially as you say that the triggered emails are going to 6 officers of the club,

What’s the difference between wix-crm and wix-users?
The CRM API contains functionality for working with your site’s contacts. The Users API contains functionality for working with users who are logged-in members. Note that all members are also contacts, but contacts are not necessarily members.

You can easily get the user ID of the member as it will already be listed in your dataset for you.
https://www.wix.com/corvid/reference/wix-users.User.html#id

If you have the database with userID as a key field then you should see the userID. If you don’t see it then goto your database and click “Visible Fields” and check the ID box, this will show the userID field.

Anyways, hopefully the Wix Consultant helps you out with it and it isn’t too costly for you.