Referência da API

Referência completa para a API REST AutoSEO. Todos os endpoints requerem um token Bearer válido, a menos que indicado de outra forma. URL base: https://panel.seoauto.ai

Visão geral

A API de automação PSEO da AutoSEO permite criar sites (PSEOs) programaticamente, acionar a geração de conteúdo baseada em IA, rastrear tarefas de geração e gerenciar seu pipeline de conteúdo. Todos os endpoints estão sob o prefixo de caminho /pseo-endpoints, montado no backend Directus.

URL base

https://panel.seoauto.ai

Autenticação

Bearer Token (JWT)

Formato

JSON (REST)


Autenticação

Todas as chamadas de API (exceto a verificação de integridade) requerem um token de usuário Directus passado como cabeçalho Bearer. Obtenha um token de acesso de curta duração fazendo login, ou use um token estático de longa duração gerado no seu painel.

Opção 1 — Login (JWT de curta duração)

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

Opção 2 — Token estático (painel)

Vá para Painel → Chave API e gere um token estático permanente. Use-o diretamente como valor Bearer — sem prazo de validade para rastrear.

Usando o token

http header
Authorization: Bearer <your_access_token>

Verificação de integridade

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

Retorna o status da extensão e uma lista de endpoints disponíveis. Sem autenticação necessária.

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"
  ]
}

Criar site

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

Cria uma nova entrada PSEO (site) para o usuário autenticado. O registro PSEO é a entidade raiz que contém todas as configurações de geração de conteúdo para um site específico.

Corpo da requisição

CampoTipoObrigatórioDescrição
website_urlstringobrigatórioURL completa do site alvo (ex. https://example.com)
master_promptstringobrigatórioInstruções que guiam a IA ao gerar conteúdo para este site
website_softwarestringopcionalIdentificador de CMS/plataforma. Padrão "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"
}

Iniciar geração (Teste)

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

Inicia uma tarefa de geração de conteúdo de IA sob demanda para um PSEO. Limitada a 1 página (modo de teste). A tarefa é executada de forma assíncrona em segundo plano. Os tokens são deduzidos imediatamente à taxa token_per_page.

Modo de teste — máx. 1 página

A geração sob demanda é limitada a 1 página e serve para testar a configuração. Para gerar várias páginas de uma vez, use o endpoint de Geração em massa com Claude Batch API.

Corpo da requisição

CampoTipoObrigatórioDescrição
pseo_idnumberobrigatórioID do PSEO (site) para gerar conteúdo
post_countnumberobrigatórioNúmero de páginas a gerar. Deve ser 1 (limite de teste)
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"
}

Limite de geração simultânea

Apenas uma geração ativa por PSEO é permitida de cada vez. Se uma tarefa com status pendente ou em execução já existir, a requisição retornará 409 Conflict.


Geração em massa

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

Inicia uma tarefa de geração em massa de conteúdo de IA usando Claude Batch API. Suporta qualquer número de páginas. Os tokens são deduzidos à taxa token_per_batch_page.

Corpo da requisição

CampoTipoObrigatórioDescrição
pseo_idnumberobrigatórioID do PSEO (site) para gerar conteúdo
post_countnumberobrigatórioNúmero de páginas a gerar (inteiro positivo, sem limite superior)
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"
}

Limite de geração simultânea

Apenas uma geração ativa por PSEO é permitida de cada vez. Se uma tarefa com status pendente ou em execução já existir, a requisição retornará 409 Conflict.


Obter geração

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

Retorna o registro de status completo para uma única tarefa de geração. Consulte este endpoint após iniciar uma geração para rastrear o progresso.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idnumberobrigatórioO generation_id retornado pelo endpoint de início de geração
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"
}
StatusSignificado
pendingTarefa na fila, ainda não iniciada
runningA IA está gerando páginas ativamente
completedTodas as páginas geradas com sucesso
failedTarefa interrompida devido a um erro crítico; verificar failed_routes

Listar gerações

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

Retorna uma lista de até 50 tarefas de geração mais recentes para um PSEO específico, ordenadas da mais nova para a mais antiga. Retorna apenas tarefas do usuário autenticado.

Parâmetros de consulta

CampoTipoObrigatórioDescrição
pseo_idnumberobrigatórioO ID do PSEO (site) para listar as gerações
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"
}

Gerar mapa do site

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

Usa IA para gerar um plano de conteúdo estruturado (main_json) para o PSEO — essencialmente uma lista de rotas de páginas, títulos e metadados que será usada como modelo para a geração de conteúdo. Os tokens são deduzidos na taxa token_per_main_json.

Corpo da requisição

CampoTipoObrigatórioDescrição
pseo_idnumberobrigatórioID do PSEO alvo
language_codestringobrigatórioIdioma para o plano de conteúdo, ex. en-US, tr-TR, de-DE
descriptionstringobrigatórioDescrição do negócio (150–1000 caracteres). Deve cobrir setor, serviços, público-alvo e objetivos.
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"
}

Limite de geração simultânea

Apenas uma geração main_json por usuário pode ser executada de cada vez. Requisições simultâneas retornam 409 Conflict.


Obter mapa do site

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

Obtém e analisa o mapa do site do site associado a um PSEO. Tenta automaticamente vários caminhos comuns de mapa do site (incluindo índices de sitemap). Retorna uma lista plana de todas as URLs de páginas encontradas. Útil para importar a estrutura de URL de um site existente.

Parâmetros de consulta

CampoTipoObrigatórioDescrição
pseo_idnumberobrigatórioID do PSEO — o mapa do site é obtido do website_url armazenado neste registro

Caminhos de mapa do site tentados (em ordem): /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"
  ]
}

Retorna um array urls vazio se nenhum mapa do site for encontrado ou o site nao for acessivel. Nao lanca erro.


Códigos de erro

Todas as respostas de erro seguem a mesma estrutura:

json — error shape
{
  "success": false,
  "error": "Human-readable error message",
  "timestamp": "2026-03-10T12:00:00.000Z"
}
StatusSignificado
400Bad RequestParâmetros de requisição ausentes ou inválidos
401UnauthorizedToken Bearer ausente ou inválido
402Payment RequiredSaldo de tokens insuficiente para a operação solicitada
403ForbiddenO usuário autenticado não é o proprietário do recurso solicitado
404Not FoundRegistro PSEO ou de geração não existe
409ConflictUma tarefa de geração simultânea já está ativa
500Internal Server ErrorErro inesperado do lado do servidor; verificar logs da extensão
Referência da API | SeoAuto.ai | SeoAuto.ai