«Доставка СДЭК» на сайте бывает двух видов. Первый — строка в списке способов доставки с фиксированной ценой, где менеджер потом вручную создаёт накладную, вбивая адрес и вес заново. Второй — живая интеграция: клиент видит точную стоимость и срок, выбирает пункт выдачи на карте, а заказ сам уходит в СДЭК и возвращается с трек-номером. Разница между ними — это часы работы менеджеров и десятки ошибок в адресах ежемесячно.
В этом руководстве разберём, как сделать полноценную интеграцию СДЭК с магазином на 1С-Битрикс: расчёт стоимости по весу и габаритам, выбор ПВЗ на карте, автоматическое создание заказов через API, трек-номера и приём статусов. А также как связать всё это с учётом в 1С. Логистика — часть более широкой задачи автоматизации продаж и склада на 1С, поэтому смотреть на неё стоит системно.
Коротко
- Полная интеграция СДЭК — это расчёт цены, выбор ПВЗ, автосоздание заказа и приём статусов, а не строка в списке доставок.
- Точность расчёта держится на корректных весе и габаритах товаров — заполните их в карточках.
- Трек-номер появляется после регистрации заказа в СДЭК через API и уходит клиенту в письме.
- Статусы удобнее принимать вебхуками, а не опросом по расписанию — так они обновляются почти сразу.
Зачем интегрировать СДЭК по-настоящему
Формальная «доставка СДЭК» без интеграции создаёт скрытые издержки, которые копятся с каждым заказом. Клиент на оформлении видит примерную или фиксированную цену, которая не совпадает с реальной; менеджер вручную заводит накладную в личном кабинете СДЭК, ошибается в адресе или весе; клиент не получает трек-номер вовремя и звонит узнать, где посылка. Всё это — потерянное время и недовольство.
Настоящая интеграция убирает двойной ввод и неопределённость: покупатель сразу видит точную стоимость и срок, выбирает удобный пункт выдачи, а после оформления заказ автоматически регистрируется в СДЭК с корректными данными и возвращает трек-номер. Менеджер не создаёт накладные руками, клиент получает уведомления, а адреса и веса не расходятся между сайтом и службой.
Модуль или своя интеграция через API
Первое решение — на чём строить. У СДЭК есть API и готовые модули для Битрикс, и выбор зависит от сложности ваших процессов.
| Вариант | Плюсы | Когда подходит |
|---|---|---|
| Готовый модуль из Маркетплейса | Быстрый старт, расчёт и ПВЗ из коробки | Типовой магазин, стандартная логика |
| Своя интеграция через API | Полный контроль, нестандартная логика | Своя тарификация, несколько служб, особые правила |
| Модуль + доработки | База из коробки плюс кастом под процессы | Большинство серьёзных проектов |
Для большинства магазинов рационально начать с проверенного модуля и доработать его под свои сценарии. Полностью самописную интеграцию оправдывают нестандартные требования: собственная логика тарифов, объединение СДЭК с другими службами в едином выборе, особые правила упаковки и разбиения на места.
Что именно интегрируем: карта возможностей
«Интеграция СДЭК» — это несколько независимых блоков, и внедрять их можно поэтапно. Полезно держать перед глазами всю карту:
- Расчёт стоимости и срока. Запрос цены доставки к API по весу, габаритам и пункту назначения.
- Выбор ПВЗ. Карта пунктов выдачи в городе клиента прямо на оформлении.
- Создание заказа. Автоматическая регистрация отправления в СДЭК через API.
- Трек-номер и печать. Получение номера отслеживания и печать накладной.
- Статусы. Приём смены статусов доставки обратно в магазин.
Минимально ценная интеграция — это расчёт плюс выбор ПВЗ; полноценная добавляет автосоздание заказа, трек-номер и статусы. Дальше разберём ключевые блоки подробнее.
Расчёт стоимости и весогабариты
Точный расчёт — фундамент всего. Стоимость и срок запрашиваются у API СДЭК по параметрам отправления: город и ПВЗ получателя, город отправителя, вес, габариты, тариф. И здесь кроется самая частая причина неточностей — весогабаритные характеристики товаров.
- Заполните вес товаров. У каждого товара должен быть реальный вес; пустой вес приводит к абсурдному расчёту.
- Задайте габариты. Длина, ширина, высота нужны для объёмного веса, по которому СДЭК часто и считает.
- Продумайте упаковку. Как складываются габариты нескольких товаров в одно отправление — важная для расчёта логика.
- Синхронизируйте из 1С. Весогабариты удобно вести в учётной системе и передавать обменом, чтобы не заполнять вручную.
Выбор ПВЗ на карте
Доставка до пункта выдачи — популярный сценарий, и удобный выбор ПВЗ прямо влияет на конверсию оформления. СДЭК отдаёт список пунктов с координатами через API, а на оформлении заказа показывается карта с точками в городе клиента.
- Точки по городу клиента. Подгружайте ПВЗ для конкретного города, определённого по адресу или геолокации, а не всю базу пунктов.
- Карта и список. Дайте и карту, и список с адресами, режимом работы и особенностями пункта (примерка, оплата картой).
- Сохранение выбора. Код выбранного ПВЗ сохраняется в заказе и передаётся при регистрации отправления.
- Кэширование. Список пунктов меняется редко — его кэшируют, чтобы не дёргать API на каждом оформлении.
Важно не грузить всю базу ПВЗ по стране на страницу оформления — это резко замедлит оформление заказа. Правильный подход — кэш и выборка по городу.
Создание заказа и трек-номер
Ключевой шаг, отделяющий настоящую интеграцию от формальной, — автоматическая регистрация заказа в СДЭК. Когда заказ доходит до нужного статуса (например, «оплачен» или «собран»), обработчик отправляет в API СДЭК данные отправления: получатель, ПВЗ, состав, вес, габариты, тариф.
В ответ СДЭК регистрирует отправление и возвращает трек-номер. Его сохраняют в заказе и используют дважды: передают клиенту в письме об отгрузке и по нему же получают статусы доставки. Дополнительно через API можно получить печатную форму накладной, чтобы менеджер не оформлял её вручную.
Автосоздание заказа убирает двойной ввод и ошибки: то, что клиент указал на сайте, уходит в СДЭК как есть, без переписывания адреса менеджером. Про то, как безопасно ходить во внешние API и принимать ответы, мы писали в статье REST, вебхуки и безопасность в Битрикс.
Статусы доставки через вебхуки
Клиент хочет знать, где посылка, а менеджер — видеть актуальный статус в заказе. СДЭК умеет отправлять вебхуки при смене статуса отправления на указанный адрес магазина. Это предпочтительный способ синхронизации статусов.
- Настройте приём вебхуков. Заведите обработчик, который принимает уведомления СДЭК о смене статуса.
- Найдите заказ по трек-номеру. Обработчик сопоставляет отправление с заказом в магазине.
- Обновите статус. Статус доставки записывается в заказ, при необходимости меняется статус самого заказа.
- Уведомьте клиента. На ключевые статусы (в пути, прибыл в ПВЗ, вручён) отправляется письмо.
Альтернатива вебхукам — периодический опрос статусов через API по расписанию (агентом или крон-задачей). Он проще, но статус обновляется с задержкой. Для хорошего клиентского опыта вебхуки лучше: посылка меняет статус — клиент почти сразу видит это.
Связь с заказом и учётом в 1С
Магазин на Битрикс почти всегда работает в связке с 1С, поэтому доставку нельзя рассматривать только как настройку сайта. Заказ, отгрузка и трек-номер должны согласованно жить в обеих системах.
- Источник истины. Определите, где ведётся отгрузка — на сайте или в 1С, — чтобы статусы не конфликтовали.
- Обмен данными доставки. Трек-номер, ПВЗ и стоимость доставки должны попадать и в заказ на сайте, и в учёт.
- Согласованность справочников. Города, ПВЗ и тарифы не должны расходиться между системами.
Если доставка настроена на сайте, а учёт живёт своей жизнью, возникают расхождения: в 1С один статус, на сайте другой, клиент получает противоречивые уведомления. Поэтому логистику проектируют как часть общей автоматизации, в том числе автоматизации на 1С.
Пошаговый план внедрения
- Получите доступ к API СДЭК. Учётная запись, договор, тестовые и боевые ключи.
- Наведите порядок в весогабаритах. Заполните вес и размеры товаров, настройте их обмен из 1С.
- Подключите расчёт. Модуль или своя интеграция считает стоимость и срок на оформлении.
- Добавьте выбор ПВЗ. Карта пунктов по городу клиента с кэшированием.
- Настройте автосоздание заказа. Регистрация отправления по достижении нужного статуса, получение трек-номера.
- Подключите статусы. Приём вебхуков и уведомления клиенту.
- Свяжите с 1С. Согласуйте, где ведётся отгрузка и как синхронизируются данные доставки.
- Протестируйте на боевых данных. Реальные города, веса, ПВЗ, тестовые отправления и возвраты статусов.
Производительность и кэширование
Интеграция с внешним сервисом на оформлении заказа — потенциально узкое место: каждый запрос к API добавляет задержку. Чтобы оформление оставалось быстрым:
- Кэшируйте список ПВЗ. Пункты меняются редко — держите их в кэше и обновляйте по расписанию.
- Кэшируйте расчёт. Одинаковые запросы стоимости для типовых корзин можно кэшировать на короткое время.
- Обрабатывайте таймауты. Если API СДЭК не ответил, оформление не должно падать — предусмотрите запасной сценарий.
- Выносите тяжёлое в фон. Регистрацию заказа и печать накладной можно выполнять асинхронно, не заставляя клиента ждать.
Особенно это важно в пиковые периоды: как в целом готовить магазин к нагрузке, мы разбираем в отдельной статье про подготовку к распродажам — интеграции с внешними сервисами там первыми становятся бутылочным горлышком.
Частые ошибки
- Пустые веса и габариты. Расчёт неточный, вы теряете на доставке или отпугиваете клиента.
- Загрузка всей базы ПВЗ. Оформление тормозит из-за тысяч точек на странице.
- Нет автосоздания заказа. Менеджеры вручную заводят накладные и ошибаются в адресах.
- Статусы опросом раз в час. Клиент видит устаревший статус, хотя вебхуки дали бы почти мгновенный.
- Нет обработки таймаутов API. Сервис СДЭК недоступен — падает оформление заказа.
- Расхождение с 1С. На сайте один статус, в учёте другой, клиент получает противоречия.
- Тестировали на одном городе. На реальной географии всплывают ошибки тарифов и ПВЗ.
Чек-лист и вывод
- Доступ к API получен. Ключи, договор, тестовое и боевое окружение.
- Весогабариты заполнены. Вес и размеры товаров ведутся и приходят из 1С.
- Расчёт работает. Точная стоимость и срок на оформлении.
- Выбор ПВЗ настроен. Карта по городу клиента с кэшем.
- Заказ создаётся автоматически. Трек-номер возвращается и уходит клиенту.
- Статусы принимаются. Вебхуки обновляют заказ и уведомляют клиента.
- Связь с 1С согласована. Источник истины по отгрузке определён, данные синхронизируются.
- Протестировано на боевой географии. Разные города, веса и сценарии проверены.
Настоящая интеграция СДЭК — это не строка в списке доставок, а сквозной процесс: клиент видит точную цену и выбирает ПВЗ, заказ сам уходит в службу и возвращается трек-номером, статусы обновляются вебхуками, а данные согласованы с учётом в 1С. Такая интеграция убирает ручной труд менеджеров, ошибки в адресах и звонки «где посылка».
Начните с порядка в весогабаритах и расчёта, добавьте выбор ПВЗ и автосоздание заказа, а затем свяжите доставку с учётной системой. Тогда СДЭК станет не головной болью, а тихо работающей частью вашего магазина.