• Documentação interna · APIs locais · WhatsApp
Docs da API Hermes / WhatsApp
Contrato operacional para o Hermes do devbox local enviar logs de WhatsApp ao painel, filtrar dados de clientes e preparar a base para novas integrações.
Endpoint
rota local protegida por token
POST /api/hermes/whatsapp-logs
Authorization: Bearer <token> ou x-roca-ingest-token: <token>
Registros em JSONL no data dir do painel.
analyze=true chama o Hermes local para estruturar clientes, riscos e próximas ações.
Contrato de entrada
JSON aceito pelo POST
O payload pode enviar um bloco de texto em text, uma lista em messages, ou ambos.
Identificador do emissor. Ex.: devbox-local, whatsapp-bridge, ares.
Perfil/agente associado. Ex.: ares, afrodite, apolo.
ID do chat, grupo ou contato WhatsApp.
false = heurística rápida; true = também chama Hermes para análise estruturada.
Texto bruto da conversa/log, limitado internamente para evitar payload gigante.
Array de strings ou objetos com timestamp, from/sender/author, name e text/body/message.
Exemplo de POST
não usar token real na documentação
POST /api/hermes/whatsapp-logs
Authorization: Bearer <ROCA_HERMES_INGEST_TOKEN>
Content-Type: application/json
{
"source": "devbox-local",
"profile": "ares",
"chatId": "120363...@g.us",
"analyze": false,
"messages": [
{
"timestamp": "2026-06-07T14:30:00-03:00",
"from": "5511999999999",
"name": "Cliente Exemplo",
"text": "Meu nome é João. Quero limpar meu nome no Serasa. Meu CPF é 000.000.000-00."
}
]
}Exemplo curl
para testes locais no devbox
curl -X POST http://127.0.0.1:8789/api/hermes/whatsapp-logs \
-H "Authorization: Bearer <ROCA_HERMES_INGEST_TOKEN>" \
-H "Content-Type: application/json" \
-d @whatsapp-log.jsonResposta esperada
extração heurística sem modo IA
{
"ok": true,
"id": "uuid-do-registro",
"receivedAt": "2026-06-07T17:30:00.000Z",
"source": "devbox-local",
"profile": "ares",
"chatId": "120363...@g.us",
"size": 284,
"heuristic": {
"phones": ["5511999999999"],
"cpfs": ["000.000.000-00"],
"cnpjs": [],
"emails": [],
"money": [],
"likelyNames": ["João"],
"scoreTerms": ["Serasa", "limpar nome", "CPF"],
"clientIntent": "scoreplus/credito/limpeza",
"containsSensitiveData": true
},
"ai": null
}Modo IA
quando precisar refinar clientes e próximas ações
Com analyze: true, a API chama o Hermes local e retorna o campo ai com uma análise textual/JSON do conteúdo. Use para lotes menores, triagem de atendimento ou quando precisar consolidar nome, contato, intenção, produto, urgência e próxima ação.
{
"source": "devbox-local",
"profile": "ares",
"chatId": "cliente@s.whatsapp.net",
"analyze": true,
"text": "Cole aqui um bloco de conversa ou transcrição de logs"
}