Начать проект

Обсудим проект?

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

Отправлено!

Спасибо за заявку, мы свяжемся с вами в ближайшее время!

Интеграция с маркетплейсами: остатки, цены и заказы без ручной работы в кабинетах

Интеграция с маркетплейсами: обмен товарами, остатками, ценами и заказами между складом и площадками

Менеджер с утра открывает три кабинета и правит остатки руками. К обеду один товар продан дважды, а вечером выясняется, что акция площадки увела цену ниже себестоимости. Мы в Code Pilots делаем обмен данными под процесс заказчика, и площадки в этом смысле самый требовательный партнёр: их правила меняются без предупреждения.

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

Ломается такой обмен в двух местах. На лимитах вызовов и на том, что заказ меняет статус быстрее, чем система его увидит.

Что входит в интеграцию

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

Обмен Направление Частота Чем платите за ошибку
Товары и карточки От вас на площадку При изменении, обычно раз в 15 минут Карточка не проходит модерацию, товар не продаётся
Остатки От вас на площадку Каждые 5–15 минут Двойная продажа, отмена, снижение рейтинга
Цены От вас на площадку При изменении Продажа ниже себестоимости или потеря позиции в поиске
Заказы С площадки к вам Опрос каждые несколько минут Просрочка сборки, штраф, падение видимости
Деньги С площадки к вам Раз в период, отчётами Расхождение в выплатах, которое находят через месяцы

Первые четыре обмена обычно и называют интеграцией. Пятый — сверку выплат — почти всегда оставляют на потом, а потом он оказывается самой трудоёмкой частью.

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

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

Что входит в интеграцию: товары и карточки, остатки, цены, заказы, деньги и сверка

Схемы работы и что они меняют

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

Схема Кто хранит и отгружает Что нужно от интеграции
FBO (у Ozon — Fulfillment by Ozon, у Яндекс Маркета — FBY, у Wildberries — склад площадки) Товар лежит на складе площадки, она же собирает и доставляет Поставки и приёмка, остатки читаем с площадки, заказы обрабатывать не нужно
FBS (у Wildberries — «Маркетплейс») Товар у вас, площадка доставляет Полный набор: остатки, заказы, сборка, этикетки, отгрузка в срок
DBS (у Ozon — realFBS, у Wildberries — «Витрина», у Яндекс Маркета — DBS и «Экспресс») Товар у вас, доставляете тоже вы То же плюс своя логистика и статусы доставки

Практический вывод один. При FBO интеграция простая, потому что заказами занимается площадка, а вы отдаёте товар партиями. При FBS и DBS появляется срок сборки, и любая задержка обмена превращается в просрочку и в санкции.

Схема влияет и на то, откуда система берёт остаток. При работе со склада площадки остаток читается у неё и своим складом не управляется; при работе со своего склада остаток считает ваша система и отдаёт его наружу. Один товар в двух схемах означает два разных источника остатка по одной и той же позиции.

Большинство селлеров работают в двух схемах одновременно: ходовое лежит на складе площадки, остальное отгружается со своего. Значит система должна вести один товар в двух схемах и не путать остатки между ними.

Единый остаток и двойные продажи

Главный операционный риск. Один физический склад продаёт в четыре канала — свой сайт и три площадки, — и каждый канал считает, что товар его.

Механика защиты состоит из трёх частей. Первая — единый источник остатка. Правду знает только одна система, остальные её получают. Вторая — буфер. На площадку уходит остаток минус страховой запас, и размер запаса зависит от скорости продаж товара. Третья — быстрая реакция: продажа в любом канале уменьшает остаток во всех остальных за минуты, не за час.

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

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

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

Остаток, отданный на площадку целиком, рано или поздно продадут дважды. Разница между физическим и переданным запасом и есть ваша доля отмен.

Цены: набор полей вместо числа

Цена на площадке — это не одно число. И набор полей у площадок разный, что регулярно ломает наивную выгрузку.

Площадка Какие поля цены Что из этого следует
Ozon Ваша цена и розничная цена обязательны, минимальная цена — отдельное поле Минимальную цену можно использовать как защиту от акций
Wildberries Цена до скидки и цена со скидкой, вторая обязательна Скидка живёт внутри самой цены
Яндекс Маркет Цена и цена без скидки Промо считается от базовой

Отсюда два требования к системе. Первое — считать цену для каждой площадки отдельно, потому что комиссия, логистика и эквайринг у них разные. Второе — держать минимальную цену как жёсткий порог, ниже которого выгрузка не идёт ни при какой акции.

Сюда же приходит налог. Базовая ставка НДС с 1 января 2026 года — 22%, расчётная ставка 22/122; для товаров из перечня пункта 2 статьи 164 Налогового кодекса сохранились 10%. Если калькулятор цены собирали до 2026 года и ставку в нём зашили, маржа считается неверно во всех каналах сразу.

Заказы приходят опросом

Тонкость, из которой растёт половина дефектов. Площадки в большинстве случаев не присылают событие о новом заказе — система сама периодически спрашивает: «что появилось».

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

Второй момент — состав заказа. У Wildberries один заказ содержит один товар, у Ozon в заказе может быть несколько позиций. Модель данных должна вмещать оба варианта, иначе интеграция со второй площадкой переписывает половину логики.

Третий — срок. При работе со своего склада на сборку даётся ограниченное время, и опрос раз в час превращает нормальный процесс в просрочку. Частота опроса — не настройка удобства, а параметр, от которого зависят санкции.

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

Лимиты API

Площадки ограничивают частоту вызовов, и при превышении метод отвечает кодом 429. Для интеграции это означает, что запросы нельзя отправлять по мере готовности.

Рабочая схема выглядит так. Все вызовы идут через ограничитель, который выдаёт разрешения по алгоритму вроде Token Bucket или Leaky Bucket. Параметры лимита площадка присылает в заголовках ответа и меняет их без предупреждения, поэтому ограничитель читает заголовки и подстраивается. Если у вас несколько процессов, квоту нужно делить между ними через общее хранилище, иначе каждый считает лимит своим.

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

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

Соберём обмен с площадками

Единый остаток с буфером, цены с жёстким минимумом, заказы без потерь и вызовы, которые не упираются в лимиты.

Обсудить проект

Карточки и характеристики

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

Выгрузка карточек тормозит проект по трём причинам.

  • Характеристики зависят от категории. У обуви одни обязательные поля, у бытовой техники другие, и справочник значений у площадки свой. Ваш каталог обычно не содержит половины этих полей.
  • Модерация асинхронная. Карточка уходит на площадку и возвращается с ошибкой через время. Значит нужна очередь, статусы и экран, где менеджер видит, что именно не приняли.
  • Модификации. Размеры и цвета площадки моделируют по-разному, и сопоставление вариантов приходится делать отдельным механизмом.

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

Практичный порядок такой. Сначала запускаем обмен остатками и заказами по уже созданным карточкам, потому что это приносит деньги сразу. Автоматическую публикацию карточек добавляем вторым этапом.

Отмены, невыкупы, возвраты

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

Отмена до сборки. Заказ снимается, остаток возвращается в продажу. Просто, если система вовремя узнала об отмене.

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

Возврат после выкупа. Товар возвращается в другом состоянии и иногда в другую точку. Часть возвратов уходит в уценку, и это отдельная позиция каталога.

Товар в пути обратно. Самое частое расхождение в учёте. Физически товара нет ни на складе, ни у покупателя, по документам он числится, и без отдельного статуса остаток по нему считается неверно.

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

Деньги: комиссии и сверка выплат

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

На этом участке система делает четыре вещи.

  • Разбирает отчёт по типам удержаний и раскладывает их на заказы и товары.
  • Сверяет ожидаемую выплату с фактической и показывает каждое расхождение отдельной строкой.
  • Считает реальную маржу по товару после всех удержаний, потому что она отличается от расчётной на десятки процентов.
  • Ловит повторы и пропуски — заказ, попавший в отчёт дважды, и заказ, не попавший ни в один.

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

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

