Javascript + Bitrix API CRM

392
31 мая 2017, 05:50

Помогите сделать парсинг JSON и сделать редирект в скрипте расширения для браузера Chrome пожалуйста!Есть расширение вылетает форма с кнопками, функция:

t.prototype.makeNotFoundCallButtons = function () {
var t,
e;
return t = [],
e = "phone=" + encodeURIComponent(this.call.entityPhone),
e += "&title=" + encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")",
e += "&address=" + encodeURIComponent(this.call.source),
t.push({
title: "Создать контакт",
url: this.config.bitrix_domain + "/crm/contact/edit/0/?" + e
}),
t.push({
title: "Создать лид",
url: this.config.bitrix_domain + "/crm/lead/edit/0/?" + e
}),
t.push({
title: "Записать лид",
url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=admin&PASSWORD=qwerty&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +""
}), 
t.push({
title: "Создать компанию",
url: this.config.bitrix_domain + "/crm/company/edit/0/?" + e
}),
t
},

Конкретно тут срабатывает это

t.push({
title: "Записать лид",
url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=admin&PASSWORD=qwerty&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +""}),

В ответ Bitrix отсылает на голой белой странице JSON типа

{
'error':'201',
'ID':'18117',
'error_message':'Лид добавлен',
'AUTH':'f5e7f34d3b78f1964cb452cf835c40e'} 

Тут нам нужен только 'ID':'18117'

Собственно нам нужно в ответ сразу сформировать ссылку типа this.config.bitrix_domain+'/crm/lead/edit/18117

Как бы вырисовывается что то типа

var response="{'error':'201','ID':'18202','error_message':'Лид добавлен','AUTH':'11bc63a3a64d79dbdcd5cf8e389526c'}";
try{
    response=JSON.parse(response);
    window.location.href=this.config.bitrix_domain+'/crm/lead/edit/'+response.ID+'/';
} catch(e){
    if(!!window.console && !!console.error)
        console.error(e);
    alert('Произошла ошибка');
}

Но как его интегрировать правильно в выше указанную функцию и как спарсить собственно JSON ответ от Битрикса..?

READ ALSO
nodejs вызов soap функции по имени

nodejs вызов soap функции по имени

Делаю небольшой прокси-сервер с переводом soap от 1с в jsonКак можно вызвать функцию по имени fn?

428
Подключение js файлов в yii2

Подключение js файлов в yii2

Хочу подключить js файл на определенной странице после всех скриптов, делаю так, но он подключает только после первого jq скрипта

377
Как сделать плавный Спойлер

Как сделать плавный Спойлер

Друзья помогите сделать плавный спойлер есть вот такой вот скрипт который открывает спойлер но он резкий , как его сделать плавным

260
google maps api autocomplete - ограничить городом

google maps api autocomplete - ограничить городом

Есть пример Автокомплита на сайте гугл https://developersgoogle

344