Интеграция 1С-Битрикс с сервисами предиктивной аналитики

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с сервисами предиктивной аналитики
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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С-Битрикс с сервисами предиктивной аналитики

Внешние сервисы предиктивной аналитики — 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 или вебхук при успешной оплате