Інтеграція 1С-Бітрікс з Roistat

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

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    880
  • 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
    631
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    781
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    681
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1010

Інтеграція 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 днів

Вартість розраховується індивідуально після аудиту поточного трекінгу та схеми обробки замовлень.