Boas práticas
Fluxo recomendado
1. (opcional) GET /v1/history?q=<pergunta> → já existe resposta guardada?
2. POST /v1/ask → só se não houver (gasta LLM)
3. executar sql + params no seu banco (usuário somente leitura)
4. POST /v1/feedback → 👍 / 👎 do usuário
Checklist
- A chamada ao Datafala sai do seu backend; a API key nunca vai ao navegador ou ao app.
- O SQL é executado com um usuário somente leitura, com acesso só às tabelas cadastradas e tempo máximo por consulta.
-
paramsé passado sempre ao driver, mesmo vazio. -
end_useré enviado em todas as perguntas, gerado com HMAC e um segredo fixo do servidor. - Se o sistema é multiempresa, há RLS, views filtradas ou acesso restrito (veja Escopo de dados).
- O timeout do cliente HTTP em
/v1/aské de pelo menos 60 s, e um timeout não é repetido automaticamente. - Erros são tratados pelo
code, comRetry-Afterrespeitado em429e503. - O
request_id(ou o headerX-Request-ID) é registrado nos seus logs. - O usuário pode dar 👍 / 👎, enviado a
/v1/feedback.
Economize tokens
- Reaproveite antes de gerar. Perguntas repetidas podem vir de
/v1/history?q=ou do seu próprio cache porrequest_id. - Cuidado com datas relativas ao reaproveitar: os
paramsguardados são os do dia da pergunta. - Mostre a
explanationao usuário. Ela ajuda a perceber quando a consulta não é o que ele queria, e o 👎 vira sinal para o administrador melhorar contexto e exemplos.