Когда покупатель оформляет заказ в интернет-магазине на 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 возвращает: стандартная доставка — 280 ₽, срок 2 дня; экспресс — 450 ₽, 1 день. При частичном выкупе базовая цена увеличивается на 50 ₽.
Что делать при частичном выкупе?
Одна из важных особенностей 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, и мы настроим модуль доставки с полным циклом: от расчёта до частичного выкупа.
Интеграция доставки: от разрозненных API к единому калькулятору за 5 дней
Покупатель бросает корзину на этапе доставки — не видит расчёта или видит заведомо неверную цену. Каждый такой случай теряет конверсию. Автоматизация логистики в 1С-Битрикс решает эту проблему: мы подключаем службы доставки так, чтобы цена показывалась мгновенно, а трекинг обновлялся без участия менеджера. За 8 лет реализовано более 50 проектов с каталогами от 500 до 100 000 SKU. Среднее время подключения одной транспортной компании — 4 дня.
Как ускорить подключение служб доставки к 1С-Битрикс?
Главная сложность — не сам вызов API, а адаптация к логике каждого перевозчика. СДЭК, Boxberry, Почта России, ПЭК, DPD — у каждого свой формат запроса, тарификация и обработка ошибок. Мы используем готовые адаптеры под каждую ТК, что сокращает время интеграции втрое по сравнению с реализацией с нуля. Развернутый кейс: интернет-магазин товаров для дома (15 000 товаров) — подключили СДЭК и Boxberry за 5 дней, автоматизировали расчёт и создание заказов. Обращения в поддержку по доставке снизились на 60%, средний чек вырос на 8% за счёт индикатора бесплатной доставки.
Почему API каждой транспортной компании — отдельный квест?
СДЭК — объёмный вес и карта ПВЗ
API v2 (/api/v2/calculator/tarifflist) принимает габариты, вес и адреса — возвращает все доступные тарифы. Подводные камни: объёмный вес рассчитывается по формуле (Д × Ш × В) / 5000. Если физический вес 2 кг, а объёмный 8 кг — СДЭК берёт по объёмному. Не учтёте в калькуляторе — покупатель увидит одну цену, а заплатит другую. Карта ПВЗ загружается через /deliverypoints. Виджет СДЭК можно встроить, но он конфликтует со стилями Битрикс — рисуем свою карту на Яндекс.Картах. Автоматическое создание заказа через /api/v2/orders — при оформлении заявка улетает в СДЭК, возвращается трек-номер. Печать накладных и этикеток из админки — через /api/v2/print/orders. Тарифы: склад-склад, склад-дверь, дверь-дверь, экспресс, постамат.
Boxberry — широкая сеть ПВЗ в регионах
Самая широкая сеть пунктов выдачи в малых городах. API проще, чем у СДЭК, но есть нюансы с наложенным платежом и частичным выкупом. Карта ПВЗ с фильтрацией: примерка, оплата картой, работа в выходные. Обязательно проверяем корректную обработку ответа 0 при отсутствии ПВЗ.
Почта России — стабильность ценой скорости
API «Отправка» — расчёт стоимости, автоформирование бланков ф.103 и ф.116, трекинг по трек-номеру. Тарифы: посылка, бандероль, EMS. Международные отправления. API медленнее коммерческих ТК — закладываем таймауты 10 секунд, используем асинхронные агенты Битрикс для обновления статусов.
ПЭК — тяжёлые грузы и сбор
Когда нужно отправить диван или оборудование. Расчёт сборных грузов, страхование, обрешётка. Доставка до терминала и от двери до двери. Индексы терминалов ПЭК подгружаем в инфоблок для автоподстановки.
DPD — экспресс-доставка с временными слотами
DPD по России и за рубеж. Доставка в выбранный временной интервал, возврат подписанных документов. В расчёте учитываем объёмный вес по формуле (Д×Ш×В)/4000 — отличие от СДЭК.
Пример: типичные ошибки при интеграции Boxberry
Отсутствие фильтрации ПВЗ по признаку `onlyPrepaid` приводит к ошибкам при наложенном платеже. Игнорирование параметра `partialReturn` ломает частичный выкуп. API возвращает код города в формате "770000000000" — требуется маппинг на index города.
Как объединить разные ТК в едином калькуляторе?
Используем гибридный подход: модуль-агрегатор, который маршрутизирует запросы к разным API и нормализует ответы. Это позволяет сравнивать тарифы в реальном времени без переключения между личными кабинетами. В ответе модуля — единая структура: название тарифа, цена, срок, тип доставки. Кэширование тегированное: при изменении настроек модуля очищается только кэш расчёта для выбранного города, остальное остаётся. Событие OnBeforeDeliveryCalculate вешаем на кастомный обработчик — так подменяем стандартную логику доставки.
Расчёт стоимости: какие грабли встречаются?
Автоматический калькулятор суммирует физический и объёмный вес товаров в корзине, прибавляет вес упаковки, выбирает наибольший. Звучит просто, но:
- Габариты должны быть заполнены у каждого товара. Нет габаритов — нет расчёта. На каталоге в 10 000 SKU обязательно найдутся товары без размеров — для них заводим дефолтные значения (например, 0.1×0.1×0.1 м) и предупреждаем менеджера через почтовое событие.
- Промоакции и пороги бесплатной доставки — гибкая настройка: по сумме заказа, для VIP-клиентов, при конкретном способе оплаты. Реализуем через пользовательские свойства корзины.
- Индикатор «До бесплатной доставки осталось N руб.» — простая штука, но поднимает средний чек на 5–12%. Вычисляем по сумме корзины и ближайшему порогу, выводим в шаблоне корзины.
Как автоматизировать трекинг, самовывоз и курьерскую доставку?
Трекинг. Автоматический опрос API транспортных компаний — агент Битрикс каждые 30 минут проверяет статусы заказов, у которых STATUS_DELIVERY != 'DELIVERED'. При изменении — обновление статуса заказа в системе и уведомление покупателю (email, SMS, push). Встроенная страница трекинга в личном кабинете — покупателю не нужно идти на сайт ТК. Карта с текущим местоположением, прогнозируемая дата доставки, возможность переадресации.
Самовывоз. Собственные точки выдачи на карте: адреса, график, контакты. Поиск ближайшей по адресу покупателя. Проверка наличия в реальном времени, бронирование до определённого часа. QR-код для быстрого получения и SMS о готовности к выдаче.
Курьерская доставка. Зоны доставки с разной стоимостью. 2-часовые слоты, управление расписанием курьеров, ограничение заказов на слот. Доставка день в день — приём до 14:00, экспресс за 2-4 часа с наценкой за срочность. Интеграция с навигацией для оптимизации маршрутов.
Мультисклад. Несколько складов с адресами и зонами обслуживания. Автоматический выбор склада отгрузки по адресу покупателя — приоритет ближайшему, где есть все товары заказа. Если на одном складе всего нет — разделение заказа по складам (мультидоставка). Синхронизация остатков через 1С или WMS (CommerceML), используем события OnBeforeBasketAdd для проверки доступности.
Сравнение транспортных компаний
| Параметр |
СДЭК |
Boxberry |
Почта России |
ПЭК |
DPD |
| Покрытие |
Россия, СНГ |
Регионы, малые города |
Вся РФ |
РФ, тяжёлые грузы |
РФ, экспресс |
| Скорость доставки |
2–7 дней |
3–10 дней |
5–15 дней |
3–10 дней |
1–4 дня |
| Сложность API |
Средняя |
Низкая |
Высокая (XML) |
Средняя |
Средняя |
| Особенность |
Широкий набор тарифов, постаматы |
Самая широкая сеть ПВЗ |
Стабильный, но медленный ответ |
Страхование, обрешётка |
Временные интервалы |
Из каких этапов состоит подключение служб доставки?
-
Анализ логистики (1–2 дня) — география, средний вес, объём заказов, интеграция с 1С. Рекомендуем комбинацию ТК.
-
Подключение API (3–5 дней на ТК) — настройка расчётов, карт ПВЗ, автоматическое создание заказов через агенты и события.
-
Настройка трекинга (1–2 недели) — агенты обновления статусов, шаблоны уведомлений, страница трекинга.
-
Тестирование (2–3 дня) — проверка на реальных адресах, сравнение тарифов, контроль ошибочных расчётов, нагрузочное тестирование.
-
Деплой и обучение (1 день) — выгрузка модуля, передача доступов, обучение менеджеров.
-
Гарантийная поддержка (1 месяц) — исправление багов, корректировка конфигураций, донастройка кэширования.
Ориентировочные сроки реализации
| Этап |
Срок |
| Подключение одной ТК (API) |
3–5 дней |
| Карта выбора ПВЗ |
2–3 дня |
| Настройка самовывоза |
2–3 дня |
| Система трекинга |
1–2 недели |
| Мультисклад |
2–4 недели |
| Комплексная логистическая система |
4–8 недель |
Сроки зависят от количества ТК, сложности каталога и необходимости интеграции с 1С/ERP. Стоимость рассчитывается индивидуально — ориентируйтесь на экономию: снижение операционных затрат на доставку до 40% и сокращение обращений в поддержку на 60%. Например, один из клиентов с магазином электроники (20 000 товаров) вернул инвестиции за 3 месяца за счёт уменьшения числа «забытых» заказов.
Готовы ускорить логистику вашего интернет-магазина? Свяжитесь с нами — поможем подобрать оптимальную комбинацию ТК под ваш ассортимент и бюджет. Закажите консультацию, и мы подготовим предложение за 1 рабочий день.