# 🚀 Enviar Alertas via API (Solução Simples) ## ✅ Problema Resolvido! Adicionei **2 rotas API** no servidor para enviar alertas sem precisar configurar .env separado. --- ## 📋 Pré-requisitos 1. Servidor rodando: `node server-supabase.js` 2. Configurações no painel admin: - Evolution API (URL, Instância, API Key) - Mercado Pago (Access Token) - Alertas WhatsApp (toggles ATIVOS) --- ## 🎯 Opção 1: Enviar Alertas Atrasados (AGORA) **Para resolver a venda de 20/10 com vencimento em 24/10:** ### Via curl (terminal): ```bash curl -X POST http://localhost:5000/api/alertas/enviar-atrasados \ -H "Content-Type: application/json" ``` ### Via navegador: Abra uma nova aba e execute no Console (F12): ```javascript fetch('http://localhost:5000/api/alertas/enviar-atrasados', { method: 'POST' }) .then(r => r.json()) .then(data => console.log(data)); ``` ### O que faz: - ✅ Busca parcelas vencidas ou vencendo hoje - ✅ Gera PIX para cada uma - ✅ Envia WhatsApp com PIX - ✅ Retorna resumo (quantos enviados, erros) --- ## 🕐 Opção 2: Teste do Sistema Automático **Para testar se o sistema funcionaria hoje (sem enviar de verdade ainda):** ### Via curl: ```bash curl -X POST http://localhost:5000/api/alertas/enviar-vencimentos \ -H "Content-Type: application/json" ``` ### Via navegador (Console F12): ```javascript fetch('http://localhost:5000/api/alertas/enviar-vencimentos', { method: 'POST' }) .then(r => r.json()) .then(data => { console.log('📊 RESULTADO:'); console.log(`✅ Enviados: ${data.alertasEnviados}`); console.log(`❌ Erros: ${data.erros}`); console.log('\n📦 Parcelas:'); console.table(data.parcelas); }); ``` ### O que faz: - Verifica parcelas pendentes - Calcula dias para vencimento - Envia alertas conforme configuração: - 3 dias antes → Primeiro alerta - No dia → Segundo alerta + PIX - 3 dias após → Alerta pós-vencimento - Retorna logs detalhados --- ## 📊 Resposta Esperada ```json { "success": true, "alertasEnviados": 2, "erros": 0, "parcelas": [ { "cliente": "João Silva", "valor": "R$ 150,00", "vencimento": "24/10/2025", "tipo": "segundo_alerta", "status": "enviado" }, { "cliente": "Maria Santos", "valor": "R$ 200,00", "vencimento": "27/10/2025", "tipo": "primeiro_alerta", "status": "enviado" } ], "logs": [ "📋 Configurações: Primeiro=3d (ON), Segundo=0d (ON), Pós=3d (ON)", "📦 15 parcela(s) pendente(s)", "✅ segundo_alerta enviado para João Silva", "✅ primeiro_alerta enviado para Maria Santos", "📊 RESUMO: 2 enviados, 0 erros" ] } ``` --- ## 🔥 AÇÃO IMEDIATA (Para Venda 20/10) **Execute AGORA:** ```bash curl -X POST http://localhost:5000/api/alertas/enviar-atrasados ``` Ou no navegador: 1. Abra `http://localhost:5000` 2. Pressione F12 (Console) 3. Cole e execute: ```javascript fetch('/api/alertas/enviar-atrasados', {method: 'POST'}) .then(r => r.json()) .then(d => console.log('Resultado:', d)); ``` **Isso enviará imediatamente o alerta + PIX para a parcela vencendo hoje!** --- ## 🤖 Automatização com Cron Para executar automaticamente às 09:00 todos os dias: ### Editar cron: ```bash crontab -e ``` ### Adicionar linha: ```cron 0 12 * * * curl -X POST http://localhost:5000/api/alertas/enviar-vencimentos -H "Content-Type: application/json" >> /home/tiago/Downloads/app_estoque_v1.0.0/logs/alertas-api.log 2>&1 ``` **Nota:** `0 12` em UTC = 09:00 em Brasília (UTC-3) ### Criar diretório de logs: ```bash mkdir -p /home/tiago/Downloads/app_estoque_v1.0.0/logs ``` --- ## ✅ Verificar se Funcionou ### 1. Ver logs do servidor: O servidor mostrará no terminal: ``` 🔔 Iniciando envio de alertas de vencimento... 📋 Configurações: Primeiro=3d (ON), Segundo=0d (ON), Pós=3d (ON) 📦 15 parcela(s) pendente(s) ✅ segundo_alerta enviado para João Silva 📊 RESUMO: 2 enviados, 0 erros ``` ### 2. Verificar no banco: ```sql SELECT * FROM mensagens_whatsapp ORDER BY created_at DESC LIMIT 10; ``` ### 3. Verificar PIX gerado: ```sql SELECT numero_parcela, valor, pix_qr_code FROM venda_parcelas WHERE pix_qr_code IS NOT NULL ORDER BY created_at DESC; ``` --- ## 🎯 Vantagens desta Solução | Aspecto | Benefício | |---------|-----------| | **Sem .env extra** | Usa configurações do servidor | | **Sem permissões** | Não precisa chmod | | **Fácil de testar** | Um curl e pronto | | **Logs imediatos** | Vê resultado na hora | | **Cron simples** | Uma linha apenas | | **Debug fácil** | Logs no terminal do servidor | --- ## 🔍 Troubleshooting ### Erro: "Cannot POST /api/alertas/..." **Causa:** Servidor não está rodando **Solução:** ```bash node server-supabase.js ``` ### Erro: "Evolution API não responde" **Causa:** Evolution não configurada **Solução:** Painel Admin → Configurações → Evolution API ### Erro: "Nenhuma parcela encontrada" **Causa:** Não há parcelas pendentes hoje **Solução:** Isso é normal! Sistema está ok. ### Alertas não chegam **Verificar:** 1. Evolution API online? 2. Instância conectada? 3. Cliente tem WhatsApp? 4. Número correto (apenas dígitos)? --- ## 📅 Cronograma de Uso ### Hoje (24/10): ```bash # Resolver venda de 20/10 curl -X POST http://localhost:5000/api/alertas/enviar-atrasados ``` ### Configurar automação: ```bash # Adicionar ao cron crontab -e ``` ### Amanhã (25/10) às 09:01: ```bash # Verificar se executou tail logs/alertas-api.log ``` --- ## 💡 Dicas ### Teste sem enviar: Se quiser só ver quais alertas seriam enviados: ```javascript // No console do navegador fetch('/api/alertas/enviar-vencimentos', {method: 'POST'}) .then(r => r.json()) .then(d => { console.log(`Seriam enviados ${d.alertasEnviados} alertas`); console.table(d.parcelas); }); ``` ### Forçar envio para uma parcela específica: Você pode criar uma rota customizada ou usar o sistema de vendas → Parcelas → Botão "PIX" + Chat WhatsApp. --- ## ✅ Checklist Final - [ ] Servidor rodando (`node server-supabase.js`) - [ ] Evolution API configurada no admin - [ ] Mercado Pago configurado no admin - [ ] Alertas ATIVOS no admin - [ ] Executou `/api/alertas/enviar-atrasados` (resolveu venda 20/10) - [ ] Adicionou ao cron (automação futura) - [ ] Testou e viu resultado no console --- **🎉 Sistema pronto! Muito mais simples que scripts separados!** ✨ **Qualquer dúvida, os logs aparecem no terminal do servidor.** 📊