Справочник 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)

POSThttps://panel.seoauto.ai/auth/login
json — request body
{
  "email": "you@example.com",
  "password": "••••••••"
}
json — response
{
  "data": {
    "access_token": "eyJhbGciO...",
    "expires": 3600000,
    "refresh_token": "..."
  }
}

Вариант 2 — Статический токен (панель управления)

Перейдите в Панель управления → Ключ API и создайте постоянный статический токен. Используйте его напрямую в качестве значения Bearer — без срока действия для отслеживания.

Использование токена

http header
Authorization: Bearer <your_access_token>

Проверка работоспособности

GEThttps://panel.seoauto.ai/pseo-endpoints/

Возвращает статус расширения и список доступных конечных точек. Аутентификация не требуется.

json — response 200
{
  "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"
  ]
}

Создать сайт

POSThttps://panel.seoauto.ai/pseo-endpoints/pseo

Создаёт новую запись PSEO (веб-сайт) для аутентифицированного пользователя. Запись PSEO является корневой сущностью, содержащей все настройки генерации контента для конкретного веб-сайта.

Тело запроса

ПолеТипОбязательноеОписание
website_urlstringобязательноеПолный URL целевого веб-сайта (например, https://example.com)
master_promptstringобязательноеИнструкции, направляющие ИИ при генерации контента для этого веб-сайта
website_softwarestringнеобязательноеИдентификатор CMS/платформы. По умолчанию "wordpress"
json — request body
{
  "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."
}
json — response 201
{
  "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"
}

Запустить генерацию (Тест)

POSThttps://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_idnumberобязательноеID PSEO (веб-сайта), для которого генерируется контент
post_countnumberобязательноеКоличество страниц для генерации. Должно быть 1 (тестовый лимит)
json — request body
{
  "pseo_id": 42,
  "post_count": 1
}
json — response 202
{
  "success": true,
  "message": "Generation started in background",
  "generation_id": 7,
  "status": "pending",
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Ограничение одновременной генерации

Одновременно разрешена только одна активная генерация на PSEO. Если уже существует задание со статусом ожидания или выполнения, запрос вернёт 409 Conflict.


Массовая генерация

POSThttps://panel.seoauto.ai/pseo-endpoints/trigger/bulk-generation

Запускает задание массовой генерации контента ОИ с помощью Claude Batch API. Поддерживает любое количество страниц. Токены списываются по ставке token_per_batch_page.

Тело запроса

ПолеТипОбязательноеОписание
pseo_idnumberобязательноеID PSEO (веб-сайта), для которого генерируется контент
post_countnumberобязательноеКоличество страниц для генерации (положительное целое число, без верхнего предела)
json — request body
{
  "pseo_id": 42,
  "post_count": 100
}
json — response 202
{
  "success": true,
  "message": "Bulk generation started in background",
  "generation_id": 12,
  "status": "pending",
  "timestamp": "2026-03-10T12:00:00.000Z"
}

Ограничение одновременной генерации

Одновременно разрешена только одна активная генерация на PSEO. Если уже существует задание со статусом ожидания или выполнения, запрос вернёт 409 Conflict.


Получить генерацию

GEThttps://panel.seoauto.ai/pseo-endpoints/generations/:id

Возвращает полную запись статуса для отдельного задания генерации. Опрашивайте эту конечную точку после запуска генерации для отслеживания прогресса.

Параметры пути

ПолеТипОбязательноеОписание
idnumberобязательноеgeneration_id, возвращённый конечной точкой запуска генерации
json — response 200
{
  "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

Список генераций

GEThttps://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=:pseo_id

Возвращает список последних 50 заданий генерации для заданного PSEO, упорядоченных от новейшего к старейшему. Возвращает только задания, принадлежащие аутентифицированному пользователю.

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

ПолеТипОбязательноеОписание
pseo_idnumberобязательноеID PSEO (веб-сайта), для которого перечисляются генерации
http — example request
GET https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=42
Authorization: Bearer <token>
json — response 200
{
  "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"
}

Создать карту сайта

POSThttps://panel.seoauto.ai/pseo-endpoints/generate/main-json

Использует ИИ для создания структурированного плана контента (main_json) для PSEO — по существу список маршрутов страниц, заголовков и метаданных, который будет использоваться в качестве плана для генерации контента. Токены списываются по ставке token_per_main_json.

Тело запроса

ПолеТипОбязательноеОписание
pseo_idnumberобязательноеID целевого PSEO
language_codestringобязательноеЯзык для плана контента, например en-US, tr-TR, de-DE
descriptionstringобязательноеОписание бизнеса (150–1000 символов). Должно охватывать сектор, услуги, целевую аудиторию и цели.
json — request body
{
  "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."
}
json — response 200
{
  "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.


Получить карту сайта

GEThttps://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=:pseo_id

Получает и анализирует карту сайта веб-сайта, связанного с PSEO. Автоматически пробует несколько общих путей карты сайта (включая индексы карт сайта). Возвращает плоский список всех найденных URL страниц. Полезно для импорта структуры URL существующего веб-сайта.

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

ПолеТипОбязательноеОписание
pseo_idnumberобязательноеID PSEO — карта сайта получается из website_url, хранящегося в этой записи

Проверенные пути карты сайта (по порядку): /sitemap.xml /sitemap_index.xml /wp-sitemap.xml /sitemap

http — example request
GET https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=42
Authorization: Bearer <token>
json — response 200
{
  "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.


Коды ошибок

Все ответы об ошибках имеют одинаковую структуру:

json — error shape
{
  "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Неожиданная ошибка на стороне сервера; проверьте журналы расширения
Справочник API | SeoAuto.ai | SeoAuto.ai