Usuário final
Criar, listar e ler matérias; consultar cota e perfil.
Authorization: Bearer <access_token>
Referência completa dos endpoints de MateriasComIA. Integração via REST com autenticação JWT.
https://materias.globals.tech/api/v1
JWT_SECRET_KEY,
MASTER_TOKEN e demais variáveis apenas no .env do servidor.
Dois níveis de credenciais protegem a API e o painel web.
Criar, listar e ler matérias; consultar cota e perfil.
Authorization: Bearer <access_token>
Gerenciar planos, usuários e relatórios de custo.
X-Master-Token: <master_token>
| Variável (.env) | Função |
|---|---|
JWT_SECRET_KEY | Assina tokens JWT — nunca expor publicamente |
MASTER_TOKEN | Acesso aos endpoints /master/* |
REGISTRATION_ENABLED | true ou false para cadastro público |
https://materias.globals.tech/api/health
Público
Verifica se a API está online. Não requer autenticação.
{
"status": "ok",
"service": "materiascomia-api"
}
/api/v1/auth/register
Condicional
Cria conta e retorna JWT. Ativo apenas com REGISTRATION_ENABLED=true.
{
"email": "usuario@empresa.com",
"password": "SenhaSegura123",
"name": "Nome do Usuário",
"plan_slug": "basico"
}
/api/v1/auth/login
Público
Autentica usuário existente e retorna access_token.
{
"email": "usuario@empresa.com",
"password": "SenhaSegura123"
}
/api/v1/auth/me
Bearer
Retorna dados do usuário autenticado e plano vinculado.
/api/v1/plans
Público
Lista planos ativos com limites mensais de matérias.
Geração assíncrona em fila. Todas as rotas exigem Bearer JWT.
/api/v1/articles
Bearer
Enfileira nova matéria. Resposta 202 Accepted.
{
"subject": "Como funciona o Tesouro Direto em 2026",
"style": "especialista",
"instructions": "Foque no sistema Y e na empresa X. Tom mais pessimista nos riscos."
}
style: especialista · humanizado · tecnico
instructions (opcional): conteúdo avançado para personalizar foco, tom, produto ou empresa (máx. 4000 caracteres).
/api/v1/articles/generation-status
Bearer
Resumo da fila: queued, processing, published, failed.
/api/v1/articles
Bearer
Lista matérias do usuário. Query: page, per_page, status.
/api/v1/articles/{id}
Bearer
Detalhe com html_content, capa, meta e status de geração.
/api/v1/articles/{id}
Bearer
Remove matéria. Resposta 204 No Content.
queuedNa filaprocessingGerandopublishedProntafailedErro/api/v1/quota
Bearer
Limite do plano, matérias usadas e restantes no mês corrente.
Requer header X-Master-Token em todas as requisições.
/api/v1/master/usersCriar usuário/api/v1/master/plansCriar plano/api/v1/master/plansListar planos/api/v1/master/plans/{id}Atualizar planoRelatórios de consumo DeepSeek + imagens. Requer X-Master-Token.
/api/v1/master/costs/summaryTotais e médias/api/v1/master/costsLista paginada/api/v1/master/costs/articles/{id}Detalhe por matériaInterface web em /painel/login para administrar matérias com login e senha próprios (separado da API).
As rotas /materias e /materias/{id} exigem token JWT válido:
?token=SEU_ACCESS_TOKENAuthorization: Bearer SEU_ACCESS_TOKENPOST /auth/login → obter access_token
GET /quota → verificar limite disponível
POST /articles → matéria entra na fila
Polling em /generation-status ou /articles/{id}
Usar html_content ou /materias/{id}?token=...
# Login curl -s -X POST https://materias.globals.tech/api/v1/auth/login \ -H "Content-Type: application/json" \ -d '{"email":"usuario@empresa.com","password":"SUA_SENHA"}' # Enfileirar matéria curl -s -X POST https://materias.globals.tech/api/v1/articles \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json" \ -d '{"subject":"Assunto da matéria","style":"especialista","instructions":"Foque na empresa X e apresente o sistema Y"}' # Status da fila curl -s https://materias.globals.tech/api/v1/articles/generation-status \ -H "Authorization: Bearer TOKEN"