3

WebTech

Личный кабинет

Проекты, коммерческие предложения, документы и отчёты — в одном месте.

Войти Зарегистрироваться Забыли пароль?
Доставка и логистика

Интеграция служб доставки: расчёт, ПВЗ, накладные и трекинг

Считаем доставку в корзине и ведём заказ до получения

Подключаем СДЭК, Boxberry, Почту России, DPD и Яндекс Доставку через один внутренний интерфейс: стоимость и сроки считаются при оформлении, пункт выдачи выбирается на карте, накладные печатаются из админки. Добавить четвёртую службу дешевле, чем первую.

Почему доставка тормозит продажи

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

Доставку считает менеджер

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

Стоимость называют «примерно»

Итог отличается от названного при оформлении — приходится звонить и договариваться заново, уже после оформления.

Накладные заполняют руками

Данные заказа перебиваются в кабинет службы, и ошибки в адресе или весе всплывают уже на этапе отправки.

Статусы посылок не видны

Покупатель спрашивает «где заказ», а менеджер идёт проверять трек вручную в чужом кабинете.

Что и в какую сторону ходит

Направление обмена фиксируется до разработки: для каждой сущности определяется, какая сторона считается источником правды.

Габариты и вес товаров
Каталог → служба
Без веса и объёма расчёт невозможен. Заполняем характеристики в карточках — один раз, дальше они используются всеми службами.
Тарифы и сроки
Служба → корзина
Расчёт идёт на этапе оформления по адресу и составу заказа. Тарифы кэшируются, чтобы страница оформления не зависела от ответа службы.
Пункты выдачи
Служба → карта
Список ПВЗ с режимом работы и ограничениями по габаритам загружается по городу и обновляется по расписанию.
Заявка на доставку
Заказ → служба
Создаётся из админки одной кнопкой. Повторный клик не создаёт вторую заявку — операция идемпотентна по номеру заказа.
Трек-номер и статусы
Служба → заказ
Забираются вебхуком, а если служба его не поддерживает — опросом по расписанию. Статус заказа меняется один раз и уведомляет покупателя.
Возвраты и отказы
Заказ → служба → склад
Возвратная накладная формируется из того же заказа. Принятая на складе посылка меняет статус заказа и отражается в учёте.

Если служба меняет API или добавляет обязательное поле в заявку, правится адаптер — остальная логика заказа не затрагивается.

Сценарии, которые закрываем

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

Курьер до двери

Расчёт по адресу, выбор интервала, передача заявки курьеру и трекинг до вручения.

Самовывоз из ПВЗ

Пункт выдачи выбирается на карте с учётом режима работы и ограничений по весу и габаритам.

Доставка в другой город

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

Крупногабаритный товар

Отдельные тарифы и службы для тяжёлых позиций, где обычный расчёт не подходит.

Как доставка ведёт себя при сбоях

Служба доставки — внешняя система, и она периодически недоступна. Витрина не должна зависеть от её доступности.

  • Кэш тарифов: если служба не ответила, корзина показывает последний успешный расчёт
  • Отдельный тариф «доставка по согласованию» — заказ оформляется даже без расчёта
  • Заявка создаётся идемпотентно: повторная отправка не создаёт вторую накладную
  • Очередь на создание заявок: недоступность службы не блокирует оформление заказов
  • Журнал обмена по каждому заказу: видно, что ушло, что вернулось и когда
  • Оповещение ответственным, если обмен со службой встал

Как мы подключаем службу доставки

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

  1. 01

    Аудит и схема

    Разбираем системы, сущности и потоки. Фиксируем, что считается источником правды и где сейчас расходятся данные.

  2. 02

    Контракт обмена

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

  3. 03

    Прототип

    Проверяем обмен на реальных данных в ограниченном объёме: несколько десятков записей в обе стороны.

  4. 04

    Внедрение

    Включаем полный обмен с очередью, повторными попытками, журналом и защитой от дублей.

  5. 05

    Эксплуатация

    Мониторинг, сверка расхождений, обновление коннекторов при изменениях API на стороне сервиса.

Что делает обмен надёжным

Это не «дополнительные опции», а обязательная часть любой интеграции, которую мы сдаём.

Идемпотентность

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

Очередь и повторные попытки

Если внешняя система недоступна, операция ждёт и повторяется по расписанию, а не теряется.

Журнал обмена

Видно, что и когда ушло, что вернулось и что не прошло. Неудачную операцию можно повторить вручную.

Лимиты провайдера

Учитываем ограничения по частоте запросов, чтобы не получить блокировку со стороны сервиса.

Сверка расхождений

Регулярная сверка ключевых сущностей между системами: расхождение видно в отчёте, а не в конце квартала.

Мониторинг и оповещения

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

Все категории интеграций

Обмен редко ограничивается одной категорией: магазин обычно связан и со складом, и с платежами, и с маркетплейсами.

Частые вопросы об интеграции доставки

Если вашего вопроса здесь нет — задайте его в форме ниже.

Сколько служб доставки можно подключить одновременно?
Сколько нужно — ограничения на нашей стороне нет. Каждая служба описывается адаптером с общим интерфейсом, поэтому пятая и шестая подключаются быстрее, чем первая: логика корзины и админки уже написана.
Что происходит, если API службы недоступен во время оформления?
Корзина не ломается. Расчёт отдаёт последний успешный тариф из кэша, а если данных нет — покупателю предлагается доставка по согласованию. Заказ сохраняется, а расчёт досчитывается позже, когда служба снова отвечает.
Нужно ли вводить габариты и вес каждого товара?
Да, без них расчёт невозможен: службы считают стоимость по весу и объёму. Заполняем эти поля в карточках — частично автоматически из характеристик, остальное вносится один раз вручную.
Можно ли печатать накладные из админки?
Да. Заявка на доставку создаётся из карточки заказа, накладная приходит от службы файлом и печатается прямо из админки — без перехода в личный кабинет службы.
Как покупатель узнаёт о движении посылки?
Статусы забираются по расписанию и по вебхукам, если служба их поддерживает. Смена статуса меняет состояние заказа и отправляет покупателю письмо или SMS со ссылкой на трек.

Опишите, как у вас устроена доставка

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

Бесплатный аудит

Получите бесплатный аудит интернет-магазина

За 3 рабочих дня разберём: где вы теряете заявки, какие каналы недооценены, и что даст рост в первые 30 дней.

Разбор технической части сайта: скорость, SSR, фильтры
Аудит текущей рекламы: где сливается бюджет
Анализ конкурентов в вашей нише
Прогноз CPL, ROAS и окупаемости
План действий на первый месяц
За этот месяц
42 компании получили аудит
30 мин
реакция
3 дня
аудит
100%
доступ к кабинетам

Заявка на аудит

Без обязательств. С конкретными цифрами.

Бесплатно

Ответим в течение 30 минут в рабочее время