Справочник API
Полный справочник по REST API AutoSEO. Все конечные точки требуют действительный Bearer-токен, если не указано иное. Базовый URL: https://panel.seoauto.ai
Обзор
API автоматизации PSEO AutoSEO позволяет программно создавать веб-сайты (PSEO), запускать генерацию контента на основе ИИ, отслеживать задания генерации и управлять конвейером контента. Все конечные точки находятся под префиксом пути /pseo-endpoints, смонтированным на бэкенде Directus.
Базовый URL
https://panel.seoauto.ai
Аутентификация
Bearer Token (JWT)
Формат
JSON (REST)
Аутентификация
Все вызовы API (кроме проверки работоспособности) требуют передачи токена пользователя Directus в качестве заголовка Bearer. Получите краткосрочный токен доступа, войдя в систему, или используйте долгосрочный статический токен, сгенерированный в вашей панели управления.
Вариант 1 — Вход (краткосрочный JWT)
https://panel.seoauto.ai/auth/login{
"email": "you@example.com",
"password": "••••••••"
}{
"data": {
"access_token": "eyJhbGciO...",
"expires": 3600000,
"refresh_token": "..."
}
}Вариант 2 — Статический токен (панель управления)
Перейдите в Панель управления → Ключ API и создайте постоянный статический токен. Используйте его напрямую в качестве значения Bearer — без срока действия для отслеживания.
Использование токена
Authorization: Bearer <your_access_token>Проверка работоспособности
https://panel.seoauto.ai/pseo-endpoints/Возвращает статус расширения и список доступных конечных точек. Аутентификация не требуется.
{
"status": "ok",
"extension": "pseo-automation",
"version": "1.0.0",
"timestamp": "2026-03-10T12:00:00.000Z",
"endpoints": [
"GET /",
"POST /pseo",
"POST /trigger/on-demand-generation",
"POST /trigger/bulk-generation",
"GET /generations/:id",
"GET /generations?pseo_id=X",
"POST /generate/main-json",
"GET /fetch-sitemap?pseo_id=X"
]
}Создать сайт
https://panel.seoauto.ai/pseo-endpoints/pseoСоздаёт новую запись PSEO (веб-сайт) для аутентифицированного пользователя. Запись PSEO является корневой сущностью, содержащей все настройки генерации контента для конкретного веб-сайта.
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| website_url | string | обязательное | Полный URL целевого веб-сайта (например, https://example.com) |
| master_prompt | string | обязательное | Инструкции, направляющие ИИ при генерации контента для этого веб-сайта |
| website_software | string | необязательное | Идентификатор CMS/платформы. По умолчанию "wordpress" |
{
"website_url": "https://example.com",
"website_software": "wordpress",
"master_prompt": "This website sells handmade leather bags targeting fashion-conscious adults in the US. Write SEO-friendly product content in English using a professional yet warm tone."
}{
"success": true,
"message": "PSEO created successfully",
"data": {
"id": 42,
"website_url": "https://example.com",
"website_software": "wordpress",
"directus_user_id": "uuid-...",
"post_counts_total": 0
},
"timestamp": "2026-03-10T12:00:00.000Z"
}Запустить генерацию (Тест)
https://panel.seoauto.ai/pseo-endpoints/trigger/on-demand-generationЗапускает задание генерации контента ОИ по запросу для PSEO. Ограничено 1 страницей (тестовый режим). Задание выполняется асинхронно в фоновом режиме. Токены списываются немедленно по ставке token_per_page.
Test mode — max 1 page
On-demand generation is limited to 1 page and is intended for testing your setup. To generate multiple pages at once, use the Bulk Generation endpoint which uses Claude Batch API.
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| pseo_id | number | обязательное | ID PSEO (веб-сайта), для которого генерируется контент |
| post_count | number | обязательное | Количество страниц для генерации. Должно быть 1 (тестовый лимит) |
{
"pseo_id": 42,
"post_count": 1
}{
"success": true,
"message": "Generation started in background",
"generation_id": 7,
"status": "pending",
"timestamp": "2026-03-10T12:00:00.000Z"
}Ограничение одновременной генерации
Одновременно разрешена только одна активная генерация на PSEO. Если уже существует задание со статусом ожидания или выполнения, запрос вернёт 409 Conflict.
Массовая генерация
https://panel.seoauto.ai/pseo-endpoints/trigger/bulk-generationЗапускает задание массовой генерации контента ОИ с помощью Claude Batch API. Поддерживает любое количество страниц. Токены списываются по ставке token_per_batch_page.
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| pseo_id | number | обязательное | ID PSEO (веб-сайта), для которого генерируется контент |
| post_count | number | обязательное | Количество страниц для генерации (положительное целое число, без верхнего предела) |
{
"pseo_id": 42,
"post_count": 100
}{
"success": true,
"message": "Bulk generation started in background",
"generation_id": 12,
"status": "pending",
"timestamp": "2026-03-10T12:00:00.000Z"
}Ограничение одновременной генерации
Одновременно разрешена только одна активная генерация на PSEO. Если уже существует задание со статусом ожидания или выполнения, запрос вернёт 409 Conflict.
Получить генерацию
https://panel.seoauto.ai/pseo-endpoints/generations/:idВозвращает полную запись статуса для отдельного задания генерации. Опрашивайте эту конечную точку после запуска генерации для отслеживания прогресса.
Параметры пути
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| id | number | обязательное | generation_id, возвращённый конечной точкой запуска генерации |
{
"success": true,
"data": {
"id": 7,
"pseo_id": 42,
"status": "running", // pending | running | completed | failed
"requested_count": 10,
"created_count": 4,
"failed_count": 0,
"failed_routes": [],
"date_created": "2026-03-10T12:00:00.000Z",
"date_updated": "2026-03-10T12:01:30.000Z",
"date_completed": null
},
"timestamp": "2026-03-10T12:01:35.000Z"
}| Статус | Значение |
|---|---|
| pending | Задание в очереди, ещё не запущено |
| running | ИИ активно генерирует страницы |
| completed | Все страницы успешно сгенерированы |
| failed | Задание остановлено из-за критической ошибки; проверьте failed_routes |
Список генераций
https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=:pseo_idВозвращает список последних 50 заданий генерации для заданного PSEO, упорядоченных от новейшего к старейшему. Возвращает только задания, принадлежащие аутентифицированному пользователю.
Параметры запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| pseo_id | number | обязательное | ID PSEO (веб-сайта), для которого перечисляются генерации |
GET https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=42
Authorization: Bearer <token>{
"success": true,
"data": [
{
"id": 8,
"pseo_id": 42,
"status": "completed",
"requested_count": 5,
"created_count": 5,
"failed_count": 0,
"failed_routes": [],
"date_created": "2026-03-10T13:00:00.000Z",
"date_completed": "2026-03-10T13:04:21.000Z"
},
{ "id": 7, "status": "completed", "..." : "..." }
],
"timestamp": "2026-03-10T14:00:00.000Z"
}Создать карту сайта
https://panel.seoauto.ai/pseo-endpoints/generate/main-jsonИспользует ИИ для создания структурированного плана контента (main_json) для PSEO — по существу список маршрутов страниц, заголовков и метаданных, который будет использоваться в качестве плана для генерации контента. Токены списываются по ставке token_per_main_json.
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| pseo_id | number | обязательное | ID целевого PSEO |
| language_code | string | обязательное | Язык для плана контента, например en-US, tr-TR, de-DE |
| description | string | обязательное | Описание бизнеса (150–1000 символов). Должно охватывать сектор, услуги, целевую аудиторию и цели. |
{
"pseo_id": 42,
"language_code": "en-US",
"description": "We sell premium handmade leather goods including bags, wallets, and belts targeting fashion-conscious adults aged 25–45 in the United States. Our USP is ethically sourced full-grain leather with lifetime repair guarantee."
}{
"success": true,
"message": "main_json generated and saved successfully",
"data": {
"main_json": {
"pages": [
{ "route": "/leather-bags", "title": "Premium Leather Bags", "priority": 1 },
{ "route": "/leather-wallets", "title": "Handmade Leather Wallets", "priority": 2 }
]
},
"total_pages": 28
},
"timestamp": "2026-03-10T12:00:00.000Z"
}Ограничение одновременной генерации
На одного пользователя одновременно может выполняться только одна генерация main_json. Одновременные запросы возвращают 409 Conflict.
Получить карту сайта
https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=:pseo_idПолучает и анализирует карту сайта веб-сайта, связанного с PSEO. Автоматически пробует несколько общих путей карты сайта (включая индексы карт сайта). Возвращает плоский список всех найденных URL страниц. Полезно для импорта структуры URL существующего веб-сайта.
Параметры запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| pseo_id | number | обязательное | ID PSEO — карта сайта получается из website_url, хранящегося в этой записи |
Проверенные пути карты сайта (по порядку): /sitemap.xml → /sitemap_index.xml → /wp-sitemap.xml → /sitemap
GET https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=42
Authorization: Bearer <token>{
"success": true,
"urls": [
"https://example.com/",
"https://example.com/leather-bags",
"https://example.com/leather-wallets",
"https://example.com/about"
]
}Vozvrashchaet pustoy massiv urls, esli karta sayta ne naydena ili sayt nedostupen. Ne vybrasyvaet oshibku.
Коды ошибок
Все ответы об ошибках имеют одинаковую структуру:
{
"success": false,
"error": "Human-readable error message",
"timestamp": "2026-03-10T12:00:00.000Z"
}| Статус | Значение |
|---|---|
| 400Bad Request | Отсутствующие или недействительные параметры запроса |
| 401Unauthorized | Отсутствующий или недействительный Bearer-токен |
| 402Payment Required | Недостаточный баланс токенов для запрошенной операции |
| 403Forbidden | Аутентифицированный пользователь не является владельцем запрошенного ресурса |
| 404Not Found | Запись PSEO или генерации не существует |
| 409Conflict | Одновременное задание генерации уже активно |
| 500Internal Server Error | Неожиданная ошибка на стороне сервера; проверьте журналы расширения |