Что меняет закон с 1 октября 2026

С 1 октября 2026 года вступает в силу федеральный закон № 289-ФЗ о регулировании платформенной экономики. Он меняет отношения продавца и площадки, и часть требований прямо превращается в функции системы.

  • Договор в электронной форме через платформу, с зафиксированными размером комиссии, порядком расчётов и сроками перечисления денег. Продавец сохраняет доступ к текущим и архивным версиям.
  • Скидка за счёт продавца — только с его согласия, с уведомлением не менее чем за пять рабочих дней. Продавец вправе запретить скидки или установить минимальную цену, и отказ не может быть основанием для блокировки.
  • Досудебный разбор ограничений. Жалобу рассматривают в срок до 15 дней, а при её обоснованности неправомерные ограничения снимают в течение 48 часов.
  • Акты сверки по запросу в течение 7 дней, обновление финансовых расчётов ежемесячно.

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

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

С октября 2026 минимальная цена перестаёт быть внутренней страховкой. Это параметр, который вы официально сообщаете площадке.

Учётная система и где живёт логика

Хвост семантики вокруг темы почти целиком про учётную систему: продавцы ищут интеграцию площадок с типовыми конфигурациями. Вопрос при этом не в том, куда подключаться, а в том, где держать логику синхронизации.

Внутри учётной системы её держат, когда номенклатура, цены и склады уже там и других каналов нет. Плюс — один источник данных. Минус — вся логика площадок оказывается в конфигурации, которую обновляет вендор, и обмен встаёт на каждом обновлении. Механика самого обмена с типовыми конфигурациями разобрана в материале про интеграцию с 1С.

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

Если площадки — не единственный канал, свой интернет-магазин с собственной витриной обычно и становится тем местом, где сходятся каталог, цены и остатки для всех каналов сразу.

Логика, которая живёт в чужой конфигурации, обновляется по чужому расписанию. Свой слой синхронизации меняется тогда, когда это нужно вам.

Готовый сервис, модуль или своя интеграция

Вариант Когда подходит Что учесть
Готовый сервис-агрегатор Две-три площадки, типовой товар, стандартные правила цен Быстрый старт и подписка; доработки идут в очереди сервиса, ваши правила подгоняются под его модель
Модуль к учётной системе Всё уже в учёте, площадки — второй канал Дёшево на старте; встаёт при обновлениях конфигурации, логика ограничена возможностями модуля
Своя интеграция Много площадок и каналов, нетиповые правила цен и остатков, сверка выплат критична Дороже, зато частоту, приоритеты и правила задаёте вы; нужен кто-то, кто следит за изменениями API
Гибрид Обмен готовый, логика цен и остатков своя Нужен нормальный интерфейс у сервиса; главный риск варианта

Своя интеграция окупается в двух случаях. Первый: площадки дают существенный объём, и простой обмена стоит дороже разработки. Второй: правила цен и остатков — ваше конкурентное преимущество, а в чужой модели они не описываются.

Если параллельно вы строите свой канал продаж, устройство такой платформы разобрано в материале про разработку интернет-магазина.

Готовое решение или своя разработка: готовый сервис, модуль к учётной системе, своя интеграция

Сколько стоит

Объём работ задают три параметра. Число площадок, число схем работы и наличие сверки выплат. Одна площадка по FBO — это несколько недель, четыре площадки в двух схемах со сверкой — совсем другой проект.

По нашим работам: отдельная интеграция с площадкой, службой доставки или учётной системой — от 150 тыс. до 1,5 млн ₽ за одну, свой канал продаж с витриной — от 1,5 млн ₽, заказная система обмена под процесс — от 1,7 млн ₽, аудит существующего обмена — от 200 до 600 тыс. ₽. Точную цифру считаем по составу площадок и схем: оценка проекта бесплатная.

Порядок бюджета можно прикинуть заранее — бесплатный калькулятор оценки собирает вилку по составу работ за несколько минут.

