Разработка калькулятора с сохранением результата в CRM Битрикс24

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

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • 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
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1042

Разработка калькулятора с сохранением результата в CRM Битрикс24

Представьте: на сайт заходит 50 посетителей в час, каждый запускает расчёт — и 5 заявок бесследно исчезают. Знакомая ситуация? Причина — жёсткие лимиты REST API Битрикс24. Облачный тариф допускает 2 запроса в секунду и 5000 в сутки. При превышении возвращается ошибка QUERY_LIMIT_EXCEEDED. Например, у клиента — сети авторитейлеров — калькулятор стоимости доставки генерировал до 50 обращений в минуту. Прямая отправка приводила к потере 10% заявок. Потеря 5% лидов при средней стоимости привлечения 1500 руб обходится в 75 000 руб ежемесячно. За 10+ лет разработки на Битриксе мы выработали надёжную схему с очередью и автоматическими повторами. Ниже — полный разбор реализации. Свяжитесь с нами для консультации — мы оценим ваш проект.

Передача данных из калькулятора в CRM через REST API

Сайт на 1С-Битрикс и Битрикс24 — два продукта с разными API. Для передачи данных из формы в CRM используется REST API Битрикс24:

  • crm.lead.add — создание лида
  • crm.deal.add — создание сделки без лида
  • crm.contact.add + crm.deal.add — контакт + сделка

Авторизация: входящий вебхук (простой) или OAuth-приложение (для нескольких порталов). Согласно документации https://dev.1c-bitrix.ru/rest_help/, лимиты составляют 2 запроса в секунду и 5000 в сутки для облачных тарифов. Пример создания лида:

$webhookUrl = 'https://your-portal.bitrix24.ru/rest/1/WEBHOOK_TOKEN/';

$fields = [
    'TITLE'      => 'Заявка с калькулятора: ' . $calculatorName,
    'NAME'       => $clientName,
    'PHONE'      => [['VALUE' => $clientPhone, 'VALUE_TYPE' => 'WORK']],
    'EMAIL'      => [['VALUE' => $clientEmail, 'VALUE_TYPE' => 'WORK']],
    'COMMENTS'   => $calcResultText,
    'SOURCE_ID'  => 'WEB',
    'UF_CRM_CALCULATOR_PARAMS' => json_encode($calcParams),
    'UF_CRM_TOTAL_PRICE'       => $totalPrice,
];

$response = file_get_contents(
    $webhookUrl . 'crm.lead.add.json?' . http_build_query(['fields' => $fields])
);
$result = json_decode($response, true);

Создание пользовательских полей для параметров расчёта

Пользовательские поля UF_CRM_* сохраняют все детали расчёта — выбранные опции, итоговую сумму, конфигурацию. Менеджер открывает лид и сразу видит контекст. Поля создаются заранее: CRM → Лиды → Настройка полей → Добавить поле. Тип зависит от данных.

Тип данных Пример поля Назначение
Строка UF_CRM_TYPE Товар или услуга
Число UF_CRM_QUANTITY Количество единиц
Список UF_CRM_COLOR Опция выбора
Строка (JSON) UF_CRM_PARAMS_JSON Полная конфигурация расчёта

Как обрабатывать лимиты и ошибки API?

Облачный Битрикс24 ограничивает REST-запросы: 2 запроса в секунду, 5000 в сутки (зависит от тарифа). При превышении — ответ {error: "QUERY_LIMIT_EXCEEDED"}. Типичная реализация без очереди теряет 5–10% заявок при нагрузке 50 запросов/мин.

Правильное решение:

  1. Сохранение данных калькулятора в таблицу очереди (highload-блок или отдельная таблица)
  2. Агент Битрикс, каждые 30 секунд отправляющий записи пачками с учётом лимитов
  3. Повторная отправка при ошибке с экспоненциальным бэкоффом (1с, 2с, 4с, 8с)
  4. Флаг is_synced для контроля статуса
function sendPendingLeadsToCRM(): string {
    $pendingLeads = getUnsentLeads(limit: 10);
    foreach ($pendingLeads as $lead) {
        $result = sendLeadToB24($lead);
        if ($result['result']) {
            markLeadAsSent($lead['id'], $result['result']);
        } else {
            incrementRetryCount($lead['id']);
        }
        usleep(600000); // 0.6 сек между запросами
    }
    return __FUNCTION__ . '();';
}
Детали конфигурации агента Агент регистрируется в `/bitrix/php_interface/init.php`:
\CAgent::AddAgent(
    'sendPendingLeadsToCRM();',
    '', 'N', 30, '', 'Y', '', 100
);

Параметры: период 30 секунд, модуль пустой (глобальный), активен с момента установки.

Почему очередь — лучший вариант?

Прямая отправка в момент расчёта падает при пиковой нагрузке. Очередь гарантирует доставку: 0% потерь при корректной настройке. Сравнение:

Параметр Без очереди С очередью
Потери лидов при пике 50/мин 5–10% 0%
Время создания лида в CRM <1 сек до 30 сек
Нагрузка на API пиковая равномерная

Очередь в 10 раз надёжнее прямой отправки и не требует ручного контроля.

Как не потерять ни одного обращения?

Наш клиент — небанковская финансовая организация — столкнулся с потерей заявок при пиковой нагрузке 50 обращений в минуту. Калькулятор кредита: сумма, срок, тип обеспечения → ставка и платёж. Прямой REST-запрос невозможен из-за лимитов.

Решение: очередь в PostgreSQL (сайт на нестандартном стеке), агент отправки каждые 15 секунд по 5 лидов, логирование всех ответов Битрикс24. Параллельно — немедленное письмо клиенту с результатами. Менеджер видит лид в CRM максимум через 15 секунд после отправки формы. Дополнительно настроен бизнес-процесс «Первичная обработка заявки»: автоматическое назначение ответственного и дедлайн первого контакта — 30 минут. Потери лидов — ноль за весь период эксплуатации.

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

  • Клиентская и серверная части калькулятора
  • Создание пользовательских полей лида/сделки
  • Обработчик с очередью и повторными попытками
  • Настройка входящего вебхука Битрикс24
  • Логирование всех запросов и ответов API
  • Мониторинг с алертом при накоплении необработанной очереди более N записей

Сроки разработки

Сложность Срок Состав
Базовая от 2 до 3 рабочих дней Простая формула, лид с 5–10 полями, без очереди
Средняя от 4 до 6 рабочих дней С очередью и повторными попытками
Полная от 5 до 8 рабочих дней Полный мониторинг и логирование

Стоимость рассчитывается индивидуально. Получите консультацию — мы оценим ваш проект бесплатно.

Мы более 10 лет разрабатываем на Битрикс, выполнили 50+ интеграций с CRM. Гарантируем надёжность и прозрачное сопровождение. Закажите разработку калькулятора с сохранением результатов в CRM — свяжитесь с нами.