Now i have done some changes to the code , it works, but only from admin accounts
Backend code:
import wixData from 'wix-data';
import wixCrmBackend from 'wix-crm-backend';
import { contacts } from 'wix-crm-backend';
export function validaremail(emailcomp, numref) {
let code = randomNumber(6);
let toInsert = {
"code": code,
"emailcomp": emailcomp,
"estado": "NVAL"
};
wixData.insert("emailsvalidados", toInsert)
.then( (results) => {
let item = results;
} )
.catch( (error) => {
console.error(error);
} );
sendEmailToContact(emailcomp, numref, code);
}
export function checking4(emailform, emailcomp, emailuser) {
if (emailcomp === emailform) {
if (emailcomp === emailuser){
return 1;
}
if (emailcomp !== emailuser){
return 2;
}
}
if (emailcomp !== emailform){
return 0;
}
}
function randomNumber (len) {
var x;
var n = '';
for(var count = 0; count < len; count++) {
let randomNumber1 = Math.floor(Math.random() * 10);
n += randomNumber1.toString();
}
return n;
}
export async function sendEmailToContact(emailcomp, numref, code) {
let contactId;
const emailToFind = emailcomp
const queryResults = await contacts.queryContacts()
.eq("info.emails.email", emailToFind)
.find();
const contactsWithEmail = queryResults.items;
if (contactsWithEmail.length === 1) {
console.log('Found 1 contact');
contactId = contactsWithEmail[0]._id;
} else if (contactsWithEmail.length > 1) {
console.log('Found more than 1 contact');
// Handle when more than one contact is found
} else {
console.log('No contacts found');
// Handle when no contacts are found
}
const triggeredEmailTemplate = "SYvIH8l";
wixCrmBackend.emailContact(triggeredEmailTemplate, contactId, {
"variables": {
"code": code,
"numref": numref
}} )
.then(() => {
console.log('Email sent to contact');
})
.catch((error) => {
console.error(error);
});
}