Блог

Интеграция со СДЭК: комментарии очевидцев 11 ноября 2015

На сегодняшний день СДЭК – динамично развивающаяся компания федерального уровня, один из лидеров рынка экспресс-доставки. СДЭК имеет более 300 подразделений и представительств по всей России, Казахстане, Беларуси и Китае.
Delivia – единое интеграционное решение для работы в одном окне (Web или API) со многими службами доставки. Сервис автоматизирует все стадии доставки от отгрузки до аналитики, работая только с данными. В формате открытого бета-тестирования мы предлагаем вам попробовать сделать отгрузки в СДЭК через Delivia. Процесс регистрации займет не более 5 минут, и это бесплатно. Присылайте отзывы на info@delivia.ru. Мы исправим обнаруженные вами недочеты.

I. Знакомство со СДЭК

API


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


Оба документа хорошо структурированы, по оглавлению можно быстро найти нужную информацию. Документация доступна на сайте в открытом доступе, и есть версия на английском языке. В начале каждого документа ведется раздел управления документом с данными по внесенным изменениям.
Данные запросов для калькулятора можно передавать в форматах JSON или xml, для остальных функций API – только xml. Для калькулятора доступны примеры интеграций на php и на javascript'е, что существенно облегчает работу. Те, кто используют php или js могут интегрировать калькулятор на сайт с минимальными затратами.
Для доступа к API используется login (в терминологии СДЭК - account) и пароль, отличный от тех, которые вводятся в личном кабинете. Для получения доступа к API требуется дополнительно запросить техподдержку СДЭК. Пароль передается при запросе в формате шифрования MD5 и состоит из секретного кода, предоставляемого СДЭКом, и датой отправки запроса. Дата выступает в качестве SALT, что повышает защищенность переданного пароля от взлома путем перебора вариантов.
Тестовый и рабочий серверы совмещены (обращаемся по одному и тому же адресу), и доступ к ним разделяется по логину и паролю. Есть запасной сервер API, на который нужно посылать запросы в случае недоступности основного, что повышает надежность.
Мы сделали интеграцию по стандартному процессу отгрузки заказов, который можно условно разделить на этапы, описанными ниже.


Особенности бизнес-процесса СДЭК


В процессе общения с различными специалистами СДЭК мы обратили внимание, что процессы документооборота (мы остановимся на них ниже) в большей степени отлажены под b2b-сегмент доставки грузов, и это сказывается на терминологии и логике взаимодействия, несмотря на то, что работа с интернет-магазинами – это одно из основных направлений бизнеса.
Тем не менее, работа проходила с различными специалистами компании достаточно эффективно, техническая поддержка старалась ответить на все возникающие вопросы и разъяснить особенности подходов СДЭК к управлению доставкой.

II. ДО доставки

Получение географии


Список городов предоставляется в xls-файле, что затрудняет поддержание географии СДЭК в актуальном состоянии. Идентификатор города – это id СДЭК. На текущий момент база не нормализована, то есть, нет никаких «привязок», кроме географических названий города и региона.
Информация по пунктам самовывоза не содержит данных по некоторым ограничениям, которые важны для своевременного распознавания условий и опций, например, возможные способы оплаты для данного ПВЗ, возможности частичной приемки и прочих услуг, информация о режимах работы не стандартизована, что может затруднить её автоматическое распознавание.


Получение срока и стоимости доставки


Данные по сроку и стоимости доставки отправления предоставляются по одному запросу. При этом есть дополнительная возможность возвращать массив данных по срокам и стоимости в ракурсе допустимых для Клиента тарифов.
Запрос должен содержать относительно стандартные данные:
- Коды города отправителя и города получателя (либо достаточно указать соответствующие индексы)
- Код тарифа, по которому должны вернуться данные по срокам и стоимости (либо перечень допустимых для Заказчика кодов тарифов с приоритетами для получения списка стоимостей и сроков)
- Обязательно указание весогабаритных характеристик отправления (от их точности будет зависеть корректность ответа)
Возвращаются минимально возможные и максимально допустимые периоды доставки в виде количества дней доставки и соответствующие (мин/макс) даты доставки.
Если при вводе запроса вы указали данные своей авторизации (account и secure_password), то калькулятор выдаст расчет стоимости доставки с учетом условий вашего договора со СДЭК (например, с учетом скидки).

Мы выделяем следующие положительные моменты:
- Информация о стоимости и сроки доставки предоставляется по одному запросу с указанием интервала доставки по количеству дней и датам
- Авторизованные пользователи получают расчёт с учётом условий индивидуального договора

