Скрипт для интеграции квиза с applpplatform .
Есть две кнопки на двух этапах квиза.
Внутри синхронной функции вызываю async функцию с fetch api парсю ответ,получаю id и передаю её в синхронную функцию ,которая тупо записывает в глобальную переменную. Потому как не знаю как иначе сохранить idк созданного контакта для апдейта на следующем этапе квиза.
Если не сложно подскажите, в целом может ли такой подход вызвать баги.И можно ли как-то лучше.Просто скрипт повесил на два квиза. В одном 10% отказ, а другом 90 % отказ. Хотя скрипты идентичны.
function result_id(result){
console.log(result);
};
let url = "https://b24-84z6sr.bitrix24.ru/rest/1/irf1tr07cp90nlym/crm.contact.add.json";
console.log (url);
let data =
{
'fields':{
'NAME':'квиз ',
'TITLE': 78888888884,
'EMAIL':{'n0':{'VALUE':"set@mail.com",
'VALUE_TYPE':'WORK'}},
"SOURCE_ID": 41996480,
"ASSIGNED_BY_ID":1,
"OPENED": "Y",
"SOURCE_DESCRIPTION":'( https:/// )'
}}
async function bitrixHttp(data){
const response = await fetch(url, {
method: 'POST',
headers: new Headers(
{
Accept: 'application/json',
'Content-Type': 'application/json'
}),
body: JSON.stringify(data)
})
console.log("Assynh");
let data_res = await response.json(data);
await result_id(data_res['result']);
};
setTimeout(bitrixHttp(data),2000);