Інтеграція 1С-Бітрікс з eSputnik

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

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

Особливості 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'   => 'UAH',
    'items'      => json_encode($orderItems), // JSON-рядок з товарами
]);

// Подія: товар додано до кошика
$esp->sendEvent($email, 'CartUpdated', [
    'cartTotal' => $cartTotal,
    'items'     => json_encode($cartItems),
]);

Кейс: динамічні товарні рекомендації в листах

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

Реалізація. eSputnik приймає товарний фід у форматі XML/JSON і будує рекомендації на основі collaborative filtering. Фід генерується з каталогу 1С-Бітрікс і публікується за захищеним 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 підтримує сегментацію за полями контакту та за подіями. Передаємо з 1С-Бітрікс поля для сегментації:

  • Дата останнього замовлення → реактиваційні ланцюжки.
  • Загальна сума покупок → VIP-сегмент.
  • Категорії куплених товарів → тематичні розсилки.
Завдання Трудовитрати
API-клієнт + синхронізація контактів 4–5 год
Події ecommerce (замовлення, кошик, перегляд) 6–8 год
Товарний фід для рекомендацій 4–6 год
Налаштування тригерних ланцюжків у eSputnik 4–8 год