Sincronização, e-mail e fallback
Fluxo compatível
Frontend chama
GET /api/proxy/plans.DigitalSac consulta o endpoint externo de planos.
Frontend chama
GET /api/proxy/default-server-id.DigitalSac consulta o ID do servidor padrão.
Frontend chama
POST /api/proxy/register.DigitalSac envia o cadastro ao sistema comercial com
serverId.O sistema comercial responde
success=true.O e-mail é enviado pelo provedor configurado.
As rotas públicas /api/proxy/* possuem rate limit.
Sincronização de planos
Com SYNC_EXTERNAL_PLANS=true, o DigitalSac replica o contrato externo na tabela local Plans.
ID inteiro positivo: upsert pelo ID.
ID não numérico: associação pelo nome; mantenha nomes únicos.
Planos locais ausentes na API externa não são apagados.
Tenants existentes e seus
planIdnão são alterados automaticamente.Falha de sincronização é registrada, mas não derruba a listagem.
Campos omitidos assumem
0oufalsee podem sobrescrever valores existentes.
Envie sempre o contrato completo de cada plano. O vínculo usado pelo DigitalSac é Tenant.planId → Plan.id.
Envio de e-mail
REGISTER_EMAIL_PROVIDER=digitalsac
DigitalSac envia após o cadastro
REGISTER_EMAIL_PROVIDER=custom
Sistema comercial envia
Quando o sistema comercial controla o cadastro, prefira custom para evitar duplicidade.
Fallback
Recomendação:
Se estiver true, o DigitalSac pode tentar o Perfex quando o sistema próprio falhar. Isso pode cadastrar o cliente no destino errado; habilite somente com decisão comercial explícita.
Timeouts e testes
Endpoints
GET: 10 segundos.Cadastro
POST: 30 segundos.Evite chamadas repetidas durante testes por causa do rate limit.
Implemente idempotência no cadastro para suportar retentativas seguras.