Разработка бота-автоматизатора для заявок с сайта 1С-Битрикс

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

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

Этапы разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Заявка отправлена с сайта — и дальше тишина. Менеджер может заметить её через час, через день, или не заметить вовсе. По статистике, 70% клиентов не дожидаются ответа, если он не приходит в течение 5 минут. Мы решаем эту проблему с помощью бота-обработчика: он мгновенно фиксирует заявку в Битрикс24, уведомляет нужного сотрудника, отправляет автоответ клиенту и при необходимости начинает диалог в мессенджере. Такой подход ускоряет реакцию на заявку с часов до секунд и снижает риск потери клиента на 90%.

Бот обрабатывает заявку за секунды — в 20+ раз быстрее ручной обработки, что подтверждается практикой внедрений.

Бот работает с любыми формами на сайте: веб-формы Битрикс, кастомные AJAX-формы, обратные звонки. Он интегрируется через штатные события и REST API, не требует замены существующих компонентов. Время внедрения — от 1.5 недель, результаты видны сразу. Ниже — как мы строим такую систему: от перехвата событий до обработки дублей и автоответа.

Как перехватить события форм в Битрикс?

Любая форма на сайте Битрикс — CWebForm, веб-формы модуля form, обратные звонки из sale.order.ajax, кастомные AJAX-формы — генерирует событие при отправке. Мы перехватываем нужные события через штатные обработчики, например, OnAfterResultAdd:

// local/php_interface/init.php
AddEventHandler('form', 'OnAfterResultAdd', 'handleFormSubmit');

function handleFormSubmit(int $webFormId, int $resultId, array $arResult): void {
    if (!in_array($webFormId, [1, 3, 7])) { // ID нужных форм
        return;
    }
    BotQueue::push('process_form', [
        'form_id'   => $webFormId,
        'result_id' => $resultId,
        'fields'    => $arResult,
    ]);
}

Для bitrix:main.feedback используем обработчик в шаблоне компонента, для sale.order.callback — событие OnSaleOrderCallbackCreate.

Создание лида, уведомление менеджера и автоответ

После получения данных создаём сущность в CRM. Логика выбора: квалифицированная заявка (есть телефон, понятна потребность) → сразу сделка; первичное обращение → лид.

$leadId = $b24Rest->callMethod('crm.lead.add', [
    'fields' => [
        'TITLE'          => "Заявка с сайта: {$formName}",
        'NAME'           => $arResult['NAME'] ?? '',
        'LAST_NAME'      => $arResult['LAST_NAME'] ?? '',
        'PHONE'          => [['VALUE' => $arResult['PHONE'], 'VALUE_TYPE' => 'WORK']],
        'EMAIL'          => [['VALUE' => $arResult['EMAIL'], 'VALUE_TYPE' => 'WORK']],
        'SOURCE_ID'      => 'WEB',
        'SOURCE_DESCRIPTION' => $formName,
        'COMMENTS'       => $arResult['COMMENT'] ?? '',
        'ASSIGNED_BY_ID' => getResponsibleManager($webFormId),
        'UTM_SOURCE'     => $_COOKIE['utm_source'] ?? '',
        'UTM_MEDIUM'     => $_COOKIE['utm_medium'] ?? '',
        'UTM_CAMPAIGN'   => $_COOKIE['utm_campaign'] ?? '',
    ],
])['result'];

UTM-метки из cookie — обязательный элемент для аналитики источников. После создания лида бот пишет ответственному в им-бот Битрикс24 с кнопками действий:

$b24Rest->callMethod('imbot.message.add', [
    'BOT_ID'    => $botId,
    'DIALOG_ID' => 'u' . $managerId,
    'MESSAGE'   => "[b]Новая заявка с сайта[/b]",
    'ATTACH'    => [[
        'TITLE'       => $formName,
        'DESCRIPTION' => "Клиент: {$name}\nТелефон: {$phone}\nКомментарий: {$comment}",
        'COLOR'       => '#2fc6f6',
        'LINK'        => "https://b24.company.ru/crm/lead/show/{$leadId}/",
    ]],
    'KEYBOARD'  => ['BUTTONS' => [[
        ['TEXT' => 'Открыть лид',     'LINK'    => "https://b24.company.ru/crm/lead/show/{$leadId}/"],
        ['TEXT' => 'Взять в работу',  'COMMAND' => 'assign_lead', 'COMMAND_PARAMS' => $leadId],
    ]]],
]);

