Integrações e API
Conecte seu app a sistemas externos com segurança e previsibilidade.
Use esta página como guia de decisão + checklist. Depois, detalhe por caso.
Integrações quase sempre mexem com autenticação e governança. Combine com Configurações do Runtime.
Decisões rápidas (antes de implementar)
Direção: Inbound (entrada) ou Outbound (saída)?
Modo: síncrono (API) ou assíncrono (eventos/webhook/fila)?
Frequência: real-time, near real-time, ou batch?
Contrato: você controla ambos os lados (melhor) ou é “API de terceiros”?
Confiabilidade: precisa de retries, reprocessamento, idempotência?
Checklist mínimo (produção)
Ambientes: endpoints e credenciais por Dev/Staging/Prod.
Autorização: menor privilégio (scopes/roles mínimos).
Rotação de segredos: com data e dono.
Observabilidade: logs + correlação (ex:
requestId,eventId).Tratamento de falha: retry com backoff + dead-letter/reprocessar.
LGPD: evite vazar PII em logs e payloads.
Autenticação de API (OAuth2/OIDC, tokens)
Escolha um padrão e documente. Evite “token fixo” sem rotação.
Opções comuns
OAuth2 Client Credentials: bom para integração sistema-sistema.
OAuth2 Authorization Code (com PKCE): bom quando há usuário.
OIDC (ID token): para identidade; não substitui autorização na API.
API keys / tokens pessoais: só se existir rotação e escopo.
Regras práticas
Valide audience, issuer e expiração do token.
Separe “quem autenticou” de “o que pode fazer” (claims vs roles).
Padronize resposta de erro:
401: não autenticou / token inválido/expirado.403: autenticou, mas sem permissão.
Se você usa SSO corporativo, valide claims e mapeamento de grupos. Veja SSO e login.
Rate limits e quotas
Rate limit é parte do contrato. Documente limite e comportamento de retry.
Boas práticas do cliente
Trate
429 Too Many Requestscomo esperado.Respeite
Retry-Afterquando existir.Use exponential backoff com jitter.
Paralelismo controlado. Evite “fan-out” sem limite.
Como desenhar limites (lado servidor)
Limite por tenant + por credencial (service account).
Diferencie burst vs sustentado.
Proteja endpoints caros (busca, relatórios, exportações).
Webhooks
Webhooks são o jeito mais simples de “event-driven” quando você não controla filas.
Checklist de webhooks (quem envia)
Payload versionado (
schemaVersion).eventIdúnico +occurredAt.Retry automático com backoff.
Assinatura do payload (ex: HMAC) + rotação do segredo.
Checklist de webhooks (quem recebe)
Responda
2xxrápido. Processe assíncrono.Implemente idempotência por
eventId.Registre: status, tentativas, último erro, tempo de processamento.
Tenha botão/rota de reprocessar para eventos com erro.
Connectors (ERP/CRM/…)
Conector é um pacote de integração com:
Autenticação + renovação de credencial.
Mapeamento de objetos (ex:
Cliente↔Account).Sincronização (push, pull, ou ambos).
Tratamento de erros e reprocessamento.
Estratégias de sync (escolha 1)
Pull (polling): simples, mas aumenta custo e latência.
Push (webhook/event): melhor para real-time.
Híbrido: webhook + reconciliar diário (reduz “drift”).
Se você precisa “integrar rápido”, comece com híbrido. Webhook falha. Reconciliar salva.
Integração com banco / data access
Integração direta via banco é poderosa, mas arriscada.
Guardrails
Prefira leitura (views/read replica) ao invés de escrita direta.
Defina owner do schema. Evite “app escrevendo no schema do ERP”.
Não acople em tabelas internas voláteis. Prefira views estáveis.
Logue queries lentas. Crie índices com cuidado.
Como pedir isso no Madrix (prompts)
Se você vai gerar/ajustar integração via Chat AI, passe requisitos testáveis.
Para um prompt pronto de integração com log + reprocessar, veja o bloco Integrações em Prompts rápidos.
Troubleshooting rápido
401/403 em integração: token expira? scopes/roles corretos?
429: paralelismo alto? faltou backoff? tem batch?
Webhook duplicando: faltou idempotência por
eventId.Integração “lenta”: chamada externa travando request principal? Veja Performance e lentidão.
Atualizado
Isto foi útil?
