БесплатноБесплатный аудит сайта и кода на 1С-Битрикс при заказе доработки или поддержки

Интеграция доставки СДЭК с интернет-магазином: тарифы и трекинг

Интеграция доставки СДЭК с интернет-магазином на 1С-Битрикс: тарифы, ПВЗ и трекинг

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

В этой статье разберём, как устроена интеграция доставки СДЭК с интернет-магазином на 1С-Битрикс: расчёт тарифов по API, весогабаритные данные, выбор ПВЗ, создание заказов у перевозчика, трекинг и синхронизацию статусов, а также надёжность интеграции. Поскольку данные о товарах и заказах живут в учётной системе, качественная интеграция опирается на автоматизацию продаж и склада на 1С.

Коротко

  • Интеграция по API считает тариф и срок СДЭК на лету по актуальным ставкам, а не по устаревшему прайсу.
  • Для точного расчёта нужны вес и габариты товаров — их берут из характеристик, приходящих обменом из 1С.
  • Выбор ПВЗ на карте, создание заказов у перевозчика и трекинг убирают ручную работу менеджера.
  • Надёжность держится на кэше справочников, очередях и обработке сбоев API, чтобы оформление не ломалось.

Зачем интегрировать СДЭК по API

Доставка — одна из последних развилок на пути к покупке, и именно на ней теряется много заказов. Способов посчитать доставку три: фиксированная цена, ручной прайс по зонам и интеграция с перевозчиком по API. Первые два просты, но обречены расходиться с реальностью: тарифы СДЭК зависят от города, веса, габаритов и меняются, а статичный прайс за ними не поспевает.

Интеграция по API решает эту проблему в корне. Магазин обращается к сервису перевозчика и получает актуальную стоимость и срок для конкретного заказа — с учётом адреса, веса и размеров. Это одновременно защищает маржу (не приходится закладывать «запас» в тариф) и повышает доверие покупателя (он видит честную цену и срок). Плюс API умеет больше расчёта: создавать заказы у перевозчика и отдавать статусы, автоматизируя работу, которую иначе делает менеджер вручную.

Что даёт интеграция магазину и клиенту

Полноценная интеграция СДЭК закрывает интересы обеих сторон. Магазин получает автоматизацию и точность, клиент — прозрачность и удобство.

ФункцияМагазинуКлиенту
Расчёт тарифа по APIТочная стоимость, защита маржиЧестная цена доставки сразу
Выбор ПВЗ на картеМеньше ошибок в адресеУдобный пункт рядом с домом
Создание заказа у СДЭКНет ручного вводаБыстрее отправка
Трекинг статусовМеньше вопросов в поддержкуВидно движение посылки

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

Путь заказа: от расчёта доставки до трек-номера Заказадрес, весРасчётСДЭК, Почта, ПВЗСборкакомплектацияОтгрузкапередача службеТрекстатусы клиенту
Схема: по адресу и весу считается доставка (СДЭК, Почта, ПВЗ), заказ собирают и отгружают перевозчику, а покупатель отслеживает статусы по трек-номеру.

Расчёт тарифов на лету

Сердце интеграции — расчёт стоимости и срока доставки в реальном времени. В момент оформления магазин передаёт СДЭК параметры отправления и получает варианты: доставку до двери и до пункта выдачи, с ценой и сроком по каждому.

Чтобы расчёт был корректным и быстрым, важно несколько вещей:

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

Вес, габариты и параметры посылки

Точность тарифа держится на данных о товарах. Адреса недостаточно: СДЭК считает по весу и габаритам, поэтому у товаров должны быть заполнены весогабаритные характеристики, а магазин — уметь собирать из позиций корзины параметры посылки.

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

Весогабаритные данные обычно ведутся в учётной системе и приходят на сайт обменом. Значит, качество расчёта доставки напрямую зависит от качества обмена с 1С: если вес и габариты не выгружаются или «плавают», страдает весь расчёт. Навести порядок в этих данных и наладить их стабильную передачу помогает автоматизация на 1С, где номенклатура приводится к единому виду ещё в учёте. Сборка параметров посылки из корзины (несколько товаров, упаковка) — уже задача интеграции на стороне сайта.

Выбор пункта выдачи на карте

Доставка до ПВЗ — популярный и выгодный для магазина способ, и удобство выбора пункта напрямую влияет на конверсию. СДЭК отдаёт список пунктов выдачи через API, а магазин показывает их на карте или списком с фильтром по городу.

Чтобы выбор ПВЗ работал хорошо:

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

Создание заказов через API

Расчёт и выбор ПВЗ — это витринная часть. Вторая половина интеграции — создание заказа у перевозчика после оформления. Вместо того чтобы менеджер вручную заводил отправление в личном кабинете СДЭК, магазин передаёт данные заказа по API и получает номер отслеживания.

