Каталог
Конфликты связей
Очередь конфликтов Product Identity: один ISBN у нескольких товаров, orphan-карточки Ozon/WB, разные издания.
Статусв работе
Safetypreview / approve
UIloading · empty · error
Статус UIЕсть основа, нужны данные и доработкамодуль доступен для работы
Метрики4duplicate identifiers · orphans · manual review
Backend endpoint1typed wrapper в frontend/lib/api
Jobspendingsync/background tasks
Что есть на странице
Модуль подключён к рабочему UI или находится в активной доработке.
в работеduplicate identifiersorphansmanual reviewaudit
- loading state: показывать skeleton/заглушку при запросе.
- empty state: объяснять, какие данные и sync jobs нужны.
- error state: вести к API health и raw logs без секретов.
- ready/work: экран должен использовать общий apiFetch/auth слой.
Нужные API и jobs
- /api/catalog/identity/conflictstyped wrapper в frontend/lib/api
Safety guard
Опасные действия заблокированы прямым выполнением
Изменение цен, публикация карточек, массовые операции и внешние AI-вызовы должны идти через preview, approve, apply job и audit log.
1Preview
2Approve
3Queue job
4Status check
5Audit
Связанные задачи и очереди
Страница подключена к общему jobs/queues экрану, а не запускает долгие операции синхронно.
Открыть Jobs| Job | Контур | Статус | Что делает |
|---|
| moysklad.sync_products_full | catalog | scheduled | ночной full sync товаров и модификаций |
| ozon.sync_prices | prices | retry/backoff | цены, комиссии, price index |
| wb.sync_characteristics | content | backend pending | subject characteristics для книжных subjectID |
| pricing.generate_recommendations | pricing | guarded | создание рекомендаций без применения |
| ai.sync_models | ai | planned | обновление реестра моделей и budget guard |