O cliente pergunta em português via API e recebe de volta os dados em JSON.
Envia a pergunta em português via API.
POST /consultarA IA entende a intenção usando o catálogo de dados (tabelas, colunas, convenções).
OpenAIGera o SQL, valida (só SELECT, com LIMIT) e executa sobre os dados.
SQLDevolve o array de dados em JSON para o cliente.
JSONRequisição
POST /consultar Content-Type: application/json { "pergunta": "top 10 credores por valor pago em 2025", "limite_linhas": 500 // opcional (padrão 500) }
Exemplo com curl
curl -X POST http://localhost:5080/consultar \ -H "X-Api-Key: cia_..." \ -H "Content-Type: application/json" \ -d '{"pergunta":"total gasto em 2025"}'
Multi-tenant
// A key identifica o cliente no servidor: key -> cliente_id.
// O cliente nunca informa o tenant nem o caminho dos dados —
// o DuckDB fica confinado a pasta dele (allowed_directories).
// Sem key valida: 401. Nao existe tenant "default".
Resposta
{
"sucesso": true,
"pergunta": "...",
"respondivel": true,
"motivo": null,
"observacoes": null,
"colunas": [
{ "nome": "credor", "tipo": "Varchar" },
{ "nome": "total_pago", "tipo": "Double" }
],
"dados": [
{ "credor": "...", "total_pago": 11831888.04 }
]
}
Descobrir o que dá pra perguntar
GET /catalogo // tabelas, colunas e exemplos
API key do cliente (header X-Api-Key)