Автообновление данных
Модуль ТЗ: 5.1 · Оцифровка продаж и финансовый учёт
Что это
«Оптима» сама загружает свежие данные из Wildberries по всем подключённым кабинетам: заказы, продажи, возвраты и отчёт о реализации (комиссия, логистика, штрафы и другие удержания). Плановая оцифровка заказов и продаж идёт один раз в сутки — в 00:00 по Москве, каждый день без исключений. В течение дня данные обновляются только вручную — кнопкой «Импортировать данные».
Где найти
Отдельной настройки нет. Состояние обновления видно в «Оцифровке»
(/app/wb/<кабинет>/digitization) под карточками KPI:
- «Данные от …» — когда по кабинету последний раз появились новые данные;
- «следующая оцифровка в 00:00 МСК» — время ближайшего планового прогона;
- «Автоматически — ежедневно в 00:00 МСК, в остальное время — вручную.»;
- «Ежедневная оцифровка ещё не проходила» — для только что подключённого кабинета.
Пока идёт оцифровка, в блоке «Импорт из Wildberries» крутится значок обновления и виден таймер: «Ежедневная оцифровка идёт · 0:12:34» для плановой, «Импорт идёт · …» — для ручной.
Когда ежедневная оцифровка кабинета закончится, владельцу кабинета придёт уведомление «Ежедневная оцифровка: готово» (или «…: ошибка», если Wildberries так и не отдал данные). Если Wildberries ограничивает частоту запросов, оцифровка продолжает с места остановки, а не начинает заново.
Расписание
| Что загружается | Когда | За какой период | Зачем |
|---|---|---|---|
| Заказы, продажи, возвраты | Каждый день в 00:00 МСК | Последние 7 дней | Ежедневная оцифровка: новые данные за сутки плюс правки Wildberries задним числом |
| Отчёт о реализации | Каждый день в 05:00 МСК | Последние 14 дней | Деньги: выручка, удержания, прибыль |
Отчёт о реализации Wildberries формирует еженедельно, поэтому денежные данные (прибыль, удержания, бухгалтерия) появляются с задержкой относительно продаж.
Как пользоваться
Достаточно подключить кабинет и дождаться успешной проверки API-ключа (см. «Кабинеты Wildberries») — с ближайшей полуночи кабинет попадёт в расписание.
Чтобы получить данные раньше (например, сразу после подключения или днём), запустите импорт вручную (см. «Импорт данных из Wildberries»).
- Пока идёт ежедневная оцифровка, ручной импорт заблокирован: кнопка неактивна, на ней написано «Идёт оцифровка…», рядом — подсказка и таймер. Кнопка станет доступна сама, как только оцифровка закончится.
- Пока идёт ваш ручной импорт, второй запустить нельзя — кнопка тоже неактивна.
Так ручной и плановый прогоны никогда не накладываются друг на друга.
Кнопка «Обновить» в шапке разделов загрузку из Wildberries не запускает — она только перечитывает уже загруженные данные.
Ограничения
- Только активные кабинеты. Обновляются кабинеты с проверенным ключом. Если ключ отозван или не прошёл проверку, кабинет пропускается до обновления ключа.
- Сбой по одному кабинету не влияет на другие — каждый кабинет загружается отдельно; при сбое делается до трёх попыток подряд, дальше кабинет догонит на следующей ежедневной оцифровке или ручным импортом.
- Ежедневная оцифровка идёт без исключений. Если в полночь по кабинету ещё идёт ваш ручной импорт, оцифровка не отменяется — она начнётся сразу после него.
- Зависшая оцифровка не блокирует работу. Если плановый прогон по кабинету не завершился за 20 часов, он считается прерванным: таймер пропадает, ручной импорт снова доступен, а следующая полночь запустит оцифровку заново.
- Отметка «Данные от …» не двигается, если прогон не нашёл ничего нового: она показывает время последнего изменения данных, а не последней проверки.
- Повторная загрузка безопасна: дубликаты не создаются, уточнённые суммы обновляются.
Связанные страницы
Для интеграторов
- Заказы/продажи — очередь
digitization-sync, одно расписание: cron0 0 * * *(Europe/Moscow), окно 7 дней, полный дренаж окна с продвижением курсоровwb_sync_cursors. Прежний 30-минутный ярусincrementупразднён; envDIGITIZATION_INCREMENT_INTERVAL_MS/RNP_SYNC_INTERVAL_MSбольше не читаются. - Плановая джоба кабинета старше 20 часов считается мёртвой: завершается без похода в WB, не учитывается в признаках импорта и вычищается следующим фан-аутом.
POST /digitization/importиPOST /digitization/financial-report/importотвечают 409 Conflict, пока по кабинету идёт плановая оцифровка.- Отчёт о реализации — очередь
rnp-finance-sync, cron0 5 * * *(Europe/Moscow), окно 14 дней. GET /digitization/freshness?wbAccountId=—dataUpdatedAt,nextUpdateAt(ближайшая 00:00 МСК),updateIntervalMinutes(1440),importInProgress,scheduledImportInProgress,manualImportAllowed(блокировать кнопку импорта по этому полю),importStartedAt,importKind.- После загрузки кеш читающих эндпоинтов оцифровки по кабинету сбрасывается (TTL кеша — 60 с).
- Подробности —
backend/docs/digitization-feed-sync.md. ADR: 0042, 0057.