Автоматическое создание заказов даёт сразу несколько выгод: исключает ошибки ручного ввода, ускоряет отправку и связывает заказ на сайте с отправлением у перевозчика единым идентификатором. Важно, чтобы создание заказа было устойчивым: если в момент оформления API недоступен, заказ не должен «потеряться» — его создают асинхронно, с повторными попытками. О том, как безопасно строить обращения к внешним сервисам, мы подробно пишем в статье про безопасность REST и вебхуков в Битрикс.

Трекинг и синхронизация статусов

После отправки покупатель хочет видеть, где его посылка, не уходя с сайта. За это отвечает трекинг: магазин получает статусы от СДЭК и показывает их в заказе и личном кабинете.

Синхронизацию статусов делают одним из двух способов (или их сочетанием):

Первый способ проще, второй — оперативнее и экономнее по запросам. Оба требуют аккуратной обработки: статусы перевозчика сопоставляются со статусами заказа в магазине, а сбои синхронизации не должны ломать данные. Хорошо сделанный трекинг заметно снижает нагрузку на поддержку — клиент сам видит движение посылки и реже спрашивает «где мой заказ».

Надёжность: очереди и сбои API

Внешний сервис всегда может быть недоступен или медленен, и интеграция обязана это переживать без ущерба для магазина. Надёжность строится на нескольких принципах:

  1. Кэш справочников. Города и ПВЗ отдаются из локального кэша, а не из API в реальном времени.
  2. Запасной расчёт. Если API тарифов недоступен, показываются ориентировочные значения или расчёт менеджером — оформление не блокируется.
  3. Очереди для создания заказов. Заказ у перевозчика создаётся асинхронно, с повторными попытками при сбое.
  4. Обработка ошибок трекинга. Неудачный запрос статуса не портит данные заказа и повторяется позже.
  5. Идемпотентность. Повторная попытка не создаёт дублирующий заказ у перевозчика.

Очереди — ключевой элемент устойчивости: тяжёлые и потенциально сбойные операции (создание заказа, синхронизация) выносят из синхронного оформления в фон. Тогда покупатель завершает заказ мгновенно, а взаимодействие с СДЭК происходит надёжно и в фоне. Похожие принципы асинхронной надёжной передачи данных мы разбираем в материале про D7 и ORM в Битрикс, где показано, как аккуратно работать с данными на бэкенде.

Модуль или своя интеграция

Практический вопрос: брать готовый модуль СДЭК из маркетплейса или разрабатывать интеграцию. Ответ зависит от сложности процессов.

Ошибка — сразу писать всё с нуля там, где хватает модуля, или наоборот, натягивать модуль на сложные процессы, для которых он не предназначен. Решение принимают, исходя из объёма заказов и специфики логистики. Когда доходит до собственной разработки, важна инженерная дисциплина и контролируемый выпуск изменений — об этом статья про CI/CD и деплой на Битрикс.

Реализация на 1С-Битрикс

В 1С-Битрикс доставка встроена в модуль интернет-магазина: службы доставки, профили и обработчики. Интеграция СДЭК ложится в эту модель. Общий план такой:

  1. Подготовьте данные товаров. Вес и габариты заполнены и стабильно приходят обменом из 1С.
  2. Настройте службу доставки СДЭК. Через модуль или обработчик, с доступом к API перевозчика.
  3. Включите расчёт тарифов в корзине и оформлении с вариантами до двери и до ПВЗ.
  4. Подключите выбор ПВЗ на карте с кэшированием справочника и обновлением по расписанию.
  5. Настройте создание заказов у СДЭК через очередь, с идемпотентностью и повторными попытками.
  6. Добавьте трекинг с синхронизацией статусов в заказ и личный кабинет.
  7. Заложите запасные сценарии на случай недоступности API и протестируйте на реальных заказах.

Связка доставки, заказов и складов работает надёжно, только когда данные согласованы между сайтом и учётной системой. Поэтому интеграцию СДЭК не рассматривают в отрыве от автоматизации продаж и склада на 1С: остатки, отгрузки и статусы должны сходиться по обе стороны.

Частые ошибки

Чек-лист внедрения

  1. Вес и габариты заполнены и стабильно приходят обменом из 1С.
  2. Расчёт тарифов на лету работает с вариантами до двери и до ПВЗ.
  3. Выбор ПВЗ на карте с кэшированным и регулярно обновляемым справочником.
  4. Создание заказов у СДЭК идёт через очередь, идемпотентно, с повторами.
  5. Трекинг настроен, статусы синхронизируются в заказ и кабинет.
  6. Запасные сценарии на случай недоступности API предусмотрены.
  7. Данные согласованы между сайтом и учётной системой.
  8. Протестировано на реальных заказах — расчёт, ПВЗ, создание, статусы.

