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

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

Mindbox — российская CDP-платформа для автоматизации маркетинга крупных и средних ритейлеров. Объединяет данные из всех каналов (сайт, мобильное приложение, офлайн, колл-центр), строит единый профиль клиента и управляет персонализированными коммуникациями. Стоимость платформы ориентирована на бизнес с оборотом от нескольких сотен миллионов рублей.

Архитектура интеграции с Mindbox

Mindbox работает через два механизма:

  1. JavaScript SDK (Mindbox.js) — трекинг действий на сайте в реальном времени: просмотры, добавления в корзину, авторизации.
  2. Server-side API (v3) — передача транзакционных данных: заказы, регистрации, обновления профиля.

Оба механизма должны использовать единый идентификатор клиента (deviceUUID для анонимных, customerId для авторизованных).

Подключение JavaScript SDK

В шаблоне Битрикса (в header.php или компоненте):

<script>
window.mindbox = window.mindbox || function() { mindbox.queue.push(arguments); };
mindbox.queue = mindbox.queue || [];
</script>
<script async src="//cdn.mindbox.ru/scripts/v1/tracker.js"></script>
<script>
mindbox('create', {
    endpointId: '<?= COption::GetOptionString("site","mindbox_endpoint_id") ?>',
});
// Передаём ID авторизованного пользователя
<?php if ($USER->IsAuthorized()): ?>
mindbox('identify', {
    operation: 'SiteVisit',
    data: {
        customer: {
            ids: { websiteId: '<?= $USER->GetID() ?>' },
        },
    },
});
<?php endif; ?>
</script>

Передача заказа через Server-side API

class MindboxClient {
    private string $secretKey;
    private string $endpointId;

    public function sendOrder(\Bitrix\Sale\Order $order): void {
        $basket = $order->getBasket();
        $props  = $order->getPropertyCollection();

        $lines = [];
        foreach ($basket as $item) {
            $lines[] = [
                'product'         => ['ids' => ['websiteId' => (string)$item->getProductId()]],
                'quantity'        => $item->getQuantity(),
                'priceOfLine'     => $item->getPrice() * $item->getQuantity(),
                'discountOfLine'  => 0,
            ];
        }

        $payload = [
            'order' => [
                'ids'            => ['websiteId' => (string)$order->getId()],
                'totalPrice'     => $order->getPrice(),
                'lines'          => $lines,
                'customer'       => [
                    'ids'   => ['websiteId' => (string)$order->getUserId()],
                    'email' => $props->getUserEmail(),
                    'mobilePhone' => $props->getItemByOrderPropertyCode('PHONE')?->getValue(),
                ],
            ],
        ];

        $http = new \Bitrix\Main\Web\HttpClient();
        $http->setHeader('Content-Type', 'application/json');
        $http->setHeader('Authorization', 'Mindbox secretKey="' . $this->secretKey . '"');

        $http->post(
            "https://api.mindbox.ru/v3/operations/sync?endpointId={$this->endpointId}&operation=Website.CreateOrder",
            json_encode($payload)
        );
    }
}

Операции (Operations)

Каждое взаимодействие в Mindbox — это «операция» с уникальным именем. Имена операций создаются в личном кабинете Mindbox и передаются в параметре operation:

Операция Событие в Битриксе
Website.CreateOrder OnSaleOrderSaved (новый заказ)
Website.UpdateOrder OnSaleOrderSaved (изменение статуса)
Website.Register OnAfterUserRegister
Website.UpdateProfile OnAfterUserUpdate
Website.SetCart OnSaleBasketSaved
Website.SubscribeEmail OnSubscribeSubscribe

Программа лояльности

Mindbox содержит встроенный модуль программы лояльности. При подключении — баллы начисляются за покупки, списываются при оплате. В форме заказа добавляем поле «Использовать баллы»:

// Получить баланс баллов клиента
public function getCustomerBalance(int $userId): float {
    $response = $this->callSync('Website.GetCustomerBalance', [
        'customer' => ['ids' => ['websiteId' => (string)$userId]],
    ]);
    return $response['customer']['bonusPoints']['available'] ?? 0;
}

При успешном списании баллов — применяем скидку в заказе через CSaleBasket::UpdatePrice().

Кейс: единый профиль клиента

Сеть косметических магазинов: интернет-магазин на Битриксе + офлайн-кассы + мобильное приложение. До Mindbox — три разрозненные базы клиентов, маркетологи не видели полной картины.

После интеграции Mindbox объединил профили по телефону и email: клиент, купивший в офлайне, получает letter с «похожими товарами» на основе чека, а не generic-рассылку. Retention rate вырос на 12% за полгода.

Задача Трудозатраты
Настройка JS SDK + трекинг просмотров 4–6 ч
Server-side API: заказы и профили 8–12 ч
Интеграция программы лояльности 8–16 ч
Синхронизация офлайн-данных по проекту