Автоматизация · 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.
Настройка официального модуля СДЭК в типовой 1С
Порядок установки зависит от конфигурации, но общая логика одинакова. Модуль загружается с официального ресурса СДЭК в виде файла поставки или расширения. Перед установкой обязательно сделайте резервную копию информационной базы — это стандартное правило любого изменения конфигурации.
После установки в интерфейсе появляется раздел настроек интеграции со СДЭК. В него вводятся учётные данные API: идентификатор аккаунта и секретный ключ. Далее указывается город отправления по умолчанию, склад-отправитель из справочника складов 1С и соответствие между способами доставки в 1С и тарифами СДЭК (склад–склад, склад–дверь и другие).
Отдельно настраивается сопоставление статусов: какому статусу заказа в 1С соответствует «принят курьером», «в пути», «вручён», «отменён». Корректное сопоставление важно для последующей автоматики — например, чтобы по факту вручения заказ в 1С автоматически переводился в состояние «Доставлен» и закрывался.
- 1Получите в личном кабинете СДЭК идентификатор аккаунта и секретный ключ API
- 2Сделайте резервную копию информационной базы 1С
- 3Установите модуль СДЭК через загрузку расширения или обновление конфигурации
- 4Введите API-ключи в настройках интеграции и проверьте соединение
- 5Укажите город отправления, склад-отправитель и соответствие тарифов
- 6Настройте сопоставление статусов доставки со статусами заказов в 1С
- 7Создайте тестовый заказ и отправьте его в СДЭК
- 8Проверьте, что накладная появилась в личном кабинете СДЭК, а статус вернулся в 1С
Подключение через API СДЭК собственной разработкой
Если модуль не подходит, обмен реализуется напрямую. Авторизация выполняется POST-запросом к токен-эндпоинту API с параметрами grant_type, client_id (Account) и client_secret (Secure key). В ответ возвращается токен доступа с ограниченным временем жизни — его нужно кэшировать и обновлять по истечении, а не запрашивать заново при каждом обращении.
Основные операции: создание заказа (передача отправителя, получателя, тарифа, габаритов и веса мест), запрос квитанции и этикетки в PDF, получение информации по заказу и регистрация подписки на изменение статусов через webhook. Для статусов удобнее всего настроить webhook: СДЭК сам отправляет уведомление на указанный адрес при смене статуса, что избавляет от постоянного опроса API.
Из 1С запросы выполняются через объект HTTPСоединение с защищённым соединением. Учитывайте, что на сервере 1С должны быть корректно настроены сертификаты для TLS, иначе соединение будет отклоняться с ошибкой проверки сертификата.
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: при массовой загрузке заказов делайте паузы между запросами, иначе получите временный отказ в обслуживании.
Ограничение всех готовых решений — они не заменяют бизнес-процесс. Интеграция передаёт данные, но не решает, какой тариф выбрать, как упаковать груз и что делать при частичном возврате. Эти правила нужно описать и, при необходимости, реализовать доработкой.
Когда стоит привлечь специалиста
Самостоятельная настройка оправдана, если у вас типовая конфигурация, стандартные сценарии доставки и есть пользователь с правами администратора, готовый действовать по инструкции. Установка модуля и ввод ключей в этом случае занимает несколько часов.
Специалист по 1С нужен, когда конфигурация доработана, требуется нестандартная логика (автовыбор тарифа, мультискладская отгрузка, обмен возвратами), либо интеграция строится напрямую через API. Также к специалисту стоит обратиться, если обмен ранее работал, но после обновления конфигурации или смены версии API перестал — самостоятельный разбор чужого кода обычно занимает больше времени.
Как выбрать действие
Что важно запомнить
Интеграция строится на API-ключах из личного кабинета СДЭК. Для типовых конфигураций достаточно официального модуля, для остальных — прямой обмен через REST API. Всегда делайте резервную копию перед установкой, отлаживайтесь на тестовом контуре и проверяйте работу регламентного задания обновления статусов.
Частые вопросы
Работает ли интеграция СДЭК с 1С:Бухгалтерией?
Официальный модуль ориентирован на торговые конфигурации — УТ, УНФ, ERP, где есть документы отгрузки и способы доставки. В 1С:Бухгалтерии таких объектов нет, поэтому штатная интеграция не предусмотрена; обычно заказы ведут в торговой конфигурации, а в бухгалтерию выгружают только финансовые документы.
Сколько стоит интеграция 1С и СДЭК?
Сам официальный модуль и доступ к API СДЭК бесплатны — вы оплачиваете только услуги доставки по договору. Затраты возникают, если нужен разработчик для внедрения модуля в доработанную конфигурацию или создания собственного обмена через API.
Почему заказ не уходит в СДЭК и выдаёт ошибку адреса?
СДЭК проверяет адрес по собственному справочнику городов и улиц. Ошибка возникает, если город написан с сокращениями, опечаткой или адрес содержит нестандартные элементы. Исправьте адрес в заказе по подсказке справочника СДЭК и отправьте повторно.
Можно ли автоматически выбирать самый дешёвый тариф?
В типовом модуле выбор тарифа обычно выполняет менеджер или он фиксируется в настройках. Автоматический подбор по стоимости возможен через API: запрашивается расчёт по нескольким тарифам, и выбирается подходящий по цене и сроку — но это требует доработки.
Что делать, если статусы перестали обновляться?
Проверьте три вещи: активно ли регламентное задание обмена, не истёк ли токен или не перевыпущены ли API-ключи, и не изменилась ли версия API, с которой работает ваш модуль. В большинстве случаев причина находится на первом или втором шаге.
Нужен ли отдельный договор для работы через API?
Нет, достаточно стандартного договора со СДЭК. Доступ к API и генерация ключей выполняются в личном кабинете без дополнительных соглашений.