Рассказываем, как интегрировали интернет-магазин со службой доставки СДЭК и доработали бизнес-процессы под интеграцию.
Привет! Мы — Creonit / digital production. Работаем с крупными компаниями из сферы ритейл и e-commerce, например с Faberlic, FixPrice, Coffee Like и другими. Мы часто помогаем клиентам наладить логистику. В этой статье поделимся опытом и расскажем о процессе интеграции со службой доставки СДЭК.
Интеграция интернет-магазина со СДЭК — важный шаг для улучшения эффективности и качества обслуживания клиентов. В чем её преимущества:
Плюсы не только для владельца интернет-магазина, но и для клиентов:
Крупный ритейлер. Больше 300 офлайн-магазинов в 7 регионах и интернет-магазин.
Предприятие занимается оптовой и розничной торговлей косметикой, парфюмерией, бытовой химией и хозяйственными товарами.
У заказчика была доставка товаров только почтой России, курьерами по городу и самовывоз из их собственных пунктов выдачи. Интеграция со СДЭК позволит:
Сроки были сжатые. Чтобы ускорить процесс интеграции, мы синхронизировали работу нескольких бэкенд-разработчиков (двух из Creonit и ещё одного со стороны заказчика). Разбили процесс интеграции на отдельные блоки, каждого из бэкендеров сделали ответственным за свою часть работ по интеграции. СДЭК предоставляет REST API для взаимодействия с их информационной системой. Сервис достаточно гибкий в плане интеграции.
Расскажем про детали интеграции.
Рассчитать стоимость доставки службой СДЭК можно в корзине интернет-магазина. Для этого необходимо добавить товары в корзину, выбрать способ доставки «СДЭК», указать город и способ доставки.
После этого на странице корзины появится информация о стоимости доставки (курьером и до пункта выдачи) и сроке доставки. Они вычисляются по специальному расчёту по коду тарифа на стороне СДЭК. Расчет стоимости доставки зависит от нескольких факторов, таких как вес и габариты товара, удаленность города доставки, выбранный способ доставки и т.д. Все эти параметры мы настроили и учитываем при расчете стоимости в интернет-магазине заказчика.
Мы настроили бэкенд интернет-магазина так, что габариты посылки он автоматически забирает из SAP. Если у товара указаны габариты — длина, ширина и высота, то в специальных атрибутах передаются их значения.
Для ситуаций, когда у посылки указаны не все габариты — например, указан объем, но нет ширины, мы предусмотрели расчёт габаритов по нескольким формулам. Формулы для дорасчёта данных мы используем, если у посылок указан:
При интеграции со СДЭК, необходимо учесть ряд факторов, чтобы обеспечить бесперебойную и эффективную доставку товаров. Рассмотрим этот процесс более подробно на примере логики формирования заказа в интернет-магазине нашего заказчика.
Мы настроили формирование заказа и его взаимодействие с Infor. Ниже расскажем по шагам, как это происходит.
Когда пользователь добавляет товары в корзину, в ней происходит калькуляция заказа — расчет сроков и стоимости доставки заказа через СДЭК в указанный ПВЗ или по адресу покупателя. Затем информация поступает в Infor для сборки и упаковки заказа.
Когда покупатель оформляет заказ в интернет-магазине, необходимо убедиться, что он указал корректную информацию о доставке. Системе важно проверить правильность адреса доставки, выбранного способа доставки, а также сроки доставки. Это поможет избежать задержек и ошибок при доставке товаров.
После упаковки, CMS создает заказ в ИС СДЭК с данными (куда доставить, кто получатель, какие товары, сколько коробок). Затем CMS запрашивает маркировочные этикетки в СДЭК на заказ, который был упакован. CMS передает этикетки в Infor. Infor маркирует каждую коробку заказа специальной этикеткой СДЭК.
После оформления заказа, интернет-магазин должен подготовить товары к отправке. Необходимо заполнить все необходимые документы, упаковать товары и подготовить их к отправке.
Следующим шагом, оператор подготавливает маршрутный лист с заказами, которые необходимо передать в СДЭК для дальнейшей доставки. Оператор по необходимости может либо вызвать курьера СДЭК (через интерфейс CMS), либо отправить собственного курьера интернет-магазина для передачи заказов в СДЭК. Infor отгружает заказы курьеру.
Когда товары готовы к отправке, интернет-магазин передает их в доставку СДЭК. Необходимо убедиться в правильности заполнения всех документов и надежности упаковки. Важно также указать правильный вес и размеры товаров, чтобы была рассчитана точная стоимость доставки.
После отгрузки заказа, CMS начинает опрашивать API СДЭК о статусе заказа через определенные промежутки времени и обновлять статус доставки в CMS. При получении конечного статуса (Заказ доставлен) CMS завершает заказ. В случае отмены или возврата товара, оператор производит отмену и проводит возврата самостоятельно.
Нам нужно было реализовать возможность формировать заказ с даркстор-склада в области его обслуживания для одного из городов. Если полный состав корзины присутствует на остатках даркстор-склада в области его обслуживания, то формирование заказа именно происходит с него. Если одного товара нет на остатке склада и другого товара нет в наличии в интернет-магазине, то формирование заказа уходит на склад интернет-магазина. Товар, которого нет в наличии и в нём, не доступен к заказу.
1. Оформление и упаковка заказа
Когда пользователь оформляет заказ, он формируется из остатков даркстор-склада. Затем сотрудник начинает упаковывать заказ. Если все товары есть в дарксторе, то он указывает в CMS, что заказ полностью набран. Если какие-то товары отсутствуют — то набран частично. Затем он переводит отгрузку в статус «Готов к доставке».
2. Формирование и отправка заказа в СДЭК
Формируем заказ в СДЭК, затем штрих-код (этикетку) для него. Заказ сохраняется в системе и его можно посмотреть в административной панели или в окне редактирования маршрутного листа, если нужно что-то проверить.
Затем оператор формирует курьерский маршрутный лист, где указан метод доставки (курьером или до пункта выдачи) и статус отгрузки ( упакован / отгружен / готов к доставке).
Когда оператор запускает маршрутный лист в работу, мы, со стороны системы, одновременно запрашиваем создание преалерта в СДЭК.
Преалерт — реестр заказов, которые клиент собирается передавать на склад СДЭК для дальнейшей доставки.
Если необходимо отправить товары на склад приема СДЭК курьером, нажимает на кнопку «Отправить курьером СДЭК». Если была сформирована заявка на вызов курьера СДЭК, то раз в 60 минут получаем в CMS информацию о заявке. Если была произведена отмена заявки курьера, то перестаем получать информацию о заявке.
Затем оператор успешно отправляет товар в доставку.
3. Маркировка и доставка
Сотрудник даркстор-склада маркирует коробки, затем заказы передаются курьеру. Оператор отгружает заказы в маршрутный лист, автоматически в Set Kit формируется чек на даркстор-склад.
Дальше оператор запускает маршрутный лист в доставку.
На бэкенде обновляем статус отгрузки: Упакован -> Отгружен -> Готов к доставке -> Передан в доставку. Запрашиваем статус заказа в СДЭК с периодичностью 60 минут. А при получении конечного статуса «Доставлен», завершаем отгрузку и заказ, при получении отмены в СДЭК — не отменяем отгрузку и заказ, отмену будет производить оператор вручную.
Мы доработали административную панель, теперь формируем необходимые документы по заказам через СДЭК в дополнительном разделе в «Заказах». С его помощью можно смотреть все акты и этикетки в едином окне. Добавили возможность по одному нажатию кнопки распечатать этикетки на каждый заказ (их может быть несколько) из маршрутного листа.
Мы интегрировали интернет-магазин со СДЭК. Внедрили дополнительный способ доставки для заказов из интернет-магазина и расширили географию доставки заказов для клиентов.
Больше контента с интересными кейсами, решениями, лайфхаками и материалами о ведении проектов в IT можно прочитать в нашем телеграм-канале. Присоединяйтесь!