Как интегрировать Wildberries, Ozon и AliExpress с 1С:WMS Логистика через API?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Торговля и дистрибуция
← На главную

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

Выбор архитектурной схемы интеграции

Перед началом кодинга проанализируем ситуацию и выберем одну из двух основных стратегий интеграции. Ошибка на этом этапе может привести к рассинхронизации остатков и штрафам от маркетплейсов.

  1. Схема «Маркетплейс — КИС — WMS»: Это классический вариант. Корпоративная информационная система (например, 1С:ERP или 1С:УТ) забирает заказы по API, создает документы «Заказ клиента», которые затем транслируются в WMS как «Ожидаемая отгрузка». Преимущество: единый финансовый и партионный учет.
  2. Схема «Маркетплейс — WMS напрямую»: Применяется в фулфилмент-центрах (3PL). Заказы падают сразу в WMS для максимальной скорости сборки. Преимущество: минимальные задержки, что критично для модели FBS с коротким окном отгрузки.

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

Работа с API Wildberries (v3) и Ozon

Проанализируем технические нюансы работы с API. Современные маркетплейсы используют REST API с авторизацией через токены (JWT). Для 1С это означает работу с объектами HTTPЗапрос и HTTPСоединение.

Рассмотрим пример функции для получения новых сборочных заданий (заказов) с Wildberries:


Функция ПолучитьНовыеЗаказыWB(ТокенАвторизации) Экспорт
    Соединение = Новый HTTPСоединение("suppliers-api.wildberries.ru", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());
    
    Заголовок = Новый Соответствие;
    Заголовок.Вставить("Authorization", ТокенАвторизации);
    Заголовок.Вставить("Content-Type", "application/json");
    
    Запрос = Новый HTTPЗапрос("/api/v3/orders/new", Заголовок);
    Ответ = Соединение.Получить(Запрос);
    
    Если Ответ.КодСостояния = 200 Тогда
        Возврат Ответ.ПолучитьТелоКакСтроку();
    Иначе
        ЗаписатьЛогОшибки("Ошибка API WB: " + Ответ.КодСостояния);
        Возврат Неопределено;
    КонецЕсли;
КонецФункции

Важный момент: Wildberries и Ozon имеют лимиты на количество запросов (Rate Limits). Если ваша WMS будет опрашивать API каждую секунду, вы получите временную блокировку IP-адреса. Рекомендуем реализовать очередь запросов или использовать регламентные задания с интервалом в 2-5 минут.

Специфика складских процессов в WMS

Выясним причину, почему обычные обработки обмена для «1С:Управление торговлей» не подходят для 1С:WMS без доработки. В WMS нам недостаточно просто создать документ. Нам нужно:

Синхронизация остатков и предотвращение оверселлинга

Посмотрим на ситуацию со стороны складских остатков. Для маркетплейса критично знать «Доступный остаток». В 1С:WMS остаток в ячейках (адресный контур) может отличаться от учетного остатка. Рассмотрим формулу правильного расчета остатка для выгрузки:

Доступно для продажи = Свободный остаток в кондиционных ячейках - Резерв по принятым заказам - Товар в зоне брака.

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

Реализация печати этикеток

Рассмотрим подробнее процесс получения этикетки. Wildberries через метод /api/v3/orders/stickers возвращает данные стикера. Если вы получаете строку в Base64, её нужно преобразовать в двоичные данные:


ДвоичныеДанныеЭтикетки = Base64Значение(СтрокаBase64ИзAPI);
ИмяФайла = ПолучитьИмяВременногоФайла("pdf");
ДвоичныеДанныеЭтикетки.Записать(ИмяФайла);
// Далее используем средства компоненты печати или внешние утилиты для отправки на принтер

Обработка возвратов (Reverse Logistics)

Это самый сложный блок. При поступлении возврата от Wildberries, складской оператор сканирует этикетку маркетплейса. WMS должна найти исходный заказ, определить товар и создать документ «Приход излишка» или «Возврат от клиента» в статусе «Зона карантина». После проверки качества (отсутствие повреждений, вскрытой упаковки) товар перемещается в зону отбора для повторной продажи.

Резюмируем: Интеграция 1С:WMS с маркетплейсами — это не только работа с JSON и HTTP-запросами, но и глубокая настройка складской логики. Для небольших складов используйте схему через КИС, для крупных фулфилмент-центров — пишите прямой обмен с API, учитывая специфику адресного хранения и жесткие требования площадок к скорости обработки заданий.

← На главную