Скрипт для интеграции квиза с 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);