Настройка передачи лидов с сайта 1С-Битрикс в CRM Битрикс24
Форма обратной связи на сайте заполнена — лид нигде не появился. Менеджер узнаёт о заявке из письма на корпоративную почту через полчаса, вручную вносит в CRM. За это время клиент уже позвонил конкурентам. Правильная настройка передаёт лид в Битрикс24 немедленно, автоматически.
Способы передачи
Вариант 1. Модуль «Битрикс24.Коннектор» — устанавливается из маркетплейса, связывает инфоблоки форм с CRM без кода. Подходит для стандартных веб-форм (bitrix:main.feedback, bitrix:form.result.new).
Вариант 2. REST API напрямую — обработчик в компоненте формы вызывает crm.lead.add через \Bitrix\Main\Web\HttpClient. Подходит для нестандартных форм, кастомных компонентов, форм на React/Vue внутри Битрикса.
Настройка через REST API
Получаем входящий вебхук в Битрикс24: Приложения → Вебхуки → Входящий вебхук. Выбираем права crm (чтение/запись). Копируем URL вида https://your-domain.bitrix24.ru/rest/1/токен/.
В обработчике формы на сайте:
use Bitrix\Main\Web\HttpClient;
$http = new HttpClient();
$http->setHeader('Content-Type', 'application/json');
$leadData = [
'TITLE' => 'Заявка с сайта: ' . $formFields['NAME'],
'NAME' => $formFields['NAME'],
'PHONE' => [['VALUE' => $formFields['PHONE'], 'VALUE_TYPE' => 'WORK']],
'EMAIL' => [['VALUE' => $formFields['EMAIL'], 'VALUE_TYPE' => 'WORK']],
'COMMENTS' => $formFields['MESSAGE'],
'SOURCE_ID' => 'WEB',
'SOURCE_DESCRIPTION' => 'Форма: ' . $formName . ' | URL: ' . $pageUrl,
];
$response = $http->post(
'https://your-domain.bitrix24.ru/rest/1/токен/crm.lead.add.json',
json_encode(['fields' => $leadData, 'params' => ['REGISTER_SONET_EVENT' => 'Y']])
);
Обязательные поля лида
-
TITLE— название лида (отображается в списке CRM). -
SOURCE_ID— источник:WEB,CALL,EMAILи др. из справочникаcrm.status.listсENTITY_ID = SOURCE. -
PHONE/EMAIL— массивы с типом значения.
Поле SOURCE_DESCRIPTION полезно для аналитики — пишем туда URL страницы, название формы, UTM-метки из $_COOKIE['_ym_uid'] или $_GET.
UTM-метки и источник трафика
Передаём UTM в лид для атрибуции:
$utmFields = [];
foreach (['utm_source','utm_medium','utm_campaign','utm_term','utm_content'] as $utm) {
if (!empty($_COOKIE[$utm])) {
$utmFields['UTM_' . strtoupper(substr($utm, 4))] = $_COOKIE[$utm];
}
}
$leadData = array_merge($leadData, $utmFields);
UTM-поля (UTM_SOURCE, UTM_MEDIUM и т.д.) — стандартные поля лида Битрикс24.
Назначение ответственного
По умолчанию лид попадает на пользователя, создавшего вебхук. Для распределения по ответственным используем ASSIGNED_BY_ID — ID пользователя Битрикс24. Логику выбора строим на основе данных формы: выбранный город, тип услуги, рабочее время.
Контроль дублей
Перед созданием лида проверяем существующие контакты по телефону через crm.duplicate.findByComm:
$dupes = $http->post($webhookUrl . 'crm.duplicate.findByComm.json', json_encode([
'type' => 'PHONE',
'values' => [$formFields['PHONE']],
]));
Если контакт найден — создаём не лид, а сделку/активность на существующем контакте. Это предотвращает засорение CRM дублирующимися лидами от постоянных клиентов.
Настройка передачи лидов для стандартной формы — 4–6 часов. Кастомная логика с UTM, дедупликацией и распределением ответственных — 1–2 рабочих дня.







