Новости

Кейс сложности интеграции интернет-магазина со всеми сервисами от Бета ПРО

Рост тарифов, штрафов и рисков на маркетплейсах заставляет продавцов искать альтернативу: собственные интернет-магазины, нишевые площадки и независимый фулфилмент.

По данным материала, за последние два месяца спрос на сторонний фулфилмент вырос в 10 раз год к году.

👉 Главная проблема начинается после ухода с маркетплейса
Нужно связать сразу несколько систем: сайт, CRM, склад, доставку, платежи и Честный знак.

В одном из проектов Оси бизнеса интернет-магазин на WooCommerce связали с Бета ПРО, Яндекс Доставкой и системой маркировки.

Все данные пришлось вести через один портал. Иначе разные сервисы начинали хранить разные версии одного заказа.

👉 Даже поле «количество» может работать по-разному
На складе Бета ПРО одна строка заказа означала одну физическую единицу товара.

Если покупатель заказал четыре одинаковых товара, системе нужно было передать четыре отдельные строки.

Это оказалось важно и для Честного знака: каждой единице нужен собственный код маркировки.

👉 С доставкой возникла другая проблема
Если после создания заявки происходил сбой, повторный запрос мог создать еще одну заявку.

Поэтому идентификатор Яндекс Доставки стали сохранять сразу после успешного ответа, а не после завершения всей операции.

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

Финальный статус поэтому оставили под контролем менеджера.

👉 Главный урок
Своя логистика дает продавцу больше независимости от маркетплейса, но требует хорошо связать между собой все сервисы.

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

Поэтому пилотный заказ лучше провести как можно раньше и вручную проверить весь путь: оплата, склад, маркировка, доставка и возврат.

Подробнее

Логистика вне маркетплейса: как селлеру не потерять заказы

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

Поэтому все больше продавцов ищут способы диверсифицировать каналы сбыта и выстраивать собственную логистическую инфраструктуру. Создание интернет-магазина, подключение нишевых маркетплейсов и работа с независимыми фулфилмент-операторами становятся не просто трендом, а вынужденной стратегией. За последние два месяца спрос на услуги стороннего фулфилмента вырос в 10 раз по сравнению с аналогичным периодом прошлого года.

Однако переход на собственную логистику — это не только новые возможности, но и дополнительные вызовы. Чтобы интернет-магазин работал как единая система, необходимо связать сайт, склад, службу доставки и систему маркировки.

Пять систем, одна версия данных

Рассмотрим реальный пример связки от интегратора «Ось бизнеса»: интернет-магазин на WooCommerce, склад фулфилмента «Бета ПРО», доставка через «Яндекс Доставку» и маркировка «Честный знак». В процессе участвуют пять независимых систем:

Сайт — точка входа для покупателя.

Внутренний портал, или CRM, — управляет заказами, чеками, статусами и кодами маркировки.

Склад фулфилмента — хранит товар и выполняет сборку и отгрузку.

Служба доставки — формирует заявки, генерирует этикетки и трек-номера.

«Честный знак» — контролирует оборот маркированных товаров через ОФД.

Первоначально команда проекта попыталась использовать промежуточное звено между системами, но это привело к появлению двух параллельных версий данных о заказе. В результате стало сложно определить, какой статус является актуальным. От такой прослойки отказались и создали иное архитектурное решение: все внешние коммуникации идут через один портал, а не через отдельный коннектор. То есть портал выступает единым диспетчером.

Два API склада: почему интеграции нужна гибкость

Приступая к интеграции с «Бета ПРО», столкнулись с тем, что в компании есть два поколения API.

Основной REST API /grh/api с Basic-авторизацией и старый XML-сервис /wsrv. Авторизация там устроена иначе: логин и пароль передаются в теле запроса, а ответ содержит признак state: 0 — успех, -1 — ошибка с полным откатом. Необходимо было изучить оба и подобрать нужный.

Трактовка количества

Одна из важных несостыковок возникла из-за различий в понимании поля «количество» и связана с особенностью модели данных фулфилмента. В систему отправлялась позиция с артикулом и количеством «2 шт.». Склад в своем интерфейсе показывал заказ как две единицы, но физически отгружал только одну.

Выяснилось, что в заданиях «Бета ПРО» атрибут количества игнорируется: каждая строка всегда соответствует одной товарной единице. Если нужно отгрузить четыре штуки, необходимо создать четыре отдельные строки. Это важно и для дальнейшего получения кода маркировки на каждую единицу товара.

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

Заявки-призраки в доставке

При создании заявки в «Яндекс Доставке» портал сначала отправлял запрос, а затем, после успешного завершения всего цикла, сохранял идентификатор заявки. Если на промежуточном шаге происходил сбой, повторная попытка создавала новую заявку, а первая оставалась «висеть» без привязки.

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

Возвраты, о которых портал не узнает

Возврат — это самостоятельный объект учета. И когда заказ возвращался на склад, оператор оформлял отдельный документ возврата в своей системе, и портал не связывал его с заказом на доставку. Заказ продолжал числиться доставленным.

Потребовалось доработать складской API для регулярного опроса на наличие документов возврата.

В интеграции было предусмотрено, что любой промежуточный возвратный статус от «Яндекс Доставки» автоматически переводит заказ в состояние «Возвращается». При этом автоматическая установка финального статуса «Возврат» была отключена.

Причина связана с реальной операционной практикой. Менеджер может принять решение не принимать возвращенную посылку на склад, а сразу отправить замену за счет компании. В таком случае заказ должен оставаться в статусе «Возвращается», пока человек не примет окончательное решение. Автоматический перевод в статус «Возврат» нарушал бы ручное управление процессом.

Когда оплата прошла, но система об этом не узнала

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

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

Маркировка: почему коды нужно проверять до отгрузки

Коды «Честного знака» приходят от склада вместе с отгрузочными документами — строго по одному коду на каждую товарную единицу. Портал должен проверить их полноту и передать данные в чек через ОФД.

Здесь правило «одна строка — один код» имеет решающее значение: без разбивки позиций с количеством больше одной единицы чек не пройдет фискализацию.

При работе со сторонним складом нужно отдельно проверять, что все коды маркировки пришли и указаны корректно.

Что нужно выяснить у фулфилмент-оператора до старта

Опыт проекта позволяет сформулировать контрольный список вопросов для любого фулфилмент-оператора:

— какие API-интерфейсы доступны и не используются ли устаревшие версии для критически важных операций;

— как обрабатывается количество товара в заказе: поддерживается ли несколько единиц в одной позиции;

— в каком формате передаются коды маркировки: в ответе метода, отдельном файле или через личный кабинет;

— как система информирует о возвратах: через событие или через периодический опрос списка документов;

— кто управляет итоговыми статусами доставки — автоматика или менеджер, и возможен ли ручной оверрайд;

— что происходит при повторном запросе: создается новый объект или возвращается уже существующий.

Эти вопросы помогают избежать большинства проблем, которые обычно проявляются на первом живом заказе.

Интеграция — это согласование разных моделей данных

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

У «Бета ПРО» — эволюционная архитектура с двумя API. У «Яндекс Доставки» — собственная логика статусов. У «Честного знака» — строгие правила передачи данных. У WooCommerce — своя модель заказа.

Задача интегратора — не «исправить» эти системы, а заранее выявить и согласовать их модели данных. Самый надежный способ — как можно раньше провести пилотный заказ и внимательно проследить каждый шаг. Именно на боевых данных проявляются несоответствия, которые не видны в документации и тестовых средах.

 

Добавить комментарий