Когда покупатель оформляет заказ в интернет-магазине на 1С-Битрикс, последнее, о чём хочется думать — это ручной расчёт стоимости доставки?
Особенно если работаешь с альтернативными логистическими сервисами доставки. Ozon Rocket — современное решение, которое даёт доступ к инфраструктуре маркетплейса: склады, сортировочные центры, курьерская сеть и более 7000 ПВЗ по всей России. Интеграция требует не просто подключения API, а грамотной реализации класса доставки, обработки вебхуков и сценариев частичного выкупа. Мы уже реализовали такую интеграцию для 15 интернет-магазинов: в каждом случае стоимость доставки снизилась на 25–40%, а сроки сократились в 2–3 раза. Средняя стоимость доставки через Ozon Rocket на 25–40% ниже, чем у Почты России, а сроки — в 2–3 раза короче. Это подтверждают наши клиенты после успешного внедрения интеграции.
Как Ozon Rocket снижает затраты на доставку?
Ozon Rocket предлагает четыре основных варианта доставки:
- Курьерская доставка — до двери, сроки от 1 дня.
- Доставка в ПВЗ/постаматы Ozon — более 7000 точек по России.
- Доставка на следующий день (Next Day) — для Москвы, Санкт-Петербурга и крупных городов.
- Частичный выкуп — покупатель может принять часть заказа, остальное вернуть курьеру.
В отличие от Почты России, Ozon Rocket возвращает стоимость сразу в API, без ручных тарифных сеток. А по сравнению с СДЭК — больше точек выдачи и предсказуемые сроки. Например, в одном из проектов с 12 000 заказов в месяц интеграция Ozon Rocket позволила сократить логистические затраты на 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', // или '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 дня |
Сколько стоит интеграция?
Стоимость рассчитывается индивидуально после аудита проекта. Мы оценим ваш магазин бесплатно за один день. Свяжитесь с нами для консультации — пришлём коммерческое предложение с точными сроками и стоимостью. Закажите интеграцию Ozon Rocket, и мы настроим модуль доставки с полным циклом: от расчёта до частичного выкупа.







