Когда покупатель оформляет заказ в интернет-магазине на 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, и мы настроим модуль доставки с полным циклом: от расчёта до частичного выкупа.







