Інтеграція 1С-Бітрікс із сервісами передиктивної аналітики

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

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

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

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

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

Інтеграція 1С-Бітрікс з сервісами предиктивної аналітики

Зовнішні сервіси предиктивної аналітики — RetailRocket, Mindbox, Exponea, Segmentify — надають готові ML-моделі для рекомендацій, прогнозу відтоку, персоналізації. На відміну від власної реалізації на PHP/SQL, вони вже навчені на даних мільйонів транзакцій. Завдання інтеграції — організувати двосторонній обмін даними: з Бітрікс у сервіс та назад.

Вибір сервісу

Сервіс Спеціалізація Особливості
RetailRocket Рекомендації, триггерні розсилки Російськомовний, підтримка Бітрікс
Mindbox CDP + розсилки + аналітика Широка функціональність, вища ціна
Segmentify Персоналізація контенту Акцент на real-time
Exponea (Bloomreach) CDP + ML Європейський вендор, GDPR
Retail Rocket Готовий модуль для Бітрікс

Передача даних: события з браузера

Більшість сервісів використовують JavaScript SDK для збору поведінкових подій. SDK встановлюється в <head> шаблона сайту. Стандартний набір подій:

Перегляд товару — у шаблоні catalog.element:

// Приклад для RetailRocket-подібного сервісу
analytics.push(['trackProductView', {
    id: <?= (int)$arResult['ID'] ?>,
    groupId: <?= (int)$arResult['IBLOCK_SECTION_ID'] ?>,
    price: <?= (float)($arResult['CATALOG_PRICE_1']['PRICE'] ?? 0) ?>,
    isAvailable: <?= $arResult['CATALOG_QUANTITY'] > 0 ? 'true' : 'false' ?>
}]);

Додавання в корзину — в обробнику кнопки «Купити» або через подію OnSaleBasketItemAddBefore.

Покупка — на сторінці успішного замовлення через $arResult['ORDER_ID'] компонента sale.order.ajax.

Передача каталогу товарів

Сервіс повинен знати актуальний каталог для показу рекомендацій. Передача — через фід (YML, CSV або власний формат) або через API. Агент Бітрікс генерує фід та публікує по URL:

function generateAnalyticsFeed(): void
{
    $elements = \CIBlockElement::GetList(
        ['SORT' => 'ASC'],
        ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
        false, false,
        ['ID', 'NAME', 'IBLOCK_SECTION_ID', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE', 'CATALOG_PRICE_1', 'CATALOG_QUANTITY']
    );

    $rows = [];
    while ($el = $elements->GetNext()) {
        $rows[] = [
            'id'          => $el['ID'],
            'name'        => $el['NAME'],
            'categoryId'  => $el['IBLOCK_SECTION_ID'],
            'url'         => 'https://' . SITE_SERVER_NAME . $el['DETAIL_PAGE_URL'],
            'imageUrl'    => 'https://' . SITE_SERVER_NAME . \CFile::GetPath($el['PREVIEW_PICTURE']),
            'price'       => $el['CATALOG_PRICE_1'],
            'inStock'     => $el['CATALOG_QUANTITY'] > 0,
        ];
    }

    file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/analytics_feed.json', json_encode($rows));
}

Фід оновлюється агентом раз на годину. URL реєструється в кабінеті сервісу аналітики.

Передача даних про користувачів

При реєстрації та оновленні профілю користувача — відправка даних у сервіс через API. Обробник подій OnAfterUserRegister та OnAfterUserUpdate:

AddEventHandler('main', 'OnAfterUserRegister', function($fields) {
    if ($fields['EMAIL']) {
        AnalyticsService::identifyUser([
            'email'     => $fields['EMAIL'],
            'userId'    => $fields['USER_ID'],
            'firstName' => $fields['NAME'],
            'phone'     => $fields['PERSONAL_PHONE'],
        ]);
    }
});

AnalyticsService::identifyUser() робить POST-запит в API сервісу з ідентифікацією користувача.

Отримання рекомендацій назад у Бітрікс

Рекомендації можна отримувати двома способами:

Клієнтський віджет — сервіс надає JavaScript-віджет, який вставляється у потрібне місце сторінки та рендерить рекомендації самостійно. Найпростіший шлях, але слабкий контроль над зовнішнім виглядом.

Server-side API — у шаблоні компонента catalog.element або в компоненті особистого кабінету запитуємо рекомендації через API сервісу та рендеримо самі:

$recommendations = AnalyticsService::getRecommendations([
    'type'      => 'similar',
    'productId' => $arResult['ID'],
    'userId'    => $USER->GetID(),
    'limit'     => 8,
]);
// Передаємо в шаблон для рендера стандартними засобами Бітрікс
$arResult['ANALYTICS_RECOMMENDATIONS'] = $recommendations;

Терміни виконання

Етап Терміни
Встановлення SDK та базові события (перегляд/корзина/покупка) 2–3 дні
Фід каталогу з агентом оновлення 1–2 дні
Ідентифікація користувачів та передача профілів 1–2 дні
Серверні рекомендації на сторінках каталогу 2–3 дні
Триггерні розсилки через сервіс 3–5 днів

Що налаштовуємо

  • JavaScript SDK сервісу в шаблоні сайту з событиями перегляду, корзини та покупки
  • Генератор фіду каталогу у форматі, потрібному сервісу, з агентом оновлення
  • Обробники подій реєстрації/оновлення користувачів для ідентифікації
  • Server-side API-клієнт для запиту рекомендацій та вбудовування в шаблони
  • Передачу даних про замовлення через API або вебхук при успішній оплаті