Оглавлениение
Интеграция Elementor Form и Bitrix24 аналогична интеграции «Contact Form 7 и Битрикс 24». Действия очень просты и позволяют сделать это самостоятельно и абсолютно бесплатно.
Для интеграции понадобиться:
- Создать входящий webhook в CRM
- Разместить и настроить код интеграции в functions.php
Как создать входящий webhook в Битрикс24?
Для создания входящего вебхука необходимо:
- зайти в свою CRM систему;
- в левом меню, перейти в Приложения → Разработчикам;
- в открывшемся окне «Готовые сценарии» выбрать «Другое»;
- в открывшемся окне «Другое» выбрать «Входящий вебхук»;
- в «Генератор запросов», в поле «Метод» найти и выбрать «crm.lead.add»;
- скопировать ссылку из поля «URL»;
- нажать на «Сохранить».
Код для интеграции 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 необходимо произвести его настройку.
- В перехватываемых полях форм, где в коде указано
Вместо **** указываем ID вашего поля из формы
, требуется указать ваши ID полей. Для этого вам необходимо:- открыть в режиме редактирования Elementor вашу форму или страницу, где она находится;
- зайти в настройки формы;
- выбрать поле, к примеру, отвечающее за имя;
- перейти на вкладку «Advanced»;
- скопировать значение из поля «ID»;
- вставить скопированный ID в требуемое место, в коде интеграции.
К примеру, в строчке$getName = $fields['name'];
заменяем IDname
на ID приведенный в качестве примера выше$getName = $fields['field22567'];
;
- в строчке
$queryUrl = 'https://****.bitrix24.ru/rest/***/**************/crm.lead.add.json';
указываем ссылку на ваш вебхук который был получен и скопирован ранее; - в строчке
'ASSIGNED_BY_ID' => 1,
указываем ID менеджера в Битрикс24, который будет отвечать или обрабатывать входящие обращения.
Для того чтобы узнать ID ответственного, вам необходимо зайти на его профиль в вашей CRM Bitrix24 и в адресной строке скопировать последние цифры — это и есть ID;
- если вам необходимо передавать больше данных в CRM, ищите как это сделать в блоке «Ответы на часто задаваемые вопросы» в конце статьи.
Ответы на часто задаваемые вопросы
Где находится файл functions.php?
Файл functions.php (файл функций) можно найти в админке вашего сайта. Для этого перейдите в Панель управления → Внешний вид → Редактор → Функции темы (Theme Functions)
Как передавать UTM метки?
О том как правильно передавать UTM метки смотрите в статье
Что еще можно передавать в Битрикс24?
Весь доступный перечень полей смотрите в статье «Все поддерживаемые параметры из справочников Bitrix24»
Можно ли передавать значения в собственные поля в CRM?
Да, можно. Битрикс 24 позволяет передавать значения в собственные поля, которые были созданы непосредственно вами в CRM. Более подробнее читайте в статье «Пользовательские поля в Bitrix24»
Какие вебхуки поддерживает Elementor Form?
Смотрите документацию на официальном сайте «Elementor form — webhook для интеграции».
Основные ошибки при интеграции
Разбор наиболее частых и распространённых ошибок смотрите в статье «Основные ошибки при интеграции»