v0.1.0 · hardening completo (5 fases)
- segurança Consentimento LGPD obrigatório em
POST /v1/analises—consentimento+ timestamp/ip/canal, com trilha de auditoria (GET /v1/leads/:id/consentimentos). - novo Idempotência persistida —
Idempotency-Keyobrigatória em/v1/analises; replay da resposta original e422 idempotency_conflitoem corpo divergente. - novo Enum estável de situação da análise (
em_analise · aprovado · condicionado · recusado · cancelado · erro) + campostatus_original. - novo Webhooks
analise.resultadoeanalise.erroassinados em HMAC-SHA256; consulta read-only emGET /v1/webhooks. - novo Paginação (
limit/offset+tem_mais) em/v1/leads/:id/analisese/consentimentos. - alterado Validação na entrada — CPF (dígito verificador) e CEP; banco por catálogo canônico (
422 banco_invalido); cônjuge obrigatório para casado/união. - alterado Lead é fonte de verdade — dados do titular divergentes do lead retornam
422 divergencia_titular. - alterado Erros padronizados — todo erro traz
codigoestável,camposerequest_id;Retry-Afterem 429/502/503. - corrigido Análise cancelada agora encerra o acompanhamento (antes ficava em polling infinito).
- corrigido
/healthinformaversion,uptime_setimestamp.