Интеграция доставки: план от расчёта тарифа до подтверждённого вручения

Как интегрировать доставку в интернет-магазин: выбрать перевозчиков, описать данные и статусы, настроить расчёт, создание отправлений, webhooks, возвраты и контроль.

Динамичный постер доставки с фургоном, посылкой и заголовком «Доставка без сюрпризов»
Динамичный постер доставки с фургоном, посылкой и заголовком «Доставка без сюрпризов»Редакция Малевич · 16 мин

Что должна решать интеграция доставки

Покупатель ожидает увидеть доступный способ, срок и стоимость до оплаты, а после заказа — понятный статус и возможность решить исключение. За этим интерфейсом находятся справочники адресов, тарифы, ограничения по габаритам, пункты выдачи, создание накладной, этикетка, приём перевозчиком, события маршрута, вручение и возврат.

Интеграция надёжна, когда магазин и перевозчик одинаково понимают заказ и умеют пережить задержку внешнего сервиса. API-запрос сам по себе не гарантирует правильный маршрут: нужны устойчивые идентификаторы, идемпотентность, журнал обмена, нормализация статусов и ручной процесс для исключений.

Где чаще всего ломается доставка

Ошибки появляются на границе цифрового обещания и физического процесса.

  • Показывать срок перевозчика без времени комплектации, выходных и cut-off склада.
  • Создавать новую накладную при каждом повторе запроса и получать несколько отправлений для одного заказа.
  • Считать внешние статусы универсальными и напрямую показывать клиенту технические формулировки оператора.
  • Не проверять реальные габариты, многоместность, частичную отмену, возврат и изменение адреса после оплаты.
  • Полагаться только на webhook без периодической сверки пропущенных или пришедших не по порядку событий.

Что собрать до подключения перевозчика

Начните с географии, товарных ограничений, обещания клиенту и фактической работы склада.

  • Опишите направления, способы вручения, склады отправления, пункты выдачи, курьерские зоны, сроки и ограничения по товарам.
  • Зафиксируйте данные для расчёта: индекс, координаты, вес, габариты, объявленную стоимость, оплату, состав мест и режим доставки.
  • Разделите коммерческое обещание магазина и ответ перевозчика: определите буфер сборки, календарь, cut-off и правило показа срока.
  • Составьте единый словарь состояний заказа и отправления, включая частичный заказ, отмену, неудачную попытку, возврат и потерю.
  • Назначьте владельцев тарифа, склада, интеграции, клиентского сообщения, сверки и претензионного процесса.

Контур данных и исключений

Интеграция должна объяснять текущее состояние даже тогда, когда один из участников временно недоступен.

  • Храните запросы и ответы с корреляционным идентификатором, но исключайте лишние персональные данные из журналов.
  • Разделяйте технический статус доставки, сообщение клиенту и операционное действие; одно внешнее событие может требовать разных реакций.
  • Вводите повтор с ограничением и очередью, а не бесконечные синхронные вызовы из оформления заказа.
  • Сверяйте отправления, стоимость, наложенный платёж и возвраты по контрольным отчётам, а не только по последнему webhook.
  • Показывайте менеджеру причину остановки и допустимое действие: исправить адрес, заменить тариф, повторить отправку или обратиться к перевозчику.

Пошаговый план интеграции доставки

Сначала стабилизируйте расчёт и данные, затем включайте создание отправлений и события обратного пути.

  • Сравните официальные API по географии, тарифам, пунктам, ограничениям, SLA, тестовой среде, webhook, возвратам и поддержке.
  • Создайте внутреннюю модель доставки, не привязанную к названиям одного оператора: способ, маршрут, место, стоимость, срок и состояние.
  • Настройте нормализацию адреса и контроль веса и габаритов до расчёта, чтобы корзина не обещала недоступную услугу.
  • Реализуйте расчёт с тайм-аутом, кэшированием допустимых справочников, понятным резервным вариантом и фиксацией исходных параметров.
  • Создавайте отправление по идемпотентному ключу заказа; сохраняйте внешний идентификатор, ответ и версию переданных данных.
  • Обрабатывайте webhook с проверкой источника, защитой от повторов, журналом и сопоставлением внешнего статуса с внутренним состоянием.
  • Подготовьте печать этикетки, комплектацию мест, акт передачи и сверку фактически принятых отправлений со складом.
  • Проведите пилот на ограниченной географии и типах товара, разберите каждое расхождение срока, цены, статуса и возврата.

Как оценивать интеграцию

Смотрите на точность обещания и качество сквозного исполнения, а не только на доступность API.

  • Долю корзин, где способ и стоимость успешно рассчитаны, а также причины отсутствия доставки.
  • Расхождение обещанного и фактического срока, цену после корректировок и долю ручных пересчётов.
  • Дубли накладных, потерянные события, ошибки сопоставления статусов и среднее время устранения исключения.
  • Успешность первой попытки, отмены, возвраты, недоставленные отправления и обращения по статусу.
  • Полноту сверки заказов, отправлений, услуг, наложенного платежа и возвратов по расчётному периоду.

Итог

Интеграция доставки начинается с внутренней модели заказа и обещания клиенту. Официальные API подключаются к ней как поставщики расчёта, отправлений и событий, а не становятся единственной логикой магазина.

Надёжный запуск требует идемпотентности, нормализованных статусов, очередей, сверки и пилота на реальном складе. Тогда цифровой путь соответствует физической доставке даже в исключительных ситуациях.

Дорожная карта интеграции доставки

  • Этап 1 — география, товары, обещание срока, внутренняя модель и единый словарь статусов.
  • Этап 2 — расчёт тарифа, адреса, пункты, кэширование и резервное поведение.
  • Этап 3 — отправления, идемпотентность, этикетки, webhooks, очередь и сверка.
  • Этап 4 — пилот на складе, возвраты, исключения и расширение по фактическому качеству.

Источники

  1. Документация для разработчиков

    СДЭК / доступ 2026-09-28

    Официальная документация по логистической интеграции, управлению накладными, возвратам и связанным сервисам.

  2. Спецификация API онлайн-сервиса «Отправка»

    Почта России / доступ 2026-09-28

    Официальное REST API для подготовки отправлений, ярлыков, документов и нормализации данных.

  3. Пакетный доступ к API отслеживания

    Почта России / доступ 2026-09-28

    Официальное описание получения событий отслеживания и асинхронного пакетного обмена.

FAQ

Подключать одного перевозчика или агрегатор?

Один оператор проще на старте, агрегатор расширяет покрытие, но добавляет ещё один слой правил и ответственности. Выбор зависит от географии, способов доставки, объёма, исключений и способности команды поддерживать интеграцию.

Нужно ли хранить ответы расчёта тарифа?

Да, для заказа полезно сохранять параметры и результат, на основании которых клиенту показали стоимость и срок. Это помогает разбирать расхождения и не пересчитывать уже принятое обещание без причины.

Что делать, если API доставки недоступен?

Заранее определить тайм-аут, резервный способ или честное временное состояние. Оформление не должно бесконечно ждать внешний сервис или обещать неподтверждённую доставку.

Зачем сверка, если есть webhook?

Событие может задержаться, повториться или не прийти. Периодическая сверка обнаруживает пропуски, расхождения стоимости и состояния, которые нельзя надёжно заметить по одному потоку уведомлений.

Сделайте следующий шаг.

Разберём, как применить выводы из материала к вашему продукту, процессу или системе.

Обсудить проект