Перейти к основному содержимому

Запуск репрайсера и журнал прогонов

Модуль ТЗ: 5.3 · Репрайсер

Что это​

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

Где найти​

Боковое меню → «Цены» → «Репрайсер» (/app/wb/<кабинет>/repricer): кнопка «Запустить» вверху экрана и блок «Журнал прогонов» внизу.

Как пользоваться​

Запуск из интерфейса​

  1. В блоке «Товары под репрайсером» откройте нужную страницу каталога (при необходимости — с поиском или фильтром бренда).
  2. Нажмите «Запустить». Движок обработает товары с текущей страницы (до 25 штук), у которых есть цена, — текущей ценой считается цена из каталога «Оптимы».
  3. После прогона появится сообщение «Прогон репрайсера: изменено цен N», а в журнале — новая строка.

Важно: при запуске из интерфейса движку не передаются показатели товаров и их бренд. Поэтому сработать могут только правила по артикулу или списку артикулов с безусловным условием (always, создаётся через API). Правила с условием по показателю и правила по бренду в таком прогоне пропускаются. Полноценный запуск с показателями сейчас возможен только через API.

Журнал прогонов​

В таблице видно по каждому прогону:

  • Правило — правило, изменившее больше всего цен (и сколько правил сработало);
  • Запуск — «Вручную» или «По расписанию»;
  • Статус — «Успех» или «Ошибка»;
  • Изменено / пропущено — сколько товаров получили новую цену и сколько пропущено (не подошло ни одно правило или цена не изменилась);
  • Когда и Ошибка — время прогона и причина сбоя.

Поартикульные цены, изменённые репрайсером, смотрите в истории изменений цен (источник «Репрайсер»).

Как движок считает цену​

  1. Для каждого товара перебираются активные правила кабинета, начиная с созданного раньше всех. Берётся первое правило, в область которого попадает товар и чьё условие выполнено.
  2. Новая цена = текущая цена плюс изменение правила (в процентах или рублях), округлённая до целых рублей.
  3. Цена ограничивается минимальной и максимальной ценой правила и никогда не опускается ниже 1 ₽.
  4. Если новая цена совпала с текущей, товар считается пропущенным.
  5. Все изменения отправляются в Wildberries одной загрузкой. Если Wildberries отклонил её, не применяется ни одно изменение, прогон получает статус «Ошибка», а в журнале сохраняется причина.

Ограничения​

  • Из интерфейса обрабатывается только текущая страница каталога (до 25 товаров) и без показателей — см. выше.
  • Через API — до 1000 товаров за запуск. Показатели передаются по каждому товару; правила, опирающиеся на непереданный показатель, не срабатывают.
  • Текущая цена берётся из того, что передано в запуск (в интерфейсе — из снимка каталога, который обновляется раз в 30 минут), а не запрашивается у Wildberries в момент прогона.
  • «Оптима» фиксирует приём загрузки Wildberries, а не фактическое применение цены; ценовой карантин WB не отслеживается.
  • Фильтр журнала по правилу или статусу пока доступен только через API.

Связанные страницы​

Для интеграторов​

  • POST /repricer/run — тело: wbAccountId и items (1–1000 позиций): nmId, currentPrice (целые рубли), опционально brand (нужен для правил с scope=brand) и metrics — stockDays, salesRank, marginPct, priceGapPct (все необязательные). Ответ: applied, skipped и items — старая и новая цена и применённое правило по каждому изменению.
  • GET /repricer/runs — журнал прогонов: wbAccountId, фильтры ruleId, status (success/failed), пагинация. Поля прогона: trigger (api/schedule), status, startedAt, finishedAt, changedCount, skippedCount, rulesApplied, errorMessage.
  • GET /repricer/summary — KPI экрана, время последнего и следующего прогона.
  • Запись в WB — POST /api/v2/upload/task; изменения пишутся в историю цен с source=repricer и в журнал аудита (repricer.run).
  • Справочник: API, решение — ADR-0023.