Добавьте время происхождения данных
У каждой записи должны быть как минимум время события на стороне источника, время получения и время последней успешной полной синхронизации. Момент сохранения в базе не доказывает свежесть: кэш или повторный ответ может принести старое значение прямо сейчас.
Показывайте возраст цены, остатка, продаж, акции и конкурента отдельно. Один поток может работать, пока другой отстаёт. Если объединить их под общей отметкой «обновлено», репрайсер примет решение из несовместимых срезов и менеджеру будет трудно восстановить причину.
Назначьте срок годности каждому сигналу
Допустимый возраст зависит от действия. Для критичного остатка и витринной цены окно обычно короче, чем для недельной аналитики возвратов. Зафиксируйте пороги по типу данных и категории товара, а не используйте один таймер для всей системы.
Порог должен учитывать скорость продаж. Товар с десятками заказов в час нельзя безопасно оценивать по остатку многолетней давности — для медленного SKU то же окно может быть приемлемым. Чем выше риск и скорость изменения, тем раньше автоматизация переходит в ограниченный режим.
Разделите чтение и право на действие
Устаревшие данные можно продолжать показывать в интерфейсе с явной пометкой, но нельзя использовать для нового снижения цены, входа в акцию или восстановления остатка. Просмотр помогает диагностике, а запрет на запись защищает магазин. Это разные права, и их не следует смешивать.
Определите белый список безопасных действий. Например, остановка убыточного сценария или защитное обнуление могут быть разрешены при строгих условиях, а увеличение остатка и агрессивное снижение — запрещены. Для каждого исключения нужна понятная причина в журнале.
Включайте безопасный режим без каскада
При потере свежести остановите создание новых ценовых задач для затронутых SKU, но не дублируйте их каждую минуту. Одна запись инцидента должна объединять товары по источнику и показывать масштаб: какой поток отстал, с какого времени и какие операции заморожены.
Не обнуляйте весь каталог только из-за одного запоздавшего отчёта. Ограничивайте область по кабинету, магазину, схеме, складу или типу данных. Каскадная защита может навредить сильнее сбоя, если без разбора отключит доступные товары.
Восстанавливайтесь через контрольный снимок
После возобновления API недостаточно снять блокировку по первому успешному ответу. Выполните полную синхронизацию, сравните ключевые значения с локальным состоянием и только потом разрешайте очередь. Иначе старые задания применятся к уже изменившейся витрине.
Очередь на восстановлении сортируйте по риску: остатки и продажи в минус проверяются раньше обычной оптимизации. Для цены полезно заново вычислить решение, а не отправлять сохранённое значение. Контекст конкурента, акции и запаса за время сбоя мог полностью измениться.
Проверяйте конечный результат
После восстановления выберите контрольную группу SKU и проверьте витрину: цену покупателя, доступность, активные акции и остаток. Успешный технический ответ подтверждает приём запроса, но не гарантирует, что покупатель уже видит ожидаемое состояние.
ВитринаPro связывает возраст данных, очередь операций, защитные правила и проверку витрины. Поэтому сбой превращается в управляемый режим: опасные действия замораживаются, менеджер видит причину, а работа возвращается только после нового согласованного снимка.
Частые вопросы
Как понять, что данные API устарели?
Сравнивайте время события, получения и последней полной синхронизации. Успешный ответ API сам по себе не означает, что значение актуально.
Нужно ли полностью останавливать репрайсер?
Останавливайте рискованные действия только в затронутой области. Интерфейс и безопасные защитные операции могут продолжать работать по отдельным правилам.
Можно ли после восстановления отправить накопившиеся цены?
Лучше пересчитать решения на новом снимке данных. Старая очередь могла формироваться при других акциях, остатках и ценах конкурентов.
Какие данные требуют самого короткого срока годности?
Обычно остаток, витринная цена и сигналы для немедленного ценового действия. Аналитические данные за длительный период могут иметь более широкое окно.
Запрещайте рискованные действия по просроченным сигналам и возобновляйте автоматизацию только после полной синхронизации.
Проверить на своих товарах