Internal API Reference 🔐
Internal API предназначен для взаимодействия между внутренними компонентами системы Gifty: админ-панелью (Dashboard), воркерами парсинга и системой скоринга (Intelligence).
Эти эндпоинты требуют высокого уровня привилегий и не предназначены для вызова из публичного фронтенда.
Аутентификация
Все запросы к Internal API требуют передачи токена доступа в заголовке X-Internal-Token.
| Заголовок | Описание |
|---|---|
X-Internal-Token |
Секретный токен, заданный в настройках (INTERNAL_API_TOKEN). |
🕷 Управление Парсингом (Sources)
1. Список источников (/sources)
Возвращает все зарегистрированные сайты и категории для сбора данных.
- URL:
/internal/sources - Метод:
GET - Response:
List[ParsingSourceSchema]
2. Детальная информация (/sources/{source_id})
Возвращает полную историю запусков, текущий конфиг и статистику конкретного парсера.
- URL:
/internal/sources/{source_id} - Метод:
GET - Response:
ParsingSourceSchema(включая массивhistoryиtotal_items).
3. Бэклог обнаружения (/sources/backlog)
Список новых сайтов или категорий, которые система нашла автоматически, но еще не начала парсить.
- URL:
/internal/sources/backlog - Метод:
GET - Response:
List[ParsingSourceSchema](объекты со статусомdiscovered).
4. Активация обнаруженного (/sources/backlog/activate)
Массовый перевод источников из бэклога в активный режим.
- URL:
/internal/sources/backlog/activate - Метод:
POST - Body:
{ "source_ids": [1, 2, 3] }
5. Принудительный запуск (/{id}/force-run)
Отправляет задачу на парсинг в RabbitMQ немедленно, игнорируя расписание.
- URL:
/internal/sources/{source_id}/force-run - Метод:
POST - Параметры:
strategy(optional): Переопределение стратегии (discoveryилиdeep).
6. Включение/Выключение (/{id}/toggle)
Активирует или деактивирует автоматический запуск парсера по расписанию.
- URL:
/internal/sources/{source_id}/toggle - Метод:
POST - Body:
{ "is_active": bool }
📦 Сбор и Обработка данных
1. Прием данных (/ingest-batch)
Основной эндпоинт, через который Scrapy-воркеры передают собранные товары и категории в основную БД.
- URL:
/internal/ingest-batch - Метод:
POST - Body:
IngestBatchRequest(список товаров и найденных категорий).
2. Статистика воркеров (/workers)
Возвращает список запущенных в данный момент Scrapy-контейнеров и их текущую загрузку.
- URL:
/internal/workers - Метод:
GET
🧠 Интеллект и Категоризация
1. Задачи на скоринга (/scoring/tasks)
Используется внешними LLM-воркерами (например, в Kaggle/Colab) для получения товаров, которые еще не прошли оценку по 10 осям GUTG.
- URL:
/internal/scoring/tasks - Метод:
GET - Параметры:
limit(default: 50).
2. Задачи на маппинг категорий (/categories/tasks)
Список «сырых» категорий, полученных от парсеров, которые нужно сопоставить с внутренним деревом категорий Gifty с помощью AI.
- URL:
/internal/categories/tasks - Метод:
GET
🛡 Доступ и Telegram
1. Управление подписчиками (/telegram/subscribers)
Управление правами доступа пользователей Telegram-бота и админ-панели (роли admin, superadmin).
2. Авторизация WebApp (/webapp/auth)
Проверка initData от Telegram Mini App для входа в Dashboard.
- URL:
/internal/webapp/auth - Метод:
POST - Body:
{ "init_data": "..." }