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

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

eSputnik — украинский CDP (Customer Data Platform) с развитыми инструментами для ecommerce: омниканальные цепочки, product recommendations, abandoned cart, динамическое содержимое писем на основе каталога товаров. Подходит для магазинов с большим каталогом и сложными триггерными сценариями.

Особенности API eSputnik

eSputnik предоставляет REST API v1. Аутентификация — Basic Auth (логин/пароль от аккаунта, не API-ключ). Базовый URL: https://esputnik.com/api/v1/.

Ключевое отличие от других ESP — события как основной механизм триггеров. Вместо прямого управления рассылками, мы отправляем события (order placed, cart updated, page viewed) — eSputnik строит автоматизации на их основе.

Синхронизация контактов

class ESputnikClient {
    private string $login;
    private string $password;
    private string $baseUrl = 'https://esputnik.com/api/v1/';

    public function upsertContact(array $contactData): array {
        $http = new \Bitrix\Main\Web\HttpClient();
        $auth = base64_encode($this->login . ':' . $this->password);
        $http->setHeader('Authorization', 'Basic ' . $auth);
        $http->setHeader('Content-Type', 'application/json');
        $http->setHeader('Accept', 'application/json');

        $payload = [
            'contacts' => [[
                'channels' => [
                    ['type' => 'email', 'value' => $contactData['email']],
                ],
                'fields'   => [
                    ['id' => 1, 'value' => $contactData['first_name'] ?? ''],
                    ['id' => 2, 'value' => $contactData['last_name'] ?? ''],
                    ['id' => 3, 'value' => $contactData['phone'] ?? ''],
                ],
            ]],
        ];

        return json_decode($http->post($this->baseUrl . 'contact', json_encode($payload)), true);
    }
}

Номера полей (id: 1, 2, 3) соответствуют полям в настройках eSputnik — их нужно проверить в разделе «Контакты → Дополнительные поля» конкретного аккаунта.

Отправка событий ecommerce

Главная сила eSputnik — события. Отправляем событие при каждом значимом действии пользователя:

public function sendEvent(string $email, string $eventTypeKey, array $params): void {
    $http = new \Bitrix\Main\Web\HttpClient();
    // ... auth headers

    $payload = [
        'eventTypeKey' => $eventTypeKey,
        'keyValue'     => $email,
        'params'       => array_map(fn($k, $v) => ['name'=>$k,'value'=>$v],
                          array_keys($params), $params),
    ];

    $http->post($this->baseUrl . 'event', json_encode($payload));
}

// Событие: заказ оформлен
$esp->sendEvent($email, 'OrderCreated', [
    'orderId'    => $orderId,
    'orderTotal' => $orderTotal,
    'currency'   => 'RUB',
    'items'      => json_encode($orderItems), // JSON-строка с товарами
]);

// Событие: товар добавлен в корзину
$esp->sendEvent($email, 'CartUpdated', [
    'cartTotal' => $cartTotal,
    'items'     => json_encode($cartItems),
]);

Кейс: динамические товарные рекомендации в письмах

Ситуация. Магазин спортивного питания, 15 000 активных покупателей. Задача: письма с персональными рекомендациями на основе истории покупок.

Реализация. eSputnik принимает товарный фид в формате XML/JSON и строит рекомендации на основе collaborative filtering. Фид генерируется из каталога Битрикса и публикуется по защищённому URL:

// /bitrix/components/custom/esputnik.feed/component.php
$products = CIBlockElement::GetList(
    ['SORT' => 'ASC'],
    ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y', 'CATALOG_AVAILABLE' => 'Y'],
    false, ['nTopCount' => 10000],
    ['ID', 'NAME', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE', 'PROPERTY_PRICE_RRP', 'PROPERTY_BRAND']
);

// Генерируем XML в формате Google Shopping (eSputnik принимает этот формат)
header('Content-Type: application/xml');
// ...

В редакторе писем eSputnik блок «Рекомендации» автоматически подставляет персонализированные товары для каждого получателя на момент открытия письма (real-time рендеринг).

Результат: CTR писем с рекомендациями вырос с 2.1% до 6.8% за 3 месяца.

Группы контактов и сегментация

eSputnik поддерживает сегментацию по полям контакта и по событиям. Передаём из Битрикса поля для сегментации:

  • Дата последнего заказа → реактивационные цепочки.
  • Общая сумма покупок → VIP-сегмент.
  • Категории купленных товаров → тематические рассылки.
Задача Трудозатраты
API-клиент + синхронизация контактов 4–5 ч
События ecommerce (заказ, корзина, просмотр) 6–8 ч
Товарный фид для рекомендаций 4–6 ч
Настройка триггерных цепочек в eSputnik 4–8 ч