Интеграция веб-форм 1С-Битрикс с CRM Битрикс24

Интеграция веб-форм 1С-Битрикс с CRM Битрикс24 Мы часто видим одну и ту же боль: на сайте настроена удобная форма обратной связи, но менеджеры работают в Битрикс24, а заявки приходят на почту. Данные теряются, воронка продаж не строится, аналитика отсутствует. Например, сотрудник заполняет форму,
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Интеграция веб-форм 1С-Битрикс с CRM Битрикс24
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1462
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

Интеграция веб-форм 1С-Битрикс с CRM Битрикс24

Мы часто видим одну и ту же боль: на сайте настроена удобная форма обратной связи, но менеджеры работают в Битрикс24, а заявки приходят на почту. Данные теряются, воронка продаж не строится, аналитика отсутствует. Например, сотрудник заполняет форму, а менеджер узнаёт о нём через час — лид устарел. Без автоматической передачи лидов каждый звонок или заявка — ручная работа, а конкуренты уже в CRM. Оценки показывают: потери заявок могут достигать 30%.

Стандартный модуль веб-форм 1С-Битрикс (bitrix:main.feedback, bitrix:form.result.new) хранит результаты в таблице b_form_result и отправляет уведомления на почту. Без интеграции с CRM данные остаются в базе сайта — менеджеры не видят их в Битрикс24, история коммуникаций не строится. Согласно официальной документации 1С-Битрикс, событие OnAfterResultAdd модуля form позволяет перехватить данные результата до отправки уведомления.

Почему нативные веб-формы лучше CRM-форм?

CRM-формы Битрикс24 проще в настройке, но их размещение на стороннем домене (b24-cdn.bitrix24.by) негативно влияет на SEO и скорость загрузки. Кроме того, вы не можете кастомизировать внешний вид под дизайн сайта без iframe-обёртки. Нативная веб-форма остаётся на вашем домене, передаёт все UTM-метки и cookie, а стили полностью контролируются шаблоном сайта. По нашему опыту, конверсия таких форм выше на 20–30%.

Как настроить интеграцию: 6 шагов

  1. Аудит текущих форм и CRM — определяем, какие формы отправляют данные, и какие поля нужны в CRM.
  2. Создание обработчика — подписываемся на событие OnAfterResultAdd в init.php.
  3. Маппинг полей — настраиваем соответствие полей формы и полей лида в конфигурационном массиве.
  4. Создание пользовательских полей — через REST API crm.userfield.add для нестандартных данных.
  5. Дедупликация — проверяем существующих лидов по email/телефону перед созданием.
  6. Тестирование и деплой — проверяем передачу, файлы и бизнес-процессы.

Обработчик результата веб-формы

Битрикс предоставляет событие OnAfterResultAdd модуля form. Подписываемся в init.php:

AddEventHandler('form', 'OnAfterResultAdd', function($formId, $resultId, $fields) { // Только для нужных форм $targetForms = [3, 7, 12]; // ID форм: заявка, консультация, партнёрство if (!in_array($formId, $targetForms)) return; $answers = CFormResult::GetDataByID($resultId, [], $arrResult); $mapped = mapFormAnswers($formId, $answers); $b24 = new B24Sender(getenv('B24_WEBHOOK_URL')); $b24->sendLead($mapped); }); 

Маппинг полей формы в поля лида

Поля веб-формы хранятся в b_form_field, ответы — в b_form_result_answer. Связь через FIELD_ID. Маппинг настраивается в конфиге:

$formMapping = [ 3 => [ // форма «Заявка на звонок» 'q_name' => 'NAME', 'q_phone' => 'PHONE', 'q_comment' => 'COMMENTS', 'utm_source'=> 'UTM_SOURCE', ], 7 => [ // форма «Партнёрство» 'q_company' => 'COMPANY_TITLE', 'q_contact' => 'NAME', 'q_email' => 'EMAIL', 'q_direction' => 'COMMENTS', ], ]; 

Кейс: многошаговая форма заявки

Из нашей практики — сайт IT-интегратора, форма заявки на проект: 4 шага (тип проекта, бюджет, сроки, контакты). Стандартный модуль веб-форм хранит все ответы в b_form_result_answer. Задача: создать квалифицированный лид в Битрикс24 с заполненными полями и правильной воронкой.

Решение: шаги 1–3 сохраняются в сессию, на шаге 4 отправляется полная форма. В обработчике OnAfterResultAdd собираем все поля, создаём лид с нестандартными полями CRM:

$leadFields = [ 'TITLE' => 'Проект: ' . $answers['project_type'], 'OPPORTUNITY' => $answers['budget_from'], // бюджет — в сумму лида 'CURRENCY_ID' => 'RUB', 'UF_CRM_PROJECT_TYPE' => $answers['project_type'], 'UF_CRM_DEADLINE_WEEKS' => $answers['deadline'], // UF_CRM_* — пользовательские поля лида в Б24 ]; 

Пользовательские поля (UF_CRM_*) предварительно создаём в Битрикс24 через crm.userfield.add. После создания лида — автоматически запускаем бизнес-процесс в Б24 через bizproc.workflow.start. Это гарантирует, что ни одна заявка не потеряется.

Как передать файлы из формы в CRM?

Если форма содержит поле загрузки файла (техзадание, бриф), файл нужно передать в Битрикс24. REST API crm.lead.add не поддерживает бинарную загрузку напрямую — используем disk.folder.uploadfile для загрузки в «Диск» Битрикс24, затем прикрепляем к лиду через crm.activity.add с типом DOCUMENT. Файл появляется в карточке лида, менеджер сразу видит вложение.

Дедупликация лидов

Одна и та же компания нередко заполняет форму несколько раз. Проверяем по email и телефону перед созданием:

$existing = $b24->call('crm.duplicate.findByComm', [ 'type' => 'EMAIL', 'values' => [$email], 'entity_type' => 'LEAD', ]); if (!empty($existing['result']['LEAD'])) { // Добавляем активность к существующему лиду, не создаём новый $b24->call('crm.activity.add', [...]); } 

Что входит в работу

Этап Длительность Результат
Аудит текущих веб-форм и CRM 1–2 ч Схема полей, список форм, требования
Настройка обработчика и маппинг 3–5 ч Рабочий обработчик для 1 формы
Создание пользовательских полей в CRM 2–4 ч Поля для нестандартных данных
Дедупликация и логика повторных обращений 4–6 ч Защита от дублирования лидов
Передача файлов из форм 4–6 ч Файлы прикрепляются к лиду
Запуск бизнес-процессов по лиду 3–5 ч Автоматическая обработка заявок
Документация и обучение 1–2 ч Инструкция для администратора
Пример настройки пользовательских полей Допустим, нужно передать тип проекта и желаемые сроки. Через REST API создаём поля `UF_CRM_PROJECT_TYPE` (список) и `UF_CRM_DEADLINE_WEEKS` (число). В обработчике маппинг на эти поля.

Все работы выполняются с гарантией — мы отвечаем за стабильность интеграции и бесперебойную передачу данных. Окупаемость интеграции — от 2 до 4 месяцев в зависимости от нагрузки. Экономия времени менеджеров — до 2 часов ежедневно. Если у вас остались вопросы, свяжитесь с нами — оценим проект за 1 день и предложим оптимальное решение. Закажите интеграцию с гарантией качества.