RAPI

FLOW

Создать магазин

Как автоматизировать обновление остатков поставщиков

Как настроить импорт внешних остатков: сопоставить SKU и упаковки, рассчитать доступное количество и обработать ноль, пропавшую строку, пустой файл и сбой.

Бело-серый кот выглядывает снизу справа из-за стола с ноутбуком и коробками поставщиков

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

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

Сначала договоритесь об источнике

Уточните формат и способ получения: CSV, таблица, XML/YML или программный интерфейс — API. Запишите, кто формирует данные, какое время указано в файле, является ли выгрузка полной или содержит только изменения. У частичного обновления отсутствие строки обычно означает другое, чем у полного снимка.

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

Уточните периодичность источника и возможность резервирования. Частый опрос не делает устаревшую выгрузку свежее и не резервирует товар у поставщика.

Сопоставьте товары и единицы

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

В отдельном поле укажите коэффициент упаковки. В учебном примере поставщик передал 12 упаковок F-10 по две штуки: это 24 штуки. Если четыре уже обещаны вашим покупателям, но ещё не исключены из этого источника, а три оставлены как буфер, для публикации остаётся:

24 − 4 − 3 = 17 штук

Числа условные. Формула применима только при таком определении исходного количества. Если поставщик уже передал свободный остаток после этих четырёх резервов, повторное вычитание будет ошибкой.

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

Как должен проходить один импорт

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

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

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

Ноль, пропавшая строка и пустой файл

Полученные данныеКак их трактоватьДействие по принятому правилу
Корректная строка с количеством 0Подтверждённое отсутствие в рамках значения источникаОпубликовать ноль и изменить доступность заказа
Нет SKU в частичном обновленииВозможно, товар не менялсяСохранить значение по правилам частичного обмена
Нет SKU в полном снимкеНеясное состояние, если поставщик не определил иначеПометить пропуск, запросить подтверждение, применить срок устаревания
Весь файл внезапно пустВозможен сбой формированияОстановить массовое изменение и уведомить ответственного
Таймаут или ошибка разбораНовых достоверных данных нетНе объявлять импорт успешным; включить аварийное правило
Дубликат SKU с разными числамиНеоднозначный входОтклонить конфликт, не выбирать случайную строку

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

Когда данные становятся устаревшими

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

Для дорогой последней единицы допустимо требовать подтверждения перед оплатой. Для менее рискованной группы можно использовать согласованный буфер и срок. Универсального интервала «обновлять каждые пять минут» нет.

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

Как принять интеграцию

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

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

Чек-лист автоматизации

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

Весь функционал бесплатно на 3 месяца

Далее 990 рублей в месяц

Создать магазин