Aurora
Documentação da API
API da Aurora
Cada agente que você cria em Minha conta → Agentes vira uma integração independente: seu sistema manda uma mensagem, a Aurora processa e devolve a resposta no seu webhook — sem você precisar segurar a conexão aberta esperando.
Base URL
https://SEU_DOMINIO/aurora/api
Fluxo: 1) você manda a mensagem pra /v1/messages com o token do agente e a webhook_url onde quer receber a resposta —
2) a Aurora responde na hora só com um recibo (session_uid +
message_uid) — 3) quando a resposta de verdade fica pronta, a Aurora
faz um POST nessa URL, com o texto da resposta.
Autenticação
Toda chamada precisa do token do agente no cabeçalho Authorization, como Bearer token:
Authorization: Bearer aur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
O token só aparece uma vez, no momento em que você cria o agente. Cada agente aceita chamadas
vindas de um ou mais IPs cadastrados — chamadas de outro IP recebem 403.
Modelos disponíveis
Escolha o modelo no campo model de cada requisição. Se omitido, usa aurora-chat. Os modelos são abstrações de produto — detalhes de implementação nunca são expostos na resposta.
| Model | Melhor para | Formato de saída |
|---|---|---|
aurora-chat |
Chatbots de suporte, Q&A, atendimento geral. Contexto de conversa mantido por sessão. | Texto livre |
aurora-revisor |
Revisão e reescrita de textos corporativos — e-mails, mensagens, comunicados. Retorna quatro variantes de tom para o cliente escolher. | Estruturado: |informal| |normal| |formal| |profissional| |
aurora-reason |
Análises, decisões complexas, diagnósticos técnicos. Raciocínio mais lento e mais profundo. | Texto livre com desenvolvimento de raciocínio |
Listar modelos via API
/v1/models
{
"success": true,
"default": "aurora-chat",
"models": [
{ "id": "aurora-chat", "label": "Aurora Chat", "description": "Assistente conversacional de propósito geral." },
{ "id": "aurora-revisor", "label": "Aurora Revisor 1.0", "description": "Revisão e reescrita corporativa com quatro variantes de tom." },
{ "id": "aurora-reason", "label": "Aurora Reason", "description": "Raciocínio analítico aprofundado para análises e decisões complexas." }
]
}
Formato de saída do aurora-revisor
O campo answer no webhook segue este padrão — cada seção começa com o marcador de tom:
|informal| Oi João, preciso da sua ajuda com o acesso ao sistema! |normal| Olá João, poderia me auxiliar com o acesso ao sistema? |formal| Prezado João, solicito sua assistência com o acesso ao sistema. |profissional| João, solicito suporte para regularizar meu acesso ao sistema.
Enviar mensagem
/v1/messages
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
text | string | Sim | A mensagem do usuário. |
webhook_url | string | Sim | URL pública https:// onde a Aurora entregará a resposta quando estiver pronta. |
model | string | Não | Modelo a usar: aurora-chat (padrão), aurora-revisor ou aurora-reason. Se omitido, usa o padrão ou a persona vinculada ao token. |
context | string | Não | Instruções ou contexto para esta chamada (até 4000 caracteres). Ignorado quando model ou persona do token estão presentes. |
session_externo | string | Não | Seu próprio identificador de sessão/thread (até 200 caracteres). Reenviar o mesmo valor mantém a conversa e o contexto anterior; se omitir, cada chamada começa uma sessão nova. |
Exemplo — revisão de texto
{
"model": "aurora-revisor",
"text": "oi joao preciso de help com o acesso ao sistema",
"webhook_url": "https://seusite.com/webhook/aurora",
"session_externo": "ticket-9821"
}
Exemplo — suporte geral
{
"text": "Qual o horário de funcionamento?",
"webhook_url": "https://seusite.com/webhook/aurora",
"session_externo": "user-4821"
}
Resposta — 200 OK
Confirma que a mensagem foi aceita e entrou na fila. Não é a resposta da Aurora — essa chega depois no seu webhook.
{
"success": true,
"session_uid": "e8ec079e-be74-485b-8057-8f9ed50770e7",
"message_uid": "8ced4453-cea3-4f48-827b-4a32340d2ace",
"usage": { "used": 3, "limit": 20, "remaining": 17 }
}
| Campo | Tipo | Descrição |
|---|---|---|
session_uid | uuid | Identifica a sessão/conversa. Guarde e reuse via session_externo pra manter contexto. |
message_uid | uuid | Identifica esta mensagem específica — é o mesmo id que volta no webhook e serve para reportar feedback. |
usage.used | number | Mensagens usadas hoje (contando esta). |
usage.remaining | number | Mensagens restantes até o limite diário. |
Resposta assíncrona (webhook)
Quando a Aurora termina de gerar a resposta, ela faz um POST na webhook_url
que você enviou na requisição, com Content-Type: application/json. Até 3 tentativas com espera curta entre
elas se o seu endpoint não responder 2xx.
Payload — sucesso
{
"session_uid": "e8ec079e-be74-485b-8057-8f9ed50770e7",
"message_uid": "8ced4453-cea3-4f48-827b-4a32340d2ace",
"session_externo": "user-4821",
"answer": "Funcionamos de terça a domingo, das 18h à meia-noite.",
"stopped": false,
"created_at": "2026-08-08T20:08:16.229Z"
}
Payload — erro na geração
{
"session_uid": "e8ec079e-be74-485b-8057-8f9ed50770e7",
"message_uid": "8ced4453-cea3-4f48-827b-4a32340d2ace",
"session_externo": "user-4821",
"error": "Erro ao gerar resposta."
}
session_externo vem exatamente como você mandou (ou null se não mandou).
stopped:true significa que a geração foi interrompida no meio — answer ainda
assim traz o texto parcial gerado até ali.
Consultar uso
/v1/usage
Verifica quantas mensagens foram usadas hoje sem gastar nenhuma da sua cota.
Resposta — 200 OK
{
"success": true,
"used": 3,
"limit": 20,
"remaining": 17,
"resets_at": "2026-08-09T00:00:00.000Z"
}
| Campo | Tipo | Descrição |
|---|---|---|
used | number | Mensagens enviadas hoje pelo agente. |
limit | number | Limite diário configurado no agente. |
remaining | number | Quantas mensagens ainda cabem hoje. |
resets_at | ISO 8601 UTC | Quando o contador zera (meia-noite UTC). |
Reportar feedback
/v1/feedback
Permite que seu sistema sinalize se a resposta de um message_uid foi boa ou ruim.
Tem limite próprio (100 feedbacks/dia por agente), separado da cota de mensagens — reportar
feedback não consome mensagens do seu plano.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
message_uid | string (uuid) | Sim | O message_uid recebido no recibo ou no webhook. |
rating | string | Sim | "negative" ou "positive". |
comment | string | Não | Observação livre sobre o problema (até 2000 caracteres). |
Exemplo
{
"message_uid": "8ced4453-cea3-4f48-827b-4a32340d2ace",
"rating": "negative",
"comment": "A resposta ignorou o tom formal solicitado."
}
Resposta — 200 OK
{
"success": true,
"feedback_id": "a1b2c3d4-0000-0000-0000-abcdef012345"
}
Erros
| Status | Quando acontece |
|---|---|
| 400 | text vazio ou ausente. |
| 401 | Token ausente, inválido, revogado, ou a conta dona do agente foi desativada. |
| 403 | Chamada veio de um IP diferente do cadastrado no agente. |
| 429 | Limite diário atingido (mensagens ou feedbacks) — resposta inclui limit e o header Retry-After. |
| 503 | Serviço de fila indisponível no momento — tente de novo em instantes. |
{ "success": false, "error": "Limite diário de mensagens atingido.", "limit": 20 }
Testar agora
Cole o token de um agente seu e mande uma mensagem de teste direto daqui.