📚 API Документация

SEO Aggregator - Система автоматической генерации SEO-оптимизированного контента

← Вернуться на главную

🔐 Авторизация

POST /api/v1/auth/login

Авторизация пользователя в системе

Параметры запроса:

Параметр Тип Обязательный Описание
username string Да Логин или email пользователя
password string Да Пароль пользователя

Пример запроса:

{ "username": "admin", "password": "admin123" }

Пример ответа:

{ "success": true, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "user": { "id": 1, "name": "Администратор", "role": "admin", "email": "admin@example.com" } }

Коды ответов:

200 - Успешная авторизация

401 - Неверные учетные данные

500 - Ошибка сервера

GET /api/v1/auth/validate

Проверка валидности токена авторизации

Заголовки:

Authorization: Bearer {token}

Коды ответов:

200 - Токен валиден

401 - Токен недействителен

📝 Статьи

GET /api/v1/articles

Получение списка статей пользователя

Параметры запроса:

Параметр Тип Описание
limit integer Количество статей на странице (по умолчанию: 20)
offset integer Смещение для пагинации (по умолчанию: 0)
status string Фильтр по статусу: draft, published, processing
category string Фильтр по категории

Пример ответа:

{ "success": true, "data": [ { "id": 1, "title": "SEO оптимизация в 2024", "status": "published", "seoScore": 95, "createdAt": "2024-01-15T10:30:00Z", "views": 1234, "category": "technology" } ], "total": 24, "limit": 20, "offset": 0 }

POST /api/v1/articles

Создание новой статьи

Параметры запроса:

Параметр Тип Обязательный Описание
topic string Да Тема статьи
keyword string Да Основное ключевое слово
audience string Нет Целевая аудитория
length integer Нет Длина статьи в словах (по умолчанию: 1500)
category string Нет Категория статьи
additionalKeywords array Нет Дополнительные ключевые слова
generateImages boolean Нет Генерировать изображения (по умолчанию: false)
addFAQ boolean Нет Добавить FAQ секцию (по умолчанию: false)
addSchema boolean Нет Включить Schema разметку (по умолчанию: true)
writingStyle string Нет Стиль написания: professional, casual, academic
targetSite string Нет Сайт для публикации

Пример запроса:

{ "topic": "SEO оптимизация в 2024", "keyword": "SEO оптимизация", "audience": "professionals", "length": 2000, "category": "technology", "additionalKeywords": ["поисковая оптимизация", "SEO продвижение"], "generateImages": true, "addFAQ": true, "addSchema": true, "writingStyle": "professional", "targetSite": "main" }

Пример ответа:

{ "success": true, "data": { "id": 1, "title": "SEO оптимизация в 2024", "status": "processing", "jobId": "job_123456789", "estimatedTime": "5-10 минут" } }

POST /api/v1/articles/{id}/publish

Публикация статьи на сайте

Параметры запроса:

Параметр Тип Обязательный Описание
targetSite string Нет ID сайта для публикации (по умолчанию: основной сайт)

💰 Биллинг

GET /api/v1/billing

Получение информации о биллинге пользователя

Пример ответа:

{ "success": true, "data": { "monthlyExpense": 3450, "tokensUsed": 45230, "avgCostPerArticle": 144, "budgetRemaining": 6550, "monthlyLimit": 10000 } }

GET /api/v1/billing/monthly

Получение месячных расходов

POST /api/v1/billing/budget

Установка месячного лимита расходов

Параметры запроса:

Параметр Тип Обязательный Описание
limit integer Да Месячный лимит в рублях

🎯 SEO

GET /api/v1/seo

Получение SEO аналитики

Пример ответа:

{ "success": true, "data": { "overallScore": 87, "bestArticles": 12, "averageScore": 85, "improvementTrend": 5.2, "topKeywords": [ {"keyword": "SEO оптимизация", "score": 95}, {"keyword": "поисковая оптимизация", "score": 92} ] } }

GET /api/v1/seo/report/{articleId}

Получение SEO отчета по конкретной статье

POST /api/v1/seo/competitors

Анализ конкурентов по ключевому слову

Параметры запроса:

Параметр Тип Обязательный Описание
keyword string Да Ключевое слово для анализа

⚙️ Настройки

GET /api/v1/settings

Получение настроек пользователя

PUT /api/v1/settings

Обновление настроек пользователя

GET /api/v1/settings/sites

Получение списка подключенных сайтов

POST /api/v1/settings/sites

Добавление нового сайта WordPress

🔔 Уведомления

GET /api/v1/notifications

Получение списка уведомлений

Пример ответа:

{ "success": true, "data": [ { "id": 1, "type": "success", "title": "Задание завершено", "message": "Статья 'SEO оптимизация в 2024' успешно создана", "createdAt": "2024-01-15T10:30:00Z", "read": false } ] }

PUT /api/v1/notifications/{id}/read

Отметка уведомления как прочитанного

PUT /api/v1/notifications/settings

Обновление настроек уведомлений

🔧 Коды ошибок

Код Описание
200 Успешный запрос
400 Неверные параметры запроса
401 Неавторизованный доступ
403 Доступ запрещен
404 Ресурс не найден
429 Превышен лимит запросов
500 Внутренняя ошибка сервера
502 Ошибка шлюза
503 Сервис недоступен

📞 Поддержка

Если у вас возникли вопросы по API или нужна помощь в интеграции, обращайтесь: