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)
https://panel.seoauto.ai/auth/login{
"email": "you@example.com",
"password": "••••••••"
}{
"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
Authorization: Bearer <your_access_token>Verificação de integridade
https://panel.seoauto.ai/pseo-endpoints/Retorna o status da extensão e uma lista de endpoints disponíveis. Sem autenticação necessária.
{
"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
https://panel.seoauto.ai/pseo-endpoints/pseoCria 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| website_url | string | obrigatório | URL completa do site alvo (ex. https://example.com) |
| master_prompt | string | obrigatório | Instruções que guiam a IA ao gerar conteúdo para este site |
| website_software | string | opcional | Identificador de CMS/plataforma. Padrão "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"
}Iniciar geração (Teste)
https://panel.seoauto.ai/pseo-endpoints/trigger/on-demand-generationInicia 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pseo_id | number | obrigatório | ID do PSEO (site) para gerar conteúdo |
| post_count | number | obrigatório | Número de páginas a gerar. Deve ser 1 (limite de teste) |
{
"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"
}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
https://panel.seoauto.ai/pseo-endpoints/trigger/bulk-generationInicia 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pseo_id | number | obrigatório | ID do PSEO (site) para gerar conteúdo |
| post_count | number | obrigatório | Número de páginas a gerar (inteiro positivo, sem limite superior) |
{
"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"
}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
https://panel.seoauto.ai/pseo-endpoints/generations/:idRetorna 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | number | obrigatório | O generation_id retornado pelo endpoint de início de geração |
{
"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"
}| Status | Significado |
|---|---|
| pending | Tarefa na fila, ainda não iniciada |
| running | A IA está gerando páginas ativamente |
| completed | Todas as páginas geradas com sucesso |
| failed | Tarefa interrompida devido a um erro crítico; verificar failed_routes |
Listar gerações
https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=:pseo_idRetorna 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pseo_id | number | obrigatório | O ID do PSEO (site) para listar as gerações |
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"
}Gerar mapa do site
https://panel.seoauto.ai/pseo-endpoints/generate/main-jsonUsa 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pseo_id | number | obrigatório | ID do PSEO alvo |
| language_code | string | obrigatório | Idioma para o plano de conteúdo, ex. en-US, tr-TR, de-DE |
| description | string | obrigatório | Descrição do negócio (150–1000 caracteres). Deve cobrir setor, serviços, público-alvo e objetivos. |
{
"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"
}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
https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=:pseo_idObté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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pseo_id | number | obrigatório | ID 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
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"
]
}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:
{
"success": false,
"error": "Human-readable error message",
"timestamp": "2026-03-10T12:00:00.000Z"
}| Status | Significado |
|---|---|
| 400Bad Request | Parâmetros de requisição ausentes ou inválidos |
| 401Unauthorized | Token Bearer ausente ou inválido |
| 402Payment Required | Saldo de tokens insuficiente para a operação solicitada |
| 403Forbidden | O usuário autenticado não é o proprietário do recurso solicitado |
| 404Not Found | Registro PSEO ou de geração não existe |
| 409Conflict | Uma tarefa de geração simultânea já está ativa |
| 500Internal Server Error | Erro inesperado do lado do servidor; verificar logs da extensão |
