Інтеграція 1С-Бітрікс зі службою доставки Ozon Rocket

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

Ozon Rocket — логістична служба Ozon, відкрита для зовнішніх мерчантів. Використовує інфраструктуру Ozon: склади, сортувальні центри, кур'єрську мережу та пункти видачі (включаючи постамати). Для інтернет-магазинів на Bitrix це доступ до розвиненої мережі доставки з передбачуваними тарифами.

Доступні сервіси Ozon Rocket

  • Кур'єрська доставка — до дверей, терміни залежать від напрямку
  • Доставка в ПВЗ/постамати Ozon — понад 7000 точок по Росії
  • Доставка наступного дня (Next Day) — для Москви, Санкт-Петербурга та низки міст
  • Частковий викуп — покупець може прийняти частину позицій, решту повернути кур'єру

API Ozon Rocket

Ozon надає REST API для партнерів-інтеграторів. Базова URL: https://rocket.ozon.ru/api/logistics. Авторизація: Bearer-токен, отримуваний через API-ключ з особистого кабінету партнера.

Основні endpoints:

  • POST /v1/calculate — розрахунок вартості доставки
  • POST /v1/orders — створення відправлення
  • GET /v1/orders/{id} — статус відправлення
  • GET /v1/pickup-points — список ПВЗ
  • POST /v1/orders/{id}/cancel — скасування

Модуль доставки у Bitrix

Клас доставки — спадкоємець \Bitrix\Sale\Delivery\Services\Base. Додатково реалізуємо інтерфейс для підтримки ПВЗ: або через власний компонент, або через агрегатор ПВЗ, якщо він вже є на проекті.

Параметри в b_sale_delivery_service_params:

  • OZON_API_KEY — ключ з кабінету Ozon Rocket
  • SELLER_ID — ідентифікатор продавця
  • DEFAULT_WAREHOUSE_ID — склад-відправник
  • PARTIAL_ACCEPT — дозволити частковий викуп (bool)

Розрахунок вартості

$calcRequest = [
    'from' => ['warehouse_id' => $warehouseId],
    'to'   => [
        'delivery_type' => 'to_address', // або 'to_pickup_point'
        'address' => [
            'city'    => $city,
            'street'  => $street,
            'house'   => $house,
        ],
    ],
    'packages' => [[
        'weight' => $weightGram,
        'length' => $lengthMm,
        'width'  => $widthMm,
        'height' => $heightMm,
    ]],
    'declared_value' => $assessedValue,
];

Ozon Rocket повертає кілька варіантів доставки з цінами та термінами. У calculateConcrete() вибираємо потрібний варіант згідно з настройками модуля або даємо покупцю на вибір через JavaScript на сторінці оформлення.

Особливість: частковий викуп

Одна з важливих особливостей Ozon Rocket — підтримка часткового викупу. При створенні відправлення кожна позиція замовлення передається окремо:

'items' => [
    [
        'sku'            => $sku,
        'name'           => $name,
        'quantity'       => $qty,
        'price'          => $price,
        'declared_price' => $price,
    ],
    // ...
]

Кур'єр фіксує, які позиції прийняв покупець. У відповіді від Ozon Rocket приходить інформація про прийняті/повернені позиції — оновлюємо замовлення в Bitrix: видаляємо невикупані позиції, перераховуємо суму, створюємо повернення.

Логіка обробки часткового викупу вимагає настройки в b_sale_order та зв'язку з модулем оплати для коректного повернення грошей (при передплаті).

Створення відправлення

$response = $httpClient->post('/v1/orders', [
    'seller_order_number' => 'SHOP-' . $bitrixOrderId,
    'warehouse_id'        => $warehouseId,
    'delivery_type'       => 'courier',
    'recipient' => [
        'name'  => $recipientName,
        'phone' => $phone,
    ],
    'delivery_address' => $address,
    'packages'         => $packages,
    'items'            => $items,
    'payment_method'   => $isPrepaid ? 'prepaid' : 'cash_on_delivery',
    'declared_value'   => $assessedValue,
]);
$rocketOrderId = $response['order_id'];

Статуси та вебхуки

Ozon Rocket надсилає вебхуки на зареєстровану URL при зміні статусу. Перевіряємо підпис у заголовку X-Ozon-Signature. Маппінг статусів:

Статус Ozon Rocket Bitrix
created Передано в доставку
in_transit У пути
arrived Очікує в ПВЗ / кур'єр у дверей
delivered Доставлено
partial_delivered Частковий викуп — потребує ручної обробки
returned Повернення

Графік

Масштаб Компоненти Тривалість
Базова: розрахунок + заявки + статуси Без часткового викупу 4–5 днів
+ Частковий викуп Логіка перерахування замовлення + повернення +3–4 дні
+ Карта ПВЗ HL-блок + віджет +2–3 дні