Вместе с тем, мы выявили и ряд особенностей, которые хотелось бы улучшить:
- Калькулятор не учитывает дополнительную стоимость РКО и страховки
- Система не отображает размер НДС
- Нельзя включить в расчёт стоимость дополнительных услуг
Таким образом, на данный момент возвращённые данные значительно отличаются от финальной стоимости.


Работа с отправлениями


1) Ограничения для загрузки отправлений

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

2) Возможность изменения созданного заказа

Для уже созданного заказа с помощью вызова функции "Прозвон получателя" можно изменить следующие параметры:

1) Расписание доставки
2) Реквизиты получателя (контактное лицо, адрес доставки, телефон);
3) Суммы по оплате за товар, доставку.
3) Работа с доп.услугами

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

3) Печать ШК и подготовка отгрузочных документов

Штрихкодом является номер накладной, который выдается СДЭКом после успешного создания заказа.

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

4)Тарифы на дополнительные услуги

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

5) Вызов курьера

Вызов курьера доступен через API. Отмены вызова по API нет.

6) Отмена заказов

Отмена заказов/отправлений возможна через API, если они находятся в статусе "создан". Отмена заказов с последующими статусами не предусмотрена.

III. Во время доставки

Статусы

Система статусов СДЭК отличается подробной и понятной логикой организации. Есть порядка 20 основных статусов движения заказов и 27 дополнительных статусов, детализирующих конечное состояние приемки заказа покупателем (вручен/не вручен). Кроме этого, в случае, если были задержки доставки, можно формализовать причину через одно из 36 предопределенных значений. Все вышеперечисленное предоставляет возможность пользователю сервисом получить хорошую детализацию статусов движения (прямого и обратного), состояния приемки заказа и причин задержки доставки, если они имели место быть.


Получение истории по заказу

История по заказу содержит полный список изменений статуса посылки с временной детализацией, что встречается не всегда.
Информационное сопровождение возврата
Особенность системы трекинга в СДЭК в том, что статусы прямого и обратного движения имеют одинаковую логику в соответствии со списком «основных» статусов. Для того чтобы различить «прямое» и «обратное» движение заказа (отправления), в случае возврата создается новое отправление, номер по которому создается в отдельном поле ReturnDispatchNumber. При наличии в этом поле номера «возвращаемого» отправления все основные статусы трекинга трактуются как статусы возврата.

IV. Коммуникации

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

V. Итог

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

- получить корректные данные по срокам доставки и приблизительные – по стоимости
- передать данные по отправлениям с указанием дополнительных услуг и получить уникальный номер накладной, которая может использоваться в качестве приемо-передаточного документа и номер которой является основой учета отправления у ИТ-системе СДЭК
- сформировать требуемый пакет документов, сопровождающих доставку
- получать детальный трекинг движения отправлений, данные по приемке отправлений, причинам не вручения отправлений и задержек в доставке
- система оповещения покупателей своевременно известит о начале движения отправления и о передаче отправления курьеру или ПВЗ

В целом, техническая часть API-интеграции проходит без каких-либо сложностей и в короткие сроки, поэтому наибольшее внимание компании стоит уделить организации документооборота с учетом особенностей интернет-бизнеса (массовая передача заказов, привычный процесс актирования и так далее).

Сервис доставки

Текущее состояние

Тестовый сервер

Совмещен с рабочим (есть резервный сервер)

Сроки доставки

Да

Калькулятор: Стоимость доставки

Да

Калькулятор: вознаграждение за наложенный платеж

Через API не передается

Калькулятор: страховка

Через API не передается

Индивидуальные тарифы

Через API

Вызов курьера

Через API

Отмена курьера

Нет

Отмена заказа

Да (статус «Создан»)

Общее количество статусов и состояний

47 + причины задержки доставки

Типизация (Группировка) статусов/

Линейный список

Линейный список основных статусов + дополнительная детализация двух конечных статусов. Отдельный список причин задержки доставки.

Количество типов/групп статусов и состояний

2 +1 (причины задержки)

Информирование

e-mail/смс


Последние записи в блоге
Новые возможности: интеграция Delivia и RetailCRM.
13 февраля 2017 Новые возможности: интеграция Delivia и RetailCRM.

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

Pult.ru об опыте использования Delivia
08 февраля 2017 Pult.ru об опыте использования Delivia

Операционный директор Pult.ru Алексей Гладких рассказал об автоматизации логистических процессов и опыте использования Delivia.

Опыт интеграции с API Почты РФ
16 ноября 2016 Опыт интеграции с API Почты РФ

Почта России – федеральный почтовый оператор, входит в перечень стратегических предприятий РФ. Недавно Почта РФ выпустила API по загрузке отправлений и печати документов. Мы провели интеграцию с этим API и готовы поделится опытом.