К статье
Практический материал

Автоматизация · 12 мин

Интеграция 1С и СДЭК: как настроить обмен данными

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

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

Существует несколько способов связать 1С и СДЭК: официальный модуль интеграции для типовых конфигураций, подключение напрямую через API СДЭК собственной разработкой и готовые внешние обработки от сторонних разработчиков. Выбор зависит от вашей конфигурации (УТ 11, УНФ, ERP, самописная), объёма отправлений и наличия разработчика.

Ниже разобраны все три подхода, пошаговая настройка подключения, проверка корректности обмена и типичные ошибки, из-за которых заказы не уходят в СДЭК или статусы не возвращаются в 1С.

Что нужно подготовить перед настройкой

До начала работ убедитесь, что у вас есть договор со СДЭК и доступ в личный кабинет. Без действующего договора API-ключи не выдаются, а интеграция работать не будет. Если договора нет, сначала оформите его через сайт СДЭК или менеджера.

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

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

Выбор способа интеграции: модуль, API или внешняя обработка

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

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

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

Сравнение вариантов

Официальный модуль СДЭК

Подходит для типовых УТ 11, УНФ, ERP без доработок. Бесплатен, но ограничен типовыми сценариями.

Прямое подключение через API

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

Сторонняя внешняя обработка

Быстрый старт без снятия с поддержки. Риск — зависимость от разработчика обработки и несовместимость с новыми версиями API.

Настройка официального модуля СДЭК в типовой 1С

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

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

Отдельно настраивается сопоставление статусов: какому статусу заказа в 1С соответствует «принят курьером», «в пути», «вручён», «отменён». Корректное сопоставление важно для последующей автоматики — например, чтобы по факту вручения заказ в 1С автоматически переводился в состояние «Доставлен» и закрывался.

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

Подключение через API СДЭК собственной разработкой

Если модуль не подходит, обмен реализуется напрямую. Авторизация выполняется POST-запросом к токен-эндпоинту API с параметрами grant_type, client_id (Account) и client_secret (Secure key). В ответ возвращается токен доступа с ограниченным временем жизни — его нужно кэшировать и обновлять по истечении, а не запрашивать заново при каждом обращении.

Основные операции: создание заказа (передача отправителя, получателя, тарифа, габаритов и веса мест), запрос квитанции и этикетки в PDF, получение информации по заказу и регистрация подписки на изменение статусов через webhook. Для статусов удобнее всего настроить webhook: СДЭК сам отправляет уведомление на указанный адрес при смене статуса, что избавляет от постоянного опроса API.

Из 1С запросы выполняются через объект HTTPСоединение с защищённым соединением. Учитывайте, что на сервере 1С должны быть корректно настроены сертификаты для TLS, иначе соединение будет отклоняться с ошибкой проверки сертификата.

http
POST /v2/oauth/token?grant_type=client_credentials&client_id=ACCOUNT&client_secret=SECURE_KEY HTTP/1.1
Host: api.cdek.ru
Content-Type: application/x-www-form-urlencoded

Передача заказов, печать этикеток и получение статусов

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

После успешного создания в 1С возвращается номер накладной (трек-номер). Он сохраняется в документе и может автоматически отправляться клиенту письмом или SMS. Печать этикетки выполняется запросом PDF-квитанции из модуля или через API — этикетку наклеивают на короб перед передачей курьеру или в пункт приёма.

Статусы при использовании модуля обновляются регламентным заданием: 1С периодически опрашивает API по списку активных накладных. Проверьте, что регламентное задание включено и выполняется без ошибок — отключённое задание выглядит как «статусы не приходят», хотя обмен настроен верно.

Контрольные точки

Как проверить результат

Создание заказа
Норма

Накладная появилась в личном кабинете СДЭК с корректным адресом и тарифом

Тревожный признак

Ошибка валидации адреса или заказ не виден в кабинете

Обновление статусов
Норма

Статус в 1С меняется в течение разумного времени после изменения в кабинете СДЭК

Тревожный признак

Статус в 1С не меняется сутками — проверяйте регламентное задание и токен

Печать этикетки
Норма

PDF открывается, штрихкод читается, номер совпадает с накладной

Тревожный признак

Пустой PDF или ошибка при запросе квитанции

Типичные ошибки и ограничения интеграции

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

Отдельный класс проблем — блокировка на уровне сети. Если 1С работает на сервере в локальной сети, файрвол или прокси могут резать исходящие HTTPS-запросы к API СДЭК. Проверяется простым запросом с сервера к адресу API. Также учитывайте лимиты API: при массовой загрузке заказов делайте паузы между запросами, иначе получите временный отказ в обслуживании.

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

Типичные ошибки
01
Настройка сразу в боевом контуре без тестового заказа — реальные отправления создаются с ошибками в адресах и тарифах
02
Отключённое регламентное задание обновления статусов — в 1С заказы «зависают» в пути, хотя давно вручены
03
Хранение секретного ключа в открытом виде в коде общего модуля — ключ попадает в выгрузки конфигурации и к третьим лицам
04
Игнорирование валидации адреса — СДЭК отклоняет заказ, а менеджер считает, что отправление создано
05
Использование устаревшей версии модуля после смены версии API — обмен внезапно перестаёт работать

Когда стоит привлечь специалиста

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

Специалист по 1С нужен, когда конфигурация доработана, требуется нестандартная логика (автовыбор тарифа, мультискладская отгрузка, обмен возвратами), либо интеграция строится напрямую через API. Также к специалисту стоит обратиться, если обмен ранее работал, но после обновления конфигурации или смены версии API перестал — самостоятельный разбор чужого кода обычно занимает больше времени.

Маршрут решения

Как выбрать действие

Типовая УТ 11, УНФ или ERP без доработокУстановите официальный модуль СДЭК и настройте по инструкции
Самописная или сильно доработанная конфигурацияПланируйте интеграцию через API с привлечением разработчика
Нужен быстрый старт без изменения конфигурацииРассмотрите внешнюю обработку-расширение, проверив поддержку актуальной версии API
Обмен работал и внезапно сломалсяПроверьте срок жизни токена, актуальность ключей и версию модуля
Итог

Что важно запомнить

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

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

Работает ли интеграция СДЭК с 1С:Бухгалтерией?

Официальный модуль ориентирован на торговые конфигурации — УТ, УНФ, ERP, где есть документы отгрузки и способы доставки. В 1С:Бухгалтерии таких объектов нет, поэтому штатная интеграция не предусмотрена; обычно заказы ведут в торговой конфигурации, а в бухгалтерию выгружают только финансовые документы.

Сколько стоит интеграция 1С и СДЭК?

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

Почему заказ не уходит в СДЭК и выдаёт ошибку адреса?

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

Можно ли автоматически выбирать самый дешёвый тариф?

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

Что делать, если статусы перестали обновляться?

Проверьте три вещи: активно ли регламентное задание обмена, не истёк ли токен или не перевыпущены ли API-ключи, и не изменилась ли версия API, с которой работает ваш модуль. В большинстве случаев причина находится на первом или втором шаге.

Нужен ли отдельный договор для работы через API?

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