Общие

Как создать веб-хук для добавления лида

Прежде всего, в рамках Битрикс24 нужно создать вебхук, в который мы будем отправлять данные с сайта. В Битрикс24 в левом меню переходим в раздел Приложения, идем на вкладку Вебхуки, жмем кнопку Добавить вебхук, в подменю выбираем Входящий вебхук.**

Открылась форма добавления вебхука. В поле Название вводим произвольное название, например Получение лидов с сайта. Поле Описание заполняем по своему желанию. В списке Права доступа отмечаем чекбокс CRM.

В генераторе запросов будет представлен образец URL, который нужно использовать при отправке данных из сторонней системы в Битрикс24

**Внимание!Данный код является конфиденциальной информацией. Его необходимо держать в секрете. Секретные коды чужих вебхуков недоступны даже администратору. Если администратор отредактирует чужой вебхук, то секретный код будет сброшен, и владельцем этого вебхука станет администратор.

URL состоит из:

  • doc-test-b24.bitrix24.ru - адрес вашего Битрикс24

  • /rest - указание на то, что работа ведётся через rest с вебхуками

  • /1 - идентификатор пользователя, создавшего вебхук

  • /173glortu42lvpju - секретный код

  • /crm.contact.get - вызываемый метод REST API . В данном случае - метод, возвращающий контакт по идентификатору

  • .json- необязательный параметр (“транспорт”). При создании новых вебхуков можно не указывать (по умолчанию будет использоваться**.json**). В конструкторе готовых решений**.json** подставляется явно

  • ?ID=42- параметры, необходимые для конкретного метода. В данном случае - идентификатор. Параметры указываются после вопросительного знака и разделяются символом**&**

Дальше необходимо немного PHP кода на сайте.

В первую очередь, надо убедиться что на сервере подключена библиотека curl.

При отправке формы добавляем код:


$b24Url = "https://adresportala.bitrix24.ru"; // укажите URL своего Битрикс24

$b24UserID = "***"; // ID пользователя, от имени которого будем добавлять лид

$b24WebHook = "*****"; // код вебхука

// формируем URL, на который будем отправлять запрос

$queryURL = "$b24Url/rest/$b24UserID/$b24WebHook/crm.lead.add.json";

// формируем параметры для создания лида

$queryData = http_build_query(array(

"fields" => array(

"TITLE" => "заказ №". $arEventFields['ORDER_ID'], // название лида

"NAME" => $arEventFields['ORDER_USER'], // имя

"PHONE" => [["VALUE" => $arEventFields['PHONE'],"VALUE_TYPE" => "WORK"]],

"EMAIL" => [["VALUE" => $arEventFields['EMAIL'],"VALUE_TYPE" => "WORK"]],

"ASSIGNED_BY_ID" => $b24UserID, // пользователь ответственный за лид

"UF_CRM_123456789" => $arEventFields['CITY'], // свойство типа строка

"OPPORTUNITY" => $arEventFields['PRICE'], //цена

"CURRENCY_ID" => 'RUB', //валюта

"COMMENTS" => $arEventFields['ORDER_LIST'],

),

'params' => array("REGISTER_SONET_EVENT" => "Y") // Y = произвести регистрацию события добавления лида в живой ленте. Дополнительно будет отправлено уведомление ответственному за лид.

));

// отправляем запрос в Б24 и обрабатываем ответ

$curl = curl_init();

curl_setopt_array($curl, array(

CURLOPT_SSL_VERIFYPEER => 0,

CURLOPT_POST => 1,

CURLOPT_HEADER => 0,

CURLOPT_RETURNTRANSFER => 1,

CURLOPT_URL => $queryURL,

CURLOPT_POSTFIELDS => $queryData,

));

$result = curl_exec($curl);

curl_close($curl);

$result = json_decode($result,1);

Таким образом можно передать в b24 параметры UTM-меток. Для нужной формы отследить событие OnAfterResultAdd.**

**<?php

// получаем текущий урл и упаковываем параметры в массив

$url = basename($_SERVER['REQUEST_URI']);

$url_components = parse_url($url);

parse_str($url_components['query'], $params);

$b24Url = "https://***.bitrix24.ru";	// укажите URL своего Битрикс24

$b24UserID = "***";						// ID пользователя, от имени которого будем добавлять лид

$b24WebHook = "***";		// код вебхука, который мы только что получили

// формируем URL, на который будем отправлять запрос

$queryURL = "$b24Url/rest/$b24UserID/$b24WebHook/crm.lead.add.json";

// формируем параметры для создания лида

$queryData = http_build_query(array(

"fields" => array(

"TITLE" => "Лид с нашего сайта",	// название лида

"NAME" => "Меган Фокс",				// имя ;)

"PHONE" => array(	// телефон в Битрикс24 = массив, поэтому даже если передаем 1 номер, то передаем его в таком формате

"n0" => array(

"VALUE" =>  "+7 (123) 456-78-99",	// ненастоящий номер Меган Фокс

"VALUE_TYPE" => "MOBILE",			// тип номера = мобильный

),

),

"UF_CRM_1575410143732" => true,	// первое пользовательское свойство: передадим "Да"

"UF_CRM_1575410440471" => "Перезвони :*",	// второе пользовательское свойство, передаем этот текст

"UTM_SOURCE"=>$params["utm_source"],

"UTM_MEDIUM"=>$params["utm_medium"],

"UTM_CAMPAIGN"=>$params["utm_campaign"],

),

'params' => array("REGISTER_SONET_EVENT" => "Y")	// Y = произвести регистрацию события добавления лида в живой ленте. Дополнительно будет отправлено уведомление ответственному за лид.

));

// отправляем запрос в Б24 и обрабатываем ответ

$curl = curl_init();

curl_setopt_array($curl, array(

CURLOPT_SSL_VERIFYPEER => 0,

CURLOPT_POST => 1,

CURLOPT_HEADER => 0,

CURLOPT_RETURNTRANSFER => 1,

CURLOPT_URL => $queryURL,

CURLOPT_POSTFIELDS => $queryData,

));

$result = curl_exec($curl);

curl_close($curl);

$result = json_decode($result,1);

// если произошла какая-то ошибка - выведем её

if(array_key_exists('error', $result))

{

die("Ошибка при сохранении лида: ".$result['error_description']);

}

echo "Лид добавлен, отличная работа :)";

?>

Источник: https://sinyavsky.com/sozdaem-lid-bitrix24-cherez-api/

Учебный курс: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=99&LESSON_ID=8581


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →