Busca ampliada de Leads com DataStone¶
Issue: DEV-1784
Fonte: cadencia-app/docs/features/lead-search-datastone/index.md
Atualizado em: 2026-08-23
Status: publicada em produção; modo sem créditos externos validado; E2E positivo pendente de recarga B2C.
O que foi entregue¶
A aba de leads aceita nome, e-mail, telefone, CPF formatado e CNPJ. Os resultados são tipados como pessoa ou empresa e nenhuma busca cria registro automaticamente: pessoa exige Criar contato; empresa exige Enriquecer (1 crédito).
O fluxo passa por autenticação, tenant gate, rate limit distribuído no Postgres, classificação segura da consulta, DataStone e fallbacks empresariais. CPF é mascarado e o identificador estável usa HMAC; queries, payloads pessoais e respostas do provider não entram em logs.
Regra de créditos¶
Antes de ações pagas, src/lib/datastone.ts consulta o saldo externo com deduplicação em voo e cache curto. Saldo B2C/B2B indisponível retorna 200 com skipped=provider_credits_unavailable, aviso neutro na UI e nenhum débito Cadência. Falha no endpoint gratuito de saldo é fail-open; se o saldo acabar entre preflight e chamada paga, o débito segue estorno idempotente.
Evidência¶
- Preview final: SHA
bf2726ea0dadcfba33fedbe1dbbab98630b7515a, E2E zero-credit verde e sem fixtures. - Produção: deploy Vercel
dpl_C8zYvZQckA4GGpXwEV6av8pMyowZ, aliascadencia.app.br, SHAfdc747463690b076b92a4c221d62abf0b327d65a. - Supabase produção: nove migrations previstas, RLS, RPCs, índices e permissões sensíveis validados.
- E2E produção: busca e botão de contato fizeram skip neutro; créditos, ledger, auditorias e contatos permaneceram inalterados.
Pendente¶
Adicionar créditos B2C e executar o E2E positivo com débito, auditoria, ledger, persistência e idempotência. DEV-1784 permanece In Review até essa evidência.
Referências¶
- Documentação DataStone
- Código da busca
- Tela de Leads