Вывод

Интеграция СДЭК по API превращает доставку из ручной операции и источника отказов в автоматический прозрачный процесс. Расчёт тарифа на лету защищает маржу и доверие покупателя, выбор ПВЗ на карте повышает удобство, автоматическое создание заказов и трекинг снимают рутину с менеджеров, а синхронизация статусов сокращает вопросы в поддержку.

Держится всё это на двух опорах: качественных данных (вес, габариты, адреса), которые приходят обменом из 1С, и надёжной инженерии (кэш справочников, очереди, идемпотентность, запасные сценарии). Наведите порядок в номенклатуре, постройте устойчивую интеграцию — и доставка станет не барьером на пути к покупке, а конкурентным преимуществом магазина.

Частые вопросы

Чем интеграция СДЭК по API лучше ручного расчёта доставки?

Ручной расчёт (фиксированные цены или прайс по зонам) быстро устаревает и почти всегда расходится с реальным тарифом перевозчика: магазин либо теряет на недосчитанной доставке, либо отпугивает завышенной. Интеграция по API считает стоимость и срок на лету по актуальным тарифам СДЭК, исходя из габаритов, веса и адреса. Плюс она автоматически создаёт заказы у перевозчика и подтягивает статусы, убирая ручную работу менеджера.

Как подключить выбор пункта выдачи на карте?

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

Что нужно для расчёта тарифа: только адрес?

Адреса (город отправления и получения) недостаточно — для корректного тарифа нужны вес и габариты отправления. Поэтому у товаров должны быть заполнены весогабаритные характеристики, а магазин должен уметь собирать из них параметры посылки для корзины. Если вес и габариты не заполнены, расчёт будет неточным или упрётся в значения по умолчанию. Качество тарифа напрямую зависит от качества данных о товарах, которые обычно приходят обменом из 1С.

Как работает трекинг и синхронизация статусов?

После создания заказа СДЭК присваивает ему номер отслеживания. Магазин периодически запрашивает статус через API (или получает уведомления вебхуками) и обновляет статус доставки в заказе и личном кабинете покупателя. Так клиент видит движение посылки, не покидая сайт, а менеджер не тратит время на ручную проверку. Надёжная синхронизация требует очередей и обработки ошибок, чтобы сбой API не ломал статусы заказов.

Что делать, если API СДЭК недоступен в момент оформления?

Интеграция должна быть устойчива к недоступности внешнего сервиса. На случай сбоя предусматривают запасной вариант: показать заранее рассчитанные ориентировочные тарифы или дать оформить заказ с уточнением стоимости доставки менеджером. Главное — не блокировать оформление полностью из-за временной недоступности перевозчика. Создание заказа у СДЭК при этом можно выполнить асинхронно через очередь, повторяя попытку, когда сервис снова доступен.

Использовать готовый модуль СДЭК из маркетплейса или писать интеграцию?

Готовый модуль быстрее и дешевле на старте и закрывает типовые сценарии: расчёт, выбор ПВЗ, создание заказа. Кастомная интеграция нужна, когда есть нестандартная логика — свои правила тарификации, несколько складов отправления, сложная упаковка, особая синхронизация статусов. Часто разумно начать с модуля, а по мере роста требований дорабатывать или заменять его собственной интеграцией. Выбор зависит от сложности процессов и объёма заказов.

Как хранить и обновлять список городов и ПВЗ, чтобы не тормозить корзину?

Справочники городов и пунктов выдачи СДЭК кэшируют на стороне магазина и обновляют по расписанию через фоновые агенты, а не запрашивают API на каждое действие покупателя. Тогда выбор города и ПВЗ в оформлении работает мгновенно, из локального кэша, а актуальность поддерживается регулярной синхронизацией. Это стандартный приём: тяжёлые обращения к внешнему API выносят в фон, а пользователю отдают быстрый локальный ответ.

Влияет ли интеграция доставки на конверсию корзины?

Да, и заметно. Понятная стоимость и срок доставки, показанные сразу в корзине, снижают долю брошенных заказов: покупатель не боится скрытых доплат и видит, когда получит товар. Выбор удобного ПВЗ на карте и трекинг после покупки повышают доверие. И наоборот, отсутствие расчёта («стоимость уточнит менеджер») или неверные тарифы увеличивают отказы. Прозрачная доставка — это часть конверсии, а не только логистики.

Поделиться:

Нужна надёжная интеграция доставки с СДЭК?

Настроим расчёт тарифов, выбор ПВЗ на карте, создание заказов и трекинг с устойчивостью к сбоям API. Рассчитаем работу по вашему магазину.

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины на 1С-Битрикс: подключаем службы доставки, настраиваем расчёт тарифов, ПВЗ и трекинг в связке с учётом в 1С.

← Все статьи блога