Integração
Segurança e homologação
As regras obrigatórias da integração e o que testar antes de pedir a liberação de produção.
Regras obrigatórias
- !clientSecret e segredo do webhook só no servidor (secret manager / variável de ambiente). Nunca no navegador, app mobile, Git ou logs.
- !Seu backend autoriza: cada usuário logado só alcança o próprio
externalUserId; telas de backoffice só para sua equipe. - !Nunca peça ao cliente chave de API, segredo, seed ou chave privada no seu app: use a página hospedada.
- !Não registre
connectUrlnempaymentUrlem log. - !Valide a assinatura de todo webhook e deduplique por
eventId. - !Nunca marque fatura paga sozinho; nunca recalcule PnL, taxa ou cobrança.
- !Sem retry cego em escrita: repita com a mesma
Idempotency-Key.
Checklist de homologação
- 1GET /v1/health e GET /v1/tenants → 200 com a credencial de QA
- 2Cadastro cria o cliente (created:true); repetir não duplica (created:false)
- 3Estratégia selecionada
- 4Hosted Connect Binance e Hyperliquid abrem a página FINAUTON; status acompanhado
- 5Prévia de risco mostra alertas; acima do contrato mostra RISK_ENVELOPE_EXCEEDED
- 6Setup gravado com riskAcknowledgement (depois de conectar)
- 7Automação liga e pausa; blockReason exibido
- 8Posições/proteção e ordens exibidas
- 9Performance e extratos exibidos sem recálculo
- 10Fatura → Pagar → instrução EVM exibida (sem enviar em QA); confirm com 202 tratado
- 11Webhook validado (assinatura, janela, dedup) e feed com cursor
- 12Cliente A não acessa dados do cliente B (sua autorização)
- 13Erros exibidos com code + requestId
O app modelo tem a tela Validação B2B (perfil admin), que roda as checagens básicas contra a credencial configurada.
Onde ver no código do app modelo
| Assunto | Arquivo |
|---|---|
| Cliente REST (Basic, Idempotency-Key, timeout, erros) | src/lib/server/finauton.ts |
| Endpoints usados e quem pode chamar (cliente × backoffice) | src/lib/server/routes.ts |
| Cadastro do cliente → POST /v1/users | src/app/api/auth/signup/route.ts |
| Webhook (HMAC, janela, dedup) | src/app/api/webhooks/finauton/route.ts · src/lib/server/crypto.ts |
| Telas do cliente | src/app/(app)/risco · conexao · operacao · cobranca |
| Backoffice | src/app/(app)/clientes · eventos · validacao · configuracoes |