Заказать сайт
МОСКВА
111123, г. Москва, шоссе Энтузиастов, д. 56, стр. 26 оф. 205
ЛИСКИ
Воронежская область г. Лиски, ул. 40 лет Октября, д. 50
  • Услуги
  • Портфолио
  • Блог
  • О нас
  • Контакты
  • Ищем таланты
Калькулятор

Добавление лида в Битрикс24 из инфоблока.

27 Июня 2019

Данная интеграция работает в связке сайт на Bitrix и CRM Bitrix24.

Стандартный функционал Битрикс позволяет добавлять элементы из модуля веб форм. Но что нам делать, если надо передать элемент из модуля инфоблоков.
Для этого нам приходит на помощь вебхуки и rest api bitrix24.
Наш метод позволит учитывать источники для модуля сквозной аналитики.

Вебхук на портале bitrix24.

Начнем с того, что в портале Bitrix24 надо создать ВХОДЯЩИЙ вебхук.



Задайте вебхуку следующие поля:

  1. Название - может быть любое, например "Элемент с сайта".
  2. Описание - необязательное поле.
  3. Права доступа - отметьте "CRM".
  4. Нажмите сохранить.

После добавления вебхука вы увидите следующую запись:



Вам нужно взять из него URL для вызова REST.

Запись utm_source метки в сессию

Чтобы не потерять откуда пришел наш клиент, запишем его данные в сессию. Для этого в файле init.php размещаем следующий код:

		
if (isset($_REQUEST['utm_source']) && !empty($_REQUEST['utm_source'])) {
	$_SESSION['utm_source'] = strip_tags($_REQUEST['utm_source']);
}
		
	

Теперь при заполнении формы на нашем сайте utm метка не потеряется. И в наш портал bitrix24 передастся источник прихода клиента.

Событие на добавление элемента на сайте Битрикс.

Перейдите в файле init.php (как правило /bitrix/php_interface/init.php или /local/php_interface/init.php). В него необходимо добавить следующий код:

	
AddEventHandler('iblock', 'OnAfterIBlockElementAdd', 'OnAfterIBlockElementAddHandler');
function OnAfterIBlockElementAddHandler(&$arFields)
{
	if($arFields["ID"]>0)
	{
		//формируем массив для передачи в bitrix24
		//данные берем из элемента добавленного инфоблока
		$queryData = http_build_query(array(
			'fields' => array(
				"TITLE" => 'Лид с сайта '.SITE_SERVER_NAME.' из формы "Обратная связь".',
				"SOURCE_ID" => WEB,
				"UTM_SOURCE" => $_SESSION['utm_source'],
				"NAME" => $arFields["PROPERTY_VALUES"]["FIO"],
				"EMAIL" => [["VALUE" => $arFields["PROPERTY_VALUES"]["EMAIL"], "VALUE_TYPE" => "WORK"]],
				"PHONE" => [["VALUE" => $arFields["PROPERTY_VALUES"]["PHONE"], "VALUE_TYPE" => "WORK"]],
				"COMMENTS" => "Лид создан автоматически с сайта ".SITE_SERVER_NAME,
			),
			'params' => array("REGISTER_SONET_EVENT" => "Y"),
		));

		//обращаемся к Битрикс24 при помощи функции curl_exec
		//метод crm.lead.add.json добавляет лид
		$rest = 'crm.lead.add.json';
		//url берется из созданного вебхука, удалив в нем окончание prifile/
		//и добавив метод $rest на добавление лида
		$queryUrl = 'https://{название портала bitrix24}.bitrix24.ru/rest/1/{ключ вебхука}/'.$rest;
		$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))
		{
			echo "Ошибка при сохранении лида: ".$result['error_description']."
"; } else { return $result['result']; } } }

Обратим внимание на важное поле для Сквозной аналитики "UTM_SOURCE", в котором должна находиться utm метка откуда перешел клиент (например Яндекс.Директ, Google AdSense, Facebook, Vk, рекламный баннер в городе и тд.). Если оно будет заполнено в соответствии с настройками сквозной аналитики в bitrix24, то данные лиды будут правильно отображаться в отчете Сквозной аналитики.

Финальная проверка.

Зайдем на наш сайт и заполняем форму обратной связи и жмем кнопку отправить.
Сработает наше событие на добавление элемента, которое отправить массив в bitrix24 на добавление лида.
Переходим в наш bitrix24 в раздел CRM Лиды и наслаждаемся полученным результатом!



Возникли вопросы по расчету стоимости проекта?
Звоните! Мы всегда рады помочь!
+ 7 (495) 363-4572 (доб.106)
Заказать обратный звонок
Александр Немков

Александр Немков

Специалист по работе с ключевыми клиентами

E-mail: nemkov@salavey.net