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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс со службой доставки Ozon Rocket
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

Ozon Rocket — логистическая служба Ozon, открытая для внешних мерчантов. Использует инфраструктуру Ozon: склады, сортировочные центры, курьерскую сеть и пункты выдачи (в том числе постаматы). Для магазинов на Битрикс это доступ к развитой сети доставки с предсказуемыми тарифами.

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

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

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 — отмена

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

Класс доставки — наследник \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 приходит информация о принятых/возвращённых позициях — обновляем заказ в Битрикс: убираем невыкупленные позиции, пересчитываем сумму, создаём возврат.

Логика обработки частичного выкупа требует настройки в 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 Битрикс
created Передан в доставку
in_transit В пути
arrived Ожидает в ПВЗ / курьер у двери
delivered Доставлен
partial_delivered Частичный выкуп — требует ручной обработки
returned Возврат

Сроки

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