🔄 Sistema de Auto-Reconexão WhatsApp

🎯 Principais Benefícios

🆕 Novos Endpoints

POST
/api/whatsapp/{id}/connect

Inicia conexão gerando arquivos Baileys frescos e QR code

POST
/api/whatsapp/{id}/disconnect

Desconecta, limpa arquivos e desabilita auto-reconexão

POST
/api/whatsapp/{id}/auto-reconnect

Habilita/desabilita reconexão automática com configurações

📊 Novos Campos de Resposta

{ "auto_reconnect": true, "reconnect_attempts": 0, "max_reconnect_attempts": 5, "last_reconnect_attempt": "2024-01-15T10:30:00Z", "session_data_cleared_at": "2024-01-15T11:00:00Z", "can_reconnect": true }

🔄 Lógica de Funcionamento

  1. Conectar Manual: auto_reconnect = true
  2. Desconectar Manual: auto_reconnect = false
  3. Falha Automática: Tenta reconectar até limite
  4. Limite Excedido: auto_reconnect = false

⚠️ Mudança Importante para o Frontend

O endpoint antigo POST /api/whatsapp/connect agora apenas cria a conexão no banco, mas não gera arquivos Baileys.

Use POST /api/whatsapp/{id}/connect para realmente conectar e gerar QR code.

🎨 Exemplo de Integração Frontend

// 1. Criar conexão (apenas registro no banco) const response = await fetch('/api/whatsapp/connect', { method: 'POST', body: JSON.stringify({ name: 'WhatsApp Vendas' }) }); const connection = await response.json(); // 2. Conectar de verdade (gera QR) await fetch(`/api/whatsapp/${connection.id}/connect`, { method: 'POST' }); // 3. Escutar QR code via Socket.IO socket.on('qr', (data) => { if (data.sessionId === connection.id) { displayQRCode(data.qr); } }); // 4. Desconectar quando necessário await fetch(`/api/whatsapp/${connection.id}/disconnect`, { method: 'POST' });

📚 Links Úteis

🚀 Sistema mais robusto e user-friendly!