Компонент: Единый API Gateway
Версия: 1.1
Дата: Январь 2026
Изменения версии 1.1
| Раздел | Изменение |
|---|---|
| Launcher | Добавлен раздел 15 — API для баннерного подменю |
| Office | Добавлен раздел 16 — API для дашборда AI-агентов |
| Logistic | Добавлен раздел 17 — API для управления логистикой |
| Shop | Добавлена справка — модуль работает через MCP без REST API |
1. Общие сведения
1.1 Базовая информация
| Параметр | Значение |
|---|---|
| Base URL | https://adolf.su/api/v1 |
| Версионирование | Через URL path (/api/v1/...) |
| Формат данных | JSON |
| Аутентификация | API ключи (привязаны к пользователям) |
| Пагинация | offset-based (?offset=0&limit=20) |
1.2 Аутентификация
Все запросы требуют заголовка авторизации:brand_id пользователя, который его создал.
1.3 Формат ошибок
1.4 Стандартные HTTP-коды
| Код | Описание |
|---|---|
| 200 | Успешный запрос |
| 201 | Ресурс создан |
| 204 | Нет контента (успешное удаление) |
| 400 | Некорректный запрос |
| 401 | Не авторизован |
| 403 | Доступ запрещён |
| 404 | Ресурс не найден |
| 429 | Превышен лимит запросов |
| 500 | Внутренняя ошибка сервера |
1.5 Пагинация
Для списковых endpoints используются параметры:| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
offset | int | 0 | Смещение от начала |
limit | int | 20 | Количество записей (макс. 100) |
2. Служебные Endpoints
2.1 Health Check
GET /health
Проверка работоспособности API. Доступ: Публичный (без авторизации) Пример ответа:GET /health/detailed
Детальная проверка состояния компонентов. Доступ: Administrator Пример ответа:2.2 Метрики
GET /metrics
Метрики системы в формате Prometheus. Доступ: Administrator2.3 Celery Tasks
GET /tasks/{task_id}
Статус асинхронной задачи Celery. Доступ: Manager+ Параметры пути:| Параметр | Тип | Описание |
|---|---|---|
| task_id | string | UUID задачи |
PENDING, STARTED, SUCCESS, FAILURE, RETRY
3. Auth — Аутентификация
3.1 Сессия
GET /auth/session
Информация о текущей сессии пользователя. Доступ: Все авторизованные Пример ответа:3.2 API ключи
GET /auth/api-keys
Список API ключей текущего пользователя. Доступ: Все авторизованныеPOST /auth/api-keys
Создание нового API ключа. Доступ: Все авторизованные Тело запроса:DELETE /auth/api-keys/{key_id}
Отзыв API ключа. Доступ: Все авторизованные (только свои ключи)4. Knowledge — База знаний
4.1 Поиск
POST /knowledge/search
Семантический поиск по базе знаний. Доступ: Все авторизованные Тело запроса:4.2 Информация о товаре
GET /knowledge/product/{sku}
Структурированные данные о товаре (внутренний endpoint для модулей). Доступ: Internal (Reputation, Content Factory)4.3 Документы
GET /knowledge/documents
Список документов в базе знаний. Доступ: Senior+POST /knowledge/documents/{id}/approve
Модерация документа. Доступ: Senior+5. Reputation — Управление отзывами
5.1 Элементы (отзывы/вопросы)
GET /reputation/items
Список элементов для обработки. Доступ: Manager+ (фильтрация по brand_id)GET /reputation/items/{id}
Детали элемента. Доступ: Manager+POST /reputation/items/{id}/approve
Утверждение сгенерированного ответа. Доступ: Manager+POST /reputation/items/{id}/edit
Редактирование и утверждение ответа. Доступ: Manager+POST /reputation/items/{id}/regenerate
Перегенерация ответа с инструкциями. Доступ: Manager+5.2 Массовые операции
POST /reputation/items/bulk-approve
Массовое утверждение элементов. Доступ: Senior+5.3 Аналитика
GET /reputation/stats
Статистика по отзывам и вопросам. Доступ: Senior+GET /reputation/analytics
Аналитика: тональность, темы, AI-рекомендации. Доступ: Senior+6. Watcher — Мониторинг цен
6.1 Конкуренты
GET /watcher/competitors
Список отслеживаемых конкурентов. Доступ: Manager+POST /watcher/competitors
Добавление конкурента. Доступ: Senior+6.2 Цены
GET /watcher/prices
История цен с фильтрами. Доступ: Manager+GET /watcher/prices/comparison
Сравнение с конкурентами. Доступ: Manager+6.3 Алерты
GET /watcher/alerts
Алерты о изменениях цен. Доступ: Manager+6.4 Agent API
GET /watcher/tasks/next
Получение задачи агентом. Доступ: Agent API KeyPOST /watcher/tasks/{task_id}/report
Отправка результата задачи. Доступ: Agent API KeyPOST /watcher/agents/heartbeat
Проверка состояния агента. Доступ: Agent API Key7. Content Factory — Генерация контента
7.1 Генерация
POST /content/generate
Генерация title/description/attributes. Доступ: Senior+POST /content/generate/visual-prompt
Генерация ТЗ для дизайнера. Доступ: Senior+7.2 Черновики
GET /content/drafts
Список черновиков. Доступ: Senior+PUT /content/drafts/{id}
Редактирование черновика. Доступ: Senior+POST /content/drafts/{id}/approve
Утверждение черновика. Доступ: Senior+POST /content/drafts/{id}/publish
Публикация на маркетплейс. Доступ: Senior+8. Marketing — Рекламные кампании
8.1 Кампании
GET /marketing/campaigns
Список кампаний. Доступ: Manager+POST /marketing/campaigns
Создание кампании. Доступ: Manager+PUT /marketing/campaigns/{id}
Обновление настроек. Доступ: Manager+POST /marketing/campaigns/{id}/pause
Приостановка кампании. Доступ: Manager+POST /marketing/campaigns/{id}/resume
Возобновление кампании. Доступ: Manager+8.2 Ключевые слова
GET /marketing/campaigns/{id}/keywords
Список ключевых слов кампании. Доступ: Manager+POST /marketing/campaigns/{id}/keywords
Добавление ключевых слов. Доступ: Manager+8.3 Ставки
PUT /marketing/bids
Обновление ставок (batch). Доступ: Manager+GET /marketing/bids/recommendations
AI-рекомендации по ставкам. Доступ: Manager+8.4 Статистика
GET /marketing/stats
Общая статистика. Доступ: Manager+GET /marketing/reports/daily
Ежедневный отчёт. Доступ: Senior+9. Scout — Аналитика ниш
POST /scout/analyze
Запуск анализа ниши. Доступ: Senior+GET /scout/analyses/{id}
Результаты анализа. Доступ: Senior+GET /scout/analyses
История анализов. Доступ: Senior+10. CFO — Финансовая отчётность
10.1 P&L Отчёты
GET /cfo/pnl
Отчёт P&L с группировкой (sku/category/brand/marketplace). Доступ: Senior+GET /cfo/pnl/sku/{sku}
Детальный P&L по SKU. Доступ: Director+10.2 ABC-анализ
GET /cfo/abc
ABC-классификация SKU. Доступ: Senior+10.3 AI Insights
GET /cfo/insights
AI-инсайты по финансам. Доступ: Director+10.4 Себестоимость
GET /cfo/costs
Справочник себестоимости. Доступ: Director+POST /cfo/costs/import
Импорт себестоимости из файла. Доступ: Director+11. Lex — Правовой мониторинг
11.1 Документы
GET /lex/documents
Список правовых документов. Доступ: Manager+GET /lex/documents/{id}
Детали документа с действиями. Доступ: Manager+11.2 Алерты
GET /lex/alerts
Правовые алерты. Доступ: Manager+11.3 Ключевые слова
GET /lex/keywords
Ключевые слова для мониторинга. Доступ: AdministratorPOST /lex/keywords
Добавление ключевого слова. Доступ: Administrator11.4 Статистика
GET /lex/stats
Статистика мониторинга. Доступ: Senior+12. Notifications — Уведомления
12.1 Уведомления пользователя
GET /notifications
Список уведомлений текущего пользователя. Доступ: Все авторизованныеPOST /notifications/{id}/read
Отметить как прочитанное. Доступ: Все авторизованныеPOST /notifications/read-all
Отметить все как прочитанные. Доступ: Все авторизованные12.2 WebSocket
WS /ws/notifications
WebSocket для real-time уведомлений. Доступ: Все авторизованные13. Webhooks — Внутренние события
POST /webhooks/alerts
Приём алертов от модулей. Доступ: Internal14. Chat — AI Completions
POST /chat/completions
Запрос к AI с контекстом модуля. Доступ: Все авторизованные15. Launcher — Баннерное подменю
> Версия: Core 3.1> Назначение: Двухуровневая навигация с визуальным выбором действий
15.1 Конфигурация модуля
GET /launcher/config/{module}
Получение конфигурации баннеров для модуля. Доступ: Manager+ (зависит от модуля) Параметры пути:| Параметр | Тип | Описание |
|---|---|---|
| module | string | Идентификатор модуля (cfo, reputation, watcher, content_factory, marketing, scout, knowledge, lex, logistic) |
15.2 Выполнение действия
POST /launcher/execute
Выполнение действия баннера. Доступ: Manager+ (зависит от модуля) Тело запроса:15.3 Список модулей
GET /launcher/modules
Список доступных модулей для текущего пользователя. Доступ: Все авторизованные Пример ответа:16. Office — Дашборд AI-агентов
> Версия: 1.0> Назначение: Визуальный мониторинг состояния AI-агентов системы
16.1 Чтение (Dashboard)
GET /office/agents
Все агенты, сгруппированные по модулям (отделам). Доступ: Director+ (Administrator видит все, Director — только свой бренд) Query параметры:| Параметр | Тип | Описание |
|---|---|---|
| brand | string | Фильтр по бренду (для Director — обязателен) |
GET /office/agents/{agent_id}
Детальный статус одного агента. Доступ: Director+ Параметры пути:| Параметр | Тип | Описание |
|---|---|---|
| agent_id | string | Уникальный идентификатор агента |
GET /office/history/{agent_id}
История статусов агента за 24 часа. Доступ: Director+ Query параметры:| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
| limit | int | 100 | Количество записей |
16.2 Запись (для агентов)
PUT /office/agents/{agent_id}
Регистрация или обновление статуса агента (UPSERT). Доступ: Agent API Key Параметры пути:| Параметр | Тип | Описание |
|---|---|---|
| agent_id | string | Уникальный идентификатор агента |
POST /office/heartbeat/{agent_id}
Обновление last_activity без изменения статуса. Доступ: Agent API Key Пример ответа:16.3 Статусы агентов
| status | task | Визуализация | Описание |
|---|---|---|---|
| ok | есть | 💡 Зелёный | Активно работает |
| ok | null | ⏸️ Зелёный | Ожидает задачу |
| warning | любой | ⚠️ Жёлтый | Требует внимания |
| error | любой | 🛑 Красный | Произошла ошибка |
| offline | — | 💤 Серый | Нет связи с агентом |
17. Logistic — Управление логистикой
> Версия: 1.0> Назначение: Оптимизация распределения товаров по складам WB, минимизация кросс-докинга
17.1 Остатки
GET /logistic/stocks
Текущие остатки по всем складам. Доступ: Manager+ (фильтрация по brand_id) Query параметры:| Параметр | Тип | Описание |
|---|---|---|
| sku | string | Фильтр по артикулу |
| warehouse_id | int | Фильтр по складу |
| status | string | critical, warning, normal |
| brand_id | string | Фильтр по бренду |
GET /logistic/stocks/{sku}
Детальные остатки по артикулу. Доступ: Manager+ Пример ответа:17.2 Кросс-докинг
GET /logistic/cross-docking
Отчёт по кросс-докингу за период. Доступ: Manager+ Query параметры:| Параметр | Тип | Описание |
|---|---|---|
| date_from | date | Начало периода (YYYY-MM-DD) |
| date_to | date | Конец периода (YYYY-MM-DD) |
| brand_id | string | Фильтр по бренду |
| sku | string | Фильтр по артикулу |
GET /logistic/cross-docking/events
Список событий кросс-докинга. Доступ: Manager+ Query параметры:| Параметр | Тип | Описание |
|---|---|---|
| date_from | date | Начало периода |
| date_to | date | Конец периода |
| sku | string | Фильтр по артикулу |
| offset | int | Смещение |
| limit | int | Количество (макс. 100) |
17.3 Рекомендации
POST /logistic/recommendations
Генерация рекомендации по распределению поставки. Доступ: Manager+ Тело запроса:17.4 Алерты
GET /logistic/alerts
Список активных алертов логистики. Доступ: Manager+ Query параметры:| Параметр | Тип | Описание |
|---|---|---|
| type | string | critical_stock, cross_dock, imbalance |
| is_read | bool | Фильтр по прочитанности |
| brand_id | string | Фильтр по бренду |
POST /logistic/alerts/{id}/read
Отметить алерт как прочитанный. Доступ: Manager+17.5 Склады
GET /logistic/warehouses
Справочник складов WB с тарифами. Доступ: Manager+ Пример ответа:17.6 Настройки
GET /logistic/settings
Настройки порогов алертов. Доступ: Senior+ Пример ответа:PUT /logistic/settings
Обновление настроек. Доступ: Administrator Тело запроса:18. Shop — Интернет-магазин (WooCommerce)
> Важно: Модуль Shop не имеет собственных REST API endpoints.> Все данные получаются через WooCommerce MCP напрямую из Open WebUI.
18.1 Архитектура
18.2 Доступные MCP Tools
| Tool | Описание |
|---|---|
woocommerce/orders-list | Список заказов с фильтрацией |
woocommerce/orders-get | Детали заказа по ID |
woocommerce/products-list | Список товаров |
woocommerce/products-get | Детали товара по ID |
18.3 Celery Tasks
Фоновые задачи модуля Shop используют MCP для polling:| Задача | Периодичность | Описание |
|---|---|---|
shop.poll_orders | 1 минута | Проверка новых заказов |
shop.detect_events | По событию | Выявление отмен, возвратов |
shop.send_notification | По событию | Отправка уведомления |
18.4 События уведомлений
| Событие | Уровень | Получатели |
|---|---|---|
shop.order.new | info | Senior+ |
shop.order.cancelled | warning | Senior+ |
shop.order.refunded | warning | Senior+ |
shop.order.failed | error | Senior+ |
Приложение A: Количество endpoints по модулям
| Модуль | Endpoints | Примечание |
|---|---|---|
| Служебные | 4 | Health, Metrics, Tasks |
| Auth | 4 | Session, API Keys |
| Knowledge | 4 | Search, Product, Documents |
| Reputation | 9 | Items, Bulk, Analytics |
| Watcher | 10 | Competitors, Prices, Alerts, Agent API |
| Content Factory | 7 | Generate, Drafts, Publish |
| Marketing | 12 | Campaigns, Keywords, Bids, Stats |
| Scout | 3 | Analyze, Analyses |
| CFO | 6 | P&L, ABC, Insights, Costs |
| Lex | 6 | Documents, Alerts, Keywords, Stats |
| Notifications | 4 | List, Read, WebSocket |
| Webhooks | 1 | Alerts |
| Chat | 1 | Completions |
| Launcher | 3 | Config, Execute, Modules |
| Office | 5 | Agents, History, Heartbeat |
| Logistic | 10 | Stocks, Cross-docking, Recommendations, Alerts, Warehouses, Settings |
| Shop | 0 | Работает через MCP |
| Итого | 89 |
Приложение B: Матрица доступа по ролям
| Endpoint Group | Staff | Manager | Senior | Director | Admin |
|---|---|---|---|---|---|
| Health | ✅ | ✅ | ✅ | ✅ | ✅ |
| Health Detailed | ❌ | ❌ | ❌ | ❌ | ✅ |
| Metrics | ❌ | ❌ | ❌ | ❌ | ✅ |
| Auth | ✅ | ✅ | ✅ | ✅ | ✅ |
| Knowledge Search | ✅ | ✅ | ✅ | ✅ | ✅ |
| Knowledge Docs | ❌ | ❌ | ✅ | ✅ | ✅ |
| Reputation | ❌ | Бренд | ✅ | ✅ | ✅ |
| Watcher | ❌ | ✅ | ✅ | ✅ | ✅ |
| Content Factory | ❌ | ❌ | ✅ | ✅ | ✅ |
| Marketing | ❌ | Бренд | ✅ | ✅ | ✅ |
| Scout | ❌ | ❌ | ✅ | ✅ | ✅ |
| CFO Basic | ❌ | ❌ | ✅ | ✅ | ✅ |
| CFO Full | ❌ | ❌ | ❌ | ✅ | ✅ |
| Lex | ❌ | ✅ | ✅ | ✅ | ✅ |
| Notifications | ✅ | ✅ | ✅ | ✅ | ✅ |
| Chat | ✅ | ✅ | ✅ | ✅ | ✅ |
| Launcher | ❌ | Модуль | Модуль | Модуль | ✅ |
| Office | ❌ | ❌ | ❌ | Бренд | ✅ |
| Logistic | ❌ | Бренд | ✅ | ✅ | ✅ |
Приложение C: Конфигурации Launcher
| Файл | Модуль | Описание |
|---|---|---|
cfo.json | CFO | Финансовые отчёты |
reputation.json | Reputation | Работа с отзывами |
watcher.json | Watcher | Мониторинг цен |
content_factory.json | Content Factory | Генерация контента |
marketing.json | Marketing | Рекламные кампании |
scout.json | Scout | Аналитика ниш |
knowledge.json | Knowledge | База знаний |
lex.json | Lex | Правовой мониторинг |
logistic.json | Logistic | Логистика |
Документ подготовлен: Январь 2026
Версия: 1.1
Статус: Актуальная версия
Заменяет: adolf_fastapi_reference_v1_0.md