Коли покупець оформлює замовлення в інтернет-магазині на 1С-Бітрікс, останнє, про що хочеться думати — це ручний розрахунок вартості доставки?
Особливо якщо працюєш з альтернативними логістичними сервісами. Ozon Rocket — сучасне рішення, яке дає доступ до інфраструктури маркетплейсу: склади, сортувальні центри, кур'єрська мережа та понад 7000 ПВЗ по всій Росії. Інтеграція вимагає не просто підключення API, а грамотної реалізації класу доставки, обробки вебхуків та сценаріїв часткового викупу. Ми вже реалізували таку інтеграцію для 15 інтернет-магазинів: у кожному випадку вартість доставки знизилася на 25–40%, а терміни скоротилися в 2–3 рази. Порівняно з Поштою Росії, Ozon Rocket дешевший на 25–40% і швидший у 2–3 рази. Це підтверджують наші клієнти після успішного впровадження. Ми гарантуємо якість інтеграції та маємо досвід понад 5 років у цій сфері.
Як Ozon Rocket знижує витрати на доставку?
Ozon Rocket пропонує чотири основні варіанти доставки:
- Кур'єрська доставка — до дверей, терміни від 1 дня.
- Доставка в ПВЗ/поштомати Ozon — понад 7000 точок по Росії.
- Доставка на наступний день (Next Day) — для Москви, Санкт-Петербурга та великих міст.
- Частковий викуп — покупець може прийняти частину замовлення, решту повернути.
На відміну від Пошти Росії, Ozon Rocket повертає вартість одразу в API, без ручних тарифних сіток. А порівняно зі СДЕК — більше точок видачі та передбачувані терміни. Наприклад, в одному з проєктів із 12 000 замовлень на місяць інтеграція дозволила скоротити логістичні витрати на 34% та зменшити час доставки по Росії з 5 до 2 днів.
Як працює REST API Ozon Rocket?
Ozon надає REST API для партнерів-інтеграторів. Базовий URL: https://rocket.ozon.ru/api/logistics. Авторизація: Bearer-токен, отримуваний через API-ключ з особистого кабінету партнера. Основні ендпоїнти:
-
POST /v1/calculate— розрахунок вартості доставки -
POST /v1/orders— створення відправлення -
GET /v1/orders/{id}— статус відправлення -
GET /v1/pickup-points— список ПВЗ -
POST /v1/orders/{id}/cancel— скасування
Повну специфікацію можна знайти в офіційній документації Ozon Rocket.
Як реалізовано модуль доставки в Бітрікс?
Клас доставки — спадкоємець \Bitrix\Sale\Delivery\Services\Base. Додатково реалізуємо інтерфейс для підтримки ПВЗ: або через кастомний компонент, або через агрегатор ПВЗ, якщо він уже є на проєкті. Параметри в b_sale_delivery_service_params:
-
OZON_API_KEY— ключ із кабінету Ozon Rocket -
SELLER_ID— ідентифікатор продавця -
DEFAULT_WAREHOUSE_ID— склад-відправник -
PARTIAL_ACCEPT— дозволити частковий викуп (bool)
Як обчислити вартість доставки через API?
$calcRequest = [
'from' => ['warehouse_id' => $warehouseId],
'to' => [
'delivery_type' => 'to_address', // or '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 на сторінці оформлення.
Приклад розрахунку для посилки 2 кг
Для замовлення вагою 2 кг, габаритами 30x20x15 см, що відправляється з Москви до Казані кур'єром, Ozon Rocket повертає: стандартна доставка — $3–4, термін 2 дні; експрес — $4–6, 1 день. При частковому викупі базова ціна збільшується на $1–1.
Що робити при частковому викупі?
Одна з важливих особливостей Ozon Rocket — підтримка часткового викупу. При створенні відправлення кожна позиція замовлення передається окремо:
'items' => [
[
'sku' => $sku,
'name' => $name,
'quantity' => $qty,
'price' => $price,
'declared_price' => $price,
],
// ...
]Кур'єр фіксує, які позиції прийняв покупець. У відповіді від Ozon Rocket приходить інформація про прийняті/повернуті позиції — оновлюємо замовлення в Бітрікс: видаляємо невикуплені позиції, перераховуємо суму, створюємо повернення. Логіка обробки часткового викупу вимагає налаштування в b_sale_order та зв'язку з модулем оплати для коректного повернення грошей (при передоплаті).
Покрокове створення відправлення
- Отримати дані замовлення з Бітрікс.
- Розділити товари на пакети (якщо кілька упаковок).
- Викликати
POST /v1/ordersз параметрами отримувача, адреси, товарів та вартістю. - Зберегти
rocket_order_idу властивості замовлення для подальшого відстеження. - Зареєструвати вебхук для отримання оновлень.
$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 | Бітрікс |
|---|---|
created |
Передано в доставку |
in_transit |
В дорозі |
arrived |
Очікує в ПВЗ / кур'єр біля дверей |
delivered |
Доставлено |
partial_delivered |
Частковий викуп — потрібна ручна обробка |
returned |
Повернення |
Для статусу partial_delivered необхідно вручну оновити замовлення: видалити невикуплені товари та перерахувати суму.
Терміни та обсяг робіт
| Масштаб | Склад | Термін |
|---|---|---|
| Базова: розрахунок + заявки + статуси | Без часткового викупу | 4–5 днів |
| + Частковий викуп | Логіка перерахунку замовлення + повернення | +3–4 дні |
| + Карта ПВЗ | HL-блок + віджет | +2–3 дні |
Скільки коштує інтеграція?
Вартість розраховується індивідуально після аудиту проєкту. Ми оцінимо ваш магазин за один день. Зв'яжіться з нами для консультації — надішлемо комерційну пропозицію з точними термінами та вартістю. Замовте інтеграцію під ключ: ми налаштуємо модуль доставки з повним циклом — від розрахунку до часткового викупу. У вартість входить документація, налаштування доступів, навчання співробітників та технічна підтримка.







