Запуск репрайсера и журнал прогонов
Модуль ТЗ: 5.3 · Репрайсер
Что это
Запуск репрайсера — команда «пересчитай цены сейчас»: движок проверяет активные правила кабинета, считает новые цены и отправляет изменения в Wildberries. Каждый запуск — ручной или по расписанию — записывается в журнал прогонов, даже если ни одна цена не изменилась или Wildberries вернул ошибку.
Где найти
Боковое меню → «Цены» → «Репрайсер» (/app/wb/<кабинет>/repricer):
кнопка «Запустить» вверху экрана и блок «Журнал прогонов» внизу.
Как пользоваться
Запуск из интерфейса
- В блоке «Товары под репрайсером» откройте нужную страницу каталога (при необходимости — с поиском или фильтром бренда).
- Нажмите «Запустить». Движок обработает товары с текущей страницы (до 25 штук), у которых есть цена, — текущей ценой считается цена из каталога «Оптимы».
- После прогона появится сообщение «Прогон репрайсера: изменено цен N», а в журнале — новая строка.
Важно: при запуске из интерфейса движку не передаются показатели товаров и их
бренд. Поэтому сработать могут только правила по артикулу или списку артикулов
с безусловным условием (always, создаётся через API). Правила с условием по
показателю и правила по бренду в таком прогоне пропускаются. Полноценный запуск
с показателями сейчас возможен только через API.
Журнал прогонов
В таблице видно по каждому прогону:
- Правило — правило, изменившее больше всего цен (и сколько правил сработало);
- Запуск — «Вручную» или «По расписанию»;
- Статус — «Успех» или «Ошибка»;
- Изменено / пропущено — сколько товаров получили новую цену и сколько пропущено (не подошло ни одно правило или цена не изменилась);
- Когда и Ошибка — время прогона и причина сбоя.
Поартикульные цены, изменённые репрайсером, смотрите в истории изменений цен (источник «Репрайсер»).
Как движок считает цену
- Для каждого товара перебираются активные правила кабинета, начиная с созданного раньше всех. Берётся первое правило, в область которого попадает товар и чьё условие выполнено.
- Новая цена = текущая цена плюс изменение правила (в процентах или рублях), округлённая до целых рублей.
- Цена ограничивается минимальной и максимальной ценой правила и никогда не опускается ниже 1 ₽.
- Если новая цена совпала с текущей, товар считается пропущенным.
- Все изменения отправляются в 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.