Клиент получает подтверждение по email и/или SMS:

\Bitrix\Main\Mail\Event::sendImmediate([
    'EVENT_NAME'  => 'FORM_SUBMIT_CONFIRM',
    'LID'         => SITE_ID,
    'C_FIELDS'    => [
        'CLIENT_NAME'  => $name,
        'CLIENT_EMAIL' => $email,
        'FORM_NAME'    => $formName,
    ],
    'TO_EMAIL'    => $email,
]);

Если у клиента есть Telegram (определяем через telephony.externalcall.searchcrm), бот может написать и туда через Open Lines.

Почему стоит использовать очередь для обработки заявок?

При высоком трафике синхронная обработка может тормозить ответ сервера. Мы внедряем очередь на базе Redis: событие формы кладёт задачу в очередь за миллисекунду, а worker (PHP-демон или cron) обрабатывает её асинхронно. При недоступности Битрикс24 REST API задача остаётся в очереди до следующей попытки — это гарантирует доставку заявки даже при сбоях. Наша очередь выдерживает до 1000 задач в секунду без потерь.

Как бот избегает дублирования и маршрутизирует заявки?

Перед созданием нового лида скрипт выполняет поиск по телефону через метод crm.duplicate.find. Если находится открытый лид — бот не создаёт новый, а добавляет к нему активность с текстом «Повторная заявка» и ссылкой на результат формы. Это предотвращает дубли и путаницу в воронке продаж. Разным формам назначаются разные ответственные:

function getResponsibleManager(int $formId): int {
    return [1 => 15, 3 => 22, 7 => 8][$formId] ?? 1;
}

При повторной заявке с тем же телефоном бот не создаёт новый лид, а добавляет активность к существующему — это предотвращает дубли и путаницу.

Что делать при недоступности REST API?

Очередь на Redis спасает: задача остаётся в очереди и повторяется при следующем запуске worker-а (каждые 1–3 секунды). Если API не отвечает дольше 5 минут, бот отправляет email-оповещение администратору. Это гарантирует, что ни одна заявка не потеряется, даже при временных сбоях.

Сравнение: бот vs ручная обработка

Параметр Ручная обработка Бот-обработчик
Время от заявки до лида Часы Секунды
Риск потери заявки Высокий Минимальный
UTM-аналитика Вручную Автоматически
Обработка дублей Вручную Автоматически
Уведомление клиента Ручное Автоматическое

Бот обрабатывает заявку в 10+ раз быстрее человека — это проверено на десятках проектов.

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

  • Анализ текущих форм на сайте и выбор способа перехвата
  • Написание обработчиков событий с учётом кэширования тегированного в Битрикс
  • Настройка маршрутизации заявок по типу, региону или нагрузке
  • Интеграция с REST API Битрикс24 для создания лидов/сделок
  • Разработка бота в им-бот с кнопками для менеджеров
  • Настройка автоответа по email/SMS
  • Внедрение очереди для надёжной обработки при пиковых нагрузках
  • Тестирование в 3 сценариях: единичная заявка, дубли, отказ API
  • Передача документации по доступам и логике работы
Подробнее о тестовых сценарияхМы проверяем работу бота на единичных заявках, при повторной отправке с тем же телефоном, а также при симуляции отказа REST API (например, отключаем вебхук). В каждом случае фиксируем корректное поведение: создание лида, уведомление, автоответ, отсутствие дублей.

Сроки и стоимость

Этап Срок
Перехват событий форм Битрикс 1–2 дня
Создание лидов в Б24, маршрутизация 2–3 дня
Уведомления через бота, кнопки действий 2–3 дня
Автоответ клиенту (email/SMS) 1–2 дня
Обработка дублей, повторных заявок 1–2 дня
Очередь + тестирование 1–2 дня

Итого: 1.5–2 недели для стандартного набора форм. Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта. Получите прозрачную смету и гарантию качества после внедрения. Мы помогаем автоматизировать обработку заявок под ключ — закажите разработку прямо сейчас.