Ir para o conteúdo

Integrações

Parceiros externos, o que fazem, status e grau de dependência (lock-in). As chaves ficam em system_config ou variáveis de ambiente — nunca no frontend, nunca em repositório (exceto chaves públicas de sandbox/homologação).

Integração Função Status Lock-in / observação
Supabase Banco (Postgres) + Auth + Storage metadados Produção Alto (banco + auth). Gerenciado.
Bunny.net CDN de mídia (imagens clínicas), URL assinada Produção Médio. Token Authentication ligado (LGPD). bunny_* + bunny_token_key.
Asaas Cobrança (boleto/PIX/cartão), webhooks Produção Médio. Hoje 1 conta; split por clínica é pendência. Camada lib/payments abstrai provedor.
Efí (ex-Gerencianet) Gateway de pagamento (alternativa) Avaliação Baixo (abstraído).
Coiban / CoiBank Gateway/split (alternativa em avaliação) Avaliação A decidir.
Memed Prescrição digital (receita) Homologação Médio. Assinatura por cert em nuvem. Chaves de produção recebidas; valida em homologação. memed_*.
WhatsJá WhatsApp + CRM (canal de mensagens) Planejado Médio. Substitui instância de WhatsApp por clínica.
uazAPI / Meta (WhatsApp) Envio de WhatsApp (pool anti-ban) Produção (legado) Será consolidado no WhatsJá.
Nuvem Fiscal / Focus Emissão de NFS-e Beta Médio. Certificado por clínica. clinic_nfse_config.
Google Places Geomarketing, reputação, parcerias Produção Baixo.
SMTP (smtp2u) E-mail transacional Produção Baixo.
Provedores de assinatura em nuvem (BirdID/VIDaaS) Certificado ICP-Brasil do dentista (via Memed) Planejado Onboarding leve por dentista.

Boas práticas

  • Chaves em system_config (lidas por getConfig, cache de 60s) ou env; o backend as usa, o frontend nunca.
  • Cada integração tem um ambiente de homologação/sandbox separado da produção quando disponível.
  • A camada de pagamento (lib/payments) é abstraída por provedor — trocar gateway é contido.
  • Health das integrações em integration_health e no NOC/SOC (/dev).