Посчитаем ваши площадки

Расскажите про площадки, схемы работы и учётную систему. В ответ пришлём состав работ, смету и срок по этапам.

Получить консультацию

Пять дорогих ошибок

Остаток отдают целиком. Буфера нет, реакция медленная, товар продан дважды. Отмены растут, рейтинг падает, площадка снижает видимость.

Обмен ставят на общее расписание. Раз в час для всего сразу. Остатки устаревают, заказы приезжают с опозданием, а карточки при этом обновлять было незачем.

Лимиты не считают. Первая массовая выгрузка ловит код 429, площадка притормаживает интеграцию, продажи стоят.

Минимальную цену не заводят. Товар уходит в акцию площадки и продаётся ниже себестоимости, а узнают об этом из отчёта о реализации.

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

С чего начать

Первое — выписать матрицу «площадка × схема работы». Обычно оказывается, что схем больше, чем думали, и часть товаров живёт сразу в двух. Эта матрица определяет объём проекта точнее любого описания задачи.

Второе — измерить ручную работу. Сколько человеко-часов в неделю уходит на правку остатков и цен в кабинетах, сколько заказов переносится руками, сколько отмен случилось за месяц по причине «нет товара». Три числа сразу показывают, что чинить первым.

Третье — решить вопрос про источник истины. Какая система знает правильный остаток и правильную цену. Пока на этот вопрос нет однозначного ответа, любая интеграция будет разъезжаться.

С чего начать: составить матрицу площадок и схем, измерить рутину, найти источник истины

Обсудим ваши продажи?

Разберём матрицу площадок и схем, найдём ручную работу в кабинетах и оценим объём работ. Оценка бесплатная.

Обсудить проект

Часто задаваемые вопросы

Если площадок две-три, товар типовой, а правила цен простые, готовый сервис закроет задачу быстрее и дешевле разработки. Своя интеграция начинается там, где каналов много, где правила цен и остатков нестандартные или где нужна машинная сверка выплат. Промежуточный вариант тоже работает: обмен берут готовый, а логику цен и остатков держат у себя.

Ориентир по рынку — каждые 5–15 минут, и чем быстрее оборачивается товар, тем короче интервал. Но частота не решает проблему сама: без буфера и без единого источника остатка двойные продажи будут случаться и при обновлении раз в минуту. Сначала источник истины и запас, потом частота.

Чаще всего потому, что обмен построен на опросе. Система периодически запрашивает новые заказы, а между двумя запросами кто-то успел сменить статус заказа в кабинете — и он выпал из выборки. Лечится сверкой полного актуального списка заказов при каждом опросе.

Закон 289-ФЗ добавляет требования к отношениям с площадкой, и часть их касается системы. Минимальную цену и согласие на скидки нужно уметь заявлять и хранить, акты сверки площадка обязана предоставлять по запросу в течение семи дней, а финансовые расчёты обновлять ежемесячно. Разбор актов машинно из необязательного удобства становится нормой работы.

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

Разработка с Code Pilots

Code Pilots — студия заказной разработки полного цикла: веб- и мобильные продукты со сложной бизнес-логикой, интеграциями и высокими нагрузками. В работе с площадками мы делаем слой синхронизации целиком.

Считаем единый остаток с буфером, разводим цены по площадкам с жёстким минимумом, забираем заказы с учётом смены статусов и держим вызовы в лимитах с приоритетами. Разбираем отчёты о реализации и сводим выплаты, а менеджеру даём экран с ошибками модерации и расхождениями.

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

Внутри — аналитики с отраслевой экспертизой, дизайнеры, backend- и мобильные разработчики, QA и DevOps, middle+ и senior. Пришлите список площадок со схемами работы и долю ручной правки в кабинетах: по этим двум вещам уже видно объём работ. Обсудить проект →

Обсудим проект?

Заполните форму или напишите нам
на airmail@code-pilots.ru
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Спасибо!

Спасибо за сообщение, мы свяжемся
с вами в ближайшее время!
success