Интеграция 1С-Битрикс с Roistat

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Roistat
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс с Roistat

Roistat — платформа бизнес-аналитики, которая строит сквозную аналитику от рекламного клика до закрытой сделки и выручки. Интеграция с 1С-Битрикс позволяет передавать данные о заказах и выручке из интернет-магазина в Roistat, замыкая цикл «расход на рекламу → доход от продаж». Без этой связки Roistat показывает стоимость лидов, но не может рассчитать реальный ROI рекламных каналов.

Как работает трекинг Roistat на сайте Битрикс

Roistat устанавливает на сайт JavaScript-счётчик, который:

  1. Получает параметры источника из UTM-меток и других GET-параметров
  2. Генерирует уникальный идентификатор визита — roistat_visit (числовое значение)
  3. Сохраняет его в cookie roistat_visit со сроком жизни 7 дней (настраивается)

При оформлении заказа значение roistat_visit из cookie должно попасть в заказ Битрикс. Это ключевая точка интеграции: именно по roistat_visit Roistat связывает заказ с рекламным источником.

Передача roistat_visit в заказ

В форме оформления заказа добавляем скрытое поле, заполняемое JavaScript:

document.addEventListener('DOMContentLoaded', function() {
    var rsVisit = getCookie('roistat_visit');
    if (rsVisit) {
        document.querySelectorAll('[name="roistat_visit"]').forEach(function(el) {
            el.value = rsVisit;
        });
    }
});

На стороне Битрикс сохраняем значение в пользовательское поле заказа UF_ROISTAT_VISIT. Если используется компонент sale.order.ajax — подписываемся на событие OnSaleOrderBeforeSaved:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale', 'OnSaleOrderBeforeSaved',
    function (\Bitrix\Main\Event $event) {
        $order = $event->getParameter('ENTITY');
        $rsVisit = $_REQUEST['roistat_visit'] ?? $_COOKIE['roistat_visit'] ?? '';
        if ($rsVisit) {
            $order->setField('UF_ROISTAT_VISIT', $rsVisit);
        }
    }
);

Передача данных о заказах в Roistat

Roistat принимает данные о заказах через API: POST https://cloud.roistat.com/api/v1/project/orders. Заголовок: X-ApiKey: {project_api_key}.

Минимальный payload:

{
  "orders": [{
    "id": "BITRIX_ORDER_123",
    "visit": "4521890",
    "creation_date": "2026-03-13 10:00:00",
    "cost": 4990.00,
    "revenue": 4990.00,
    "currency": "RUB"
  }]
}

Поле "visit" — это и есть roistat_visit. Поле "cost" — сумма заказа. По этим данным Roistat рассчитывает выручку по рекламным каналам.

Передачу организуем через обработчик события OnSaleStatusOrderChange: при переходе заказа в статус «Оплачен» или «Выполнен» — отправляем данные в Roistat. Для отмены заказа — отдельный запрос с методом отмены.

Обновление заказов при смене статуса

Заказ может быть оформлен, потом отменён, потом возвращён к выполнению. Roistat должен получать актуальные статусы:

  • Новый заказ: status: "new"
  • Оплачен/выполнен: status: "confirmed", передаём revenue
  • Отменён: status: "canceled", обнуляем revenue

Храним маппинг статусов Битрикс → статусы Roistat в настройках модуля интеграции.

Телефонные заявки и чаты

Для звонков и чатов — Roistat подменяет номер телефона на сайте (call tracking). Когда звонок поступает, Roistat автоматически создаёт лид с roistat_visit. Если Битрикс24 используется как CRM — настраиваем передачу сделки из Битрикс24 в Roistat через REST API Битрикс24: событие создания сделки → запрос к Roistat API с суммой и roistat_visit.

Типичные проблемы

roistat_visit не попадает в заказ. Чаще всего причина: форма оформления заказа рендерится как SPA (React-компонент), и скрытое поле добавляется до того, как скрипт Roistat загрузился. Решение: инициализировать поле после события roistat:inited.

Дубли заказов в Roistat. Если обработчик события срабатывает несколько раз (при каждом изменении заказа), Roistat получает дубли. Используем id заказа как идемпотентный ключ — повторная передача с тем же id обновляет, не дублирует.

Ориентиры по срокам

Задача Срок
Базовая интеграция: передача заказов в Roistat 3–5 дней
+ обновление статусов (оплата, отмена, возврат) +2–3 дня
+ интеграция CRM Битрикс24 со сделками +3–5 дней

Стоимость рассчитывается индивидуально после аудита текущего трекинга и схемы обработки заказов.