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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Flocktory
Средняя
~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С-Битрикс с Flocktory

Flocktory — платформа для работы с постпокупочным трафиком и виральным маркетингом. Её основные механики: показ поп-апа с предложением партнёра сразу после завершения заказа («Я хочу!»), реферальные программы и механики обмена контактами. Интеграция с Битрикс технически несложна и строится на двух компонентах: передача данных о заказе через JavaScript-объект на странице подтверждения и подключение трекера на всех страницах.

Подключение трекера Flocktory

Трекер подключается один раз во всех страницах сайта. В шаблоне Битрикс — в footer.php или через addExternalJs:

<!-- Flocktory трекер -->
<div class="i-flocktory" data-fl-action="track" data-fl-site-id="YOUR_SITE_ID"></div>
<script type="text/javascript">
(function(w,d,n,s,t) {
    w[n] = w[n] || [];
    w[n].push(function() { t = d.createElement(s);
        t.type = 'text/javascript'; t.async = true;
        t.src = '//api.flocktory.com/v2/loader.js?site_id=<?= FLOCKTORY_SITE_ID ?>';
        var sn = d.getElementsByTagName(s)[0];
        sn.parentNode.insertBefore(t, sn);
    });
    w.addEventListener('load', w[n][0]);
})(window, document, '_flocktory_callbacks', 'script');
</script>

FLOCKTORY_SITE_ID — числовой идентификатор из личного кабинета Flocktory. Рекомендуется вынести его в константу через define в bitrix/php_interface/dbconn.php или в модуль настроек.

Передача данных после оформления заказа

Ключевая точка интеграции — страница «Спасибо за заказ». Flocktory показывает постпокупочный поп-ап только если получает корректные данные о заказе. На странице успешного оформления вставляем блок с данными:

// В шаблоне страницы подтверждения заказа
// Данные берём из компонента sale.order.checkout или напрямую из ORDER_ID
$orderId = (int)$_GET['ORDER_ID'];
$order   = \Bitrix\Sale\Order::load($orderId);

if ($order && $order->getUserId() === $USER->GetID()) {
    $user = CUser::GetByID($order->getUserId())->Fetch();

    $items = [];
    foreach ($order->getBasket()->getOrderableItems() as $item) {
        $items[] = [
            'id'    => (string)$item->getProductId(),
            'title' => $item->getField('NAME'),
            'price' => (float)$item->getPrice(),
            'count' => (float)$item->getQuantity(),
        ];
    }

    $flData = [
        'order' => [
            'id'       => (string)$orderId,
            'price'    => (float)$order->getPrice(),
            'currency' => $order->getCurrency(),
        ],
        'customer' => [
            'name'  => trim($user['NAME'] . ' ' . $user['LAST_NAME']),
            'email' => $user['EMAIL'],
        ],
        'items' => $items,
    ];
    ?>
    <div class="i-flocktory"
         data-fl-action="purchase"
         data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>"
         data-fl-user-name="<?= htmlspecialchars($flData['customer']['name']) ?>"
         data-fl-user-email="<?= htmlspecialchars($flData['customer']['email']) ?>"
         data-fl-transaction-id="<?= $flData['order']['id'] ?>"
         data-fl-total-price="<?= $flData['order']['price'] ?>"
         data-fl-items='<?= json_encode($flData['items'], JSON_UNESCAPED_UNICODE) ?>">
    </div>
    <?php
}
?>

Атрибут data-fl-items должен содержать валидный JSON. Flocktory использует эти данные для таргетирования постпокупочного предложения: например, если клиент купил товар из категории «Электроника», партнёр может показать предложение на гарантию или аксессуары.

Данные авторизованного пользователя на всех страницах

Для персонализации Flocktory должен знать email авторизованного пользователя на любой странице:

// В footer.php, после подключения основного трекера
if ($USER->IsAuthorized()) {
    $currentUser = CUser::GetByID($USER->GetID())->Fetch();
    ?>
    <div class="i-flocktory"
         data-fl-action="push-user"
         data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>"
         data-fl-user-email="<?= htmlspecialchars($currentUser['EMAIL']) ?>"
         data-fl-user-name="<?= htmlspecialchars($currentUser['NAME']) ?>">
    </div>
    <?php
}
?>

Реферальная программа (Shaker)

Flocktory Shaker — механика виральности: после покупки клиенту предлагают поделиться ссылкой, друзья получают скидку, реферер — бонус. Настройка на стороне Flocktory (в личном кабинете). Со стороны Битрикс нужно:

  1. При переходе по реферальной ссылке — фиксировать UTM-метку utm_source=flocktory
  2. Передавать промокод Flocktory в Битрикс-механизм скидок

Промокод из ссылки (?flocktory_code=XXX) применяется через стандартный механизм Битрикс или через кастомный обработчик корзины.

Интеграция через события Битрикс (альтернативный подход)

Вместо HTML-блоков можно передавать данные через JavaScript-объект после получения подтверждения от сервера. Обработчик события OnSaleOrderSaved сохраняет данные в сессию, которая затем считывается на странице «Спасибо»:

AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) {
    $order = $event->getParameter('ENTITY');
    $isNew = $event->getParameter('IS_NEW');
    if (!$isNew) return;

    $_SESSION['FLOCKTORY_ORDER'] = [
        'id'    => $order->getId(),
        'price' => $order->getPrice(),
    ];
});

Тестирование интеграции

Flocktory предоставляет режим отладки: добавьте ?flocktory_debug=1 к URL страницы. В консоли браузера появятся сообщения об успешной передаче данных или ошибки маппинга. Основные причины нерабочей интеграции — некорректный email (пустой, невалидный), неправильный формат data-fl-items (не валидный JSON), неверный site_id.

Сроки реализации

Объём Состав Срок
Базовая (трекер + постпокупочный поп-ап) Блок данных на странице заказа + трекер 0.5–1 день
С push-user на всех страницах + авторизация на каждой странице +0.5 дня
Реферальная программа (промокоды) + обработка реферальных ссылок + скидки 2–3 дня