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