Tema
Contingência — Quando Integrações Falham
O que acontece e o que fazer quando cada integração externa fica indisponível.
Clerk (autenticação)
Impacto: Nenhum usuário consegue fazer login. Usuários com sessão ativa continuam até o JWT expirar (~1h).
Sintoma: POST /webhooks/clerk retorna erro, ClerkAuthGuard falha ao verificar tokens.
Ação:
- Verificar status em status.clerk.com
- Verificar
CLERK_SECRET_KEYno Azure Key Vault (pode ter expirado) - Se a chave expirou: gerar nova no Clerk Dashboard → atualizar no Key Vault →
bash deploy.sh backend
Degradação aceitável: Enquanto o Clerk estiver fora do ar, nenhuma nova sessão funciona. Operações automatizadas (crons, sync ERP) continuam funcionando pois usam InternalApiKeyGuard.
Meta WhatsApp Cloud API
Impacto: Envio de campanhas WhatsApp falha. Mensagens entram na fila mas não saem.
Sintoma: Jobs whatsapp-send falhando com erro 5xx ou timeout da Meta API.
Ação:
- Verificar developers.facebook.com/status
- Verificar se o
accessTokennão expirou (StoreWhatsappNumber.accessToken) - Verificar se o número não foi suspenso pela Meta (qualityScore = RED)
- Jobs com falha ficam na fila — tentar retry após restauração:
POST /admin/queue/retry-failed
Degradação aceitável: Campanhas agendadas ficam pendentes. O sistema tenta reenvio automaticamente via retry do BullMQ.
Chatwoot
Impacto: Atendimento ao cliente não funciona. Mensagens recebidas não são roteadas para atendentes.
Sintoma: Webhooks do Chatwoot param de chegar. ChatwootApiService retorna erros.
Ação:
- Verificar se o servidor Chatwoot está rodando
- Verificar
ChatwootConfig.instanceUrleapiKey - Mensagens recebidas ficam em
FailedWebhookpara retry
Degradação aceitável: Clientes podem enviar mensagens mas não recebem resposta. Campanhas de WhatsApp continuam funcionando se usam WABA direto.
Evolution API
Impacto: Lojas com número Evolution não conseguem enviar/receber mensagens.
Sintoma: Envios via Evolution falham, webhook do Evolution para de chegar.
Ação:
- Verificar se o servidor Evolution está rodando
- Verificar se o número ainda está conectado (pode precisar de novo QR code)
- Acessar o painel Evolution → verificar status da instância
Degradação aceitável: Lojas WABA continuam funcionando normalmente. Apenas lojas Evolution são afetadas.
Millennium ERP
Impacto: Dados de clientes, vendas e produtos ficam desatualizados. Nenhuma perda de funcionalidade existente.
Sintoma: POST /erp/sync/trigger falha ou retorna zero registros.
Ação:
- Verificar conectividade com
MILLENNIUM_BASE_URL - Verificar credenciais (
MILLENNIUM_USERNAME,MILLENNIUM_PASSWORD) - Sync manual quando o Millennium voltar:
POST /erp/sync/trigger { "startDate": "...", "endDate": "..." }
Degradação aceitável: Sistema continua funcionando com dados do último sync. Campanhas usam dados existentes. Não afeta atendimento.
Redis
Impacto: Sistema crítico. Filas BullMQ param de funcionar. Rate limiting falha aberto.
Sintoma: Backend loga erros de conexão Redis. Jobs param de processar.
Ação:
bash
# Verificar status
docker logs crm-galdix-redis-1 --tail 20
docker ps | grep redis
# Reiniciar Redis
bash deploy.sh --restartNota: Jobs em voo no momento da queda do Redis serão reprocessados quando Redis voltar (BullMQ com AOF garantido).
PostgreSQL
Impacto: Sistema completamente fora do ar. Nenhuma funcionalidade disponível.
Sintoma: Backend falha no health check. Qualquer operação retorna 500.
Ação:
bash
# Verificar status
docker logs crm-galdix-postgres-1 --tail 20
docker ps | grep postgres
# Verificar disco (causa comum)
df -h
# Reiniciar
bash deploy.sh --restartAzure Key Vault
Impacto: Backend não consegue buscar secrets na inicialização. Novo deploy falha.
Sintoma: bash deploy.sh falha ao buscar CLERK_PUBLISHABLE_KEY. Backend falha ao iniciar sem DATABASE_URL.
Ação:
- Verificar
AZURE_CLIENT_SECRETem/home/crm/.crm-secrets - Verificar se o Service Principal ainda tem acesso ao Key Vault no Portal Azure
- Se expirou: renovar o client secret no Portal → atualizar em
.crm-secrets
Degradação aceitável: Sistema já rodando continua funcionando (secrets já carregados). Apenas novos deploys e restarts com boot fresh falharão.
MinIO
Impacto: Upload de imagens em emails falha. Templates de email sem imagens existentes continuam funcionando.
Sintoma: PUT /uploads/image retorna erro.
Ação:
- Verificar servidor MinIO
- Verificar credenciais
MINIO_ACCESS_KEY,MINIO_SECRET_KEY,MINIO_ENDPOINT
Degradação aceitável: Campanhas de email sem novas imagens funcionam normalmente.