Оглавлениение
Интеграция 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 для интеграции».
Основные ошибки при интеграции
Разбор наиболее частых и распространённых ошибок смотрите в статье «Основные ошибки при интеграции»