Интеграция Elementor Form и Bitrix24 CRM

Интеграция Elementor Form и Bitrix24 CRM

Интеграция Elementor Form и Bitrix24 аналогична интеграции «Contact Form 7 и Битрикс 24». Действия очень просты и позволяют сделать это самостоятельно и абсолютно бесплатно.

Для интеграции понадобиться:

  • Создать входящий webhook в CRM
  • Разместить и настроить код интеграции в functions.php

Как создать входящий webhook в Битрикс24?

Для создания входящего вебхука необходимо:

  1. зайти в свою CRM систему;
  2. в левом меню, перейти в Приложения → Разработчикам;
    Приложения → Разработчикам
  3. в открывшемся окне «Готовые сценарии» выбрать «Другое»;
    Готовые сценарии → Другое
  4. в открывшемся окне «Другое» выбрать «Входящий вебхук»;
    Входящий вебхук
  5. в «Генератор запросов», в поле «Метод» найти и выбрать «crm.lead.add»;
    crm.lead.add
  6. скопировать ссылку из поля «URL»;
    ссылка входящего вебхука
  7. нажать на «Сохранить».

Код для интеграции Elementor Form и Bitrix24

Разместить приведенный код ниже в файле functions.php вашей текущей темы WordPress.

/**
* 
* Интеграция Elementor Form и Битрикс 24
*
**/
function send_custom_webhook( $record, $handler ) {	
	
	// Перехватываем формы "Elementor Form" и значения в их полях 
	$raw_fields = $record->get( 'fields' );
	$fields = [];
	foreach ( $raw_fields as $id => $field ) {
		$fields[ $id ] = $field['value'];
	}
	// Вытягиваем нужные нам поля (перехватываем данные)
	$form_name = $record->get_form_settings( 'form_name' ); // Получаем название формы
	$getName = $fields['name']; // Вместо name указываем ID вашего поля из формы
	$getPhone = $fields['phone']; // Вместо phone указываем ID вашего поля из формы
	$getEmail = $fields['email']; // Вместо email указываем ID вашего поля из формы
	$getComment = $fields['comment']; // Вместо comment указываем ID вашего поля из формы
	$getDomain = $_SERVER['SERVER_NAME'];
		
	// Указываем вебхук для обращения в CRM
	$queryUrl = 'https://****.bitrix24.ru/rest/***/**************/crm.lead.add.json'; // Указываем ссылку вашего входящего вебхука

	// формируем параметры для создания лида в CRM
	$queryData = http_build_query(array(
		'fields' => array(
			'TITLE' => $form_name,
			'NAME' => $getName,
			'EMAIL' => Array(
				"n0" => Array(
					"VALUE" => $getEmail,
					"VALUE_TYPE" => "HOME",
				),
			),
			'PHONE' => Array(
				"n0" => Array(
					"VALUE" => $getPhone,
					"VALUE_TYPE" => "MOBILE",
				),
			),
			'SOURCE_ID' => 'WEB',
			'WEB' => Array(
				"n0" => Array(
					"VALUE" => $getDomain,
					"VALUE_TYPE" => "WORK",
				),
			),
			'COMMENTS' => $getComment,
			'ASSIGNED_BY_ID' => 1, // Указываем ID менеджера за которым закрепляем обращения
			'OPENED' => 'Y',
		),
		'params' => array("REGISTER_SONET_EVENT" => "Y")
	));

	// обращаемся к Битрикс24 при помощи функции curl_exec
	$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']."
"; } add_action( 'elementor_pro/forms/new_record', 'send_custom_webhook', 10, 2 );

и не забываем сохранить functions.php после размещения кода интеграции.

Настройка кода интеграции

После или во время размещения вышеприведённого кода в файле functions.php необходимо произвести его настройку.

  1. В перехватываемых полях форм, где в коде указано Вместо **** указываем ID вашего поля из формы, требуется указать ваши ID полей. Для этого вам необходимо:
    • открыть в режиме редактирования Elementor вашу форму или страницу, где она находится;
    • зайти в настройки формы;
    • выбрать поле, к примеру, отвечающее за имя;
    • перейти на вкладку «Advanced»;
    • скопировать значение из поля «ID»;
      Elementor form - ID полей
    • вставить скопированный ID в требуемое место, в коде интеграции.
      К примеру, в строчке $getName = $fields['name']; заменяем ID name на ID приведенный в качестве примера выше $getName = $fields['field22567'];;
  2. в строчке $queryUrl = 'https://****.bitrix24.ru/rest/***/**************/crm.lead.add.json'; указываем ссылку на ваш вебхук который был получен и скопирован ранее;
  3. в строчке 'ASSIGNED_BY_ID' => 1, указываем ID менеджера в Битрикс24, который будет отвечать или обрабатывать входящие обращения.
    Для того чтобы узнать ID ответственного, вам необходимо зайти на его профиль в вашей CRM Bitrix24 и в адресной строке скопировать последние цифры — это и есть ID;
    ID ответственного в Битрикс 24
  4. если вам необходимо передавать больше данных в CRM, ищите как это сделать в блоке «Ответы на часто задаваемые вопросы» в конце статьи.

Ответы на часто задаваемые вопросы

Где находится файл functions.php?

Файл functions.php (файл функций) можно найти в админке вашего сайта. Для этого перейдите в Панель управления → Внешний вид → Редактор → Функции темы (Theme Functions)

Как передавать UTM метки?

О том как правильно передавать UTM метки смотрите в статье

Что еще можно передавать в Битрикс24?

Весь доступный перечень полей смотрите в статье «Все поддерживаемые параметры из справочников Bitrix24»

Можно ли передавать значения в собственные поля в CRM?

Да, можно. Битрикс 24 позволяет передавать значения в собственные поля, которые были созданы непосредственно вами в CRM. Более подробнее читайте в статье «Пользовательские поля в Bitrix24»

Какие вебхуки поддерживает Elementor Form?

Смотрите документацию на официальном сайте «Elementor form — webhook для интеграции».

Основные ошибки при интеграции

Разбор наиболее частых и распространённых ошибок смотрите в статье «Основные ошибки при интеграции»

Понравилась статья? Поделись ей =)
Вам также может быть интересно
Оставить комментарий

Ваш адрес электронной почты опубликован не будет.Поля, обязательные для заполнения, помечены *