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.

ModelMelhor paraFormato 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

GET /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

POST /v1/messages

Corpo da requisição

CampoTipoObrigatórioDescrição
textstringSimA mensagem do usuário.
webhook_urlstringSimURL pública https:// onde a Aurora entregará a resposta quando estiver pronta.
modelstringNãoModelo a usar: aurora-chat (padrão), aurora-revisor ou aurora-reason. Se omitido, usa o padrão ou a persona vinculada ao token.
contextstringNãoInstruções ou contexto para esta chamada (até 4000 caracteres). Ignorado quando model ou persona do token estão presentes.
session_externostringNãoSeu 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 }
}
CampoTipoDescrição
session_uiduuidIdentifica a sessão/conversa. Guarde e reuse via session_externo pra manter contexto.
message_uiduuidIdentifica esta mensagem específica — é o mesmo id que volta no webhook e serve para reportar feedback.
usage.usednumberMensagens usadas hoje (contando esta).
usage.remainingnumberMensagens 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

GET /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"
}
CampoTipoDescrição
usednumberMensagens enviadas hoje pelo agente.
limitnumberLimite diário configurado no agente.
remainingnumberQuantas mensagens ainda cabem hoje.
resets_atISO 8601 UTCQuando o contador zera (meia-noite UTC).

Reportar feedback

POST /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

CampoTipoObrigatórioDescrição
message_uidstring (uuid)SimO message_uid recebido no recibo ou no webhook.
ratingstringSim"negative" ou "positive".
commentstringNãoObservaçã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

StatusQuando acontece
400text vazio ou ausente.
401Token ausente, inválido, revogado, ou a conta dona do agente foi desativada.
403Chamada veio de um IP diferente do cadastrado no agente.
429Limite diário atingido (mensagens ou feedbacks) — resposta inclui limit e o header Retry-After.
503Serviç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.

curl equivalente


        

Exemplos de código

curl



          

JavaScript (fetch)



          

Node.js