Relatório de Instalação - Waha
🚀 WAHA + Evolution API - Configuração Dual WhatsApp
✅ Status da Implementação
Ambas as APIs WhatsApp estão funcionando em paralelo:
🔗 URLs de Acesso
| Serviço | URL | Porta | Status |
|---|---|---|---|
| WAHA (WhatsApp HTTP API) | https://waha.memudecore.com.br |
3000 | ✅ Funcionando |
| Evolution API | https://evo.memudecore.com.br |
8080 | ✅ Funcionando |
| N8N (Automação) | https://n8n.memudecore.com.br |
- | ✅ Funcionando |
🏗️ Arquitetura Implementada
graph TB
N8N[N8N Workflows] --> WAHA[WAHA API]
N8N --> EVO[Evolution API]
WAHA --> WA1[WhatsApp Session 1]
EVO --> WA2[WhatsApp Session 2]
TRAEFIK[Traefik] --> WAHA
TRAEFIK --> EVO
TRAEFIK --> N8N
🔧 Configuração do WAHA
Container Docker
# Container em execução
docker ps | grep waha
# Output: waha container running on port 3000
Configuração Aplicada
- Engine: NOWEB (compatível com ARM64)
-
Webhook:
https://n8n.memudecore.com.br/webhook/waha - Porta: 3000
- Rede: minha_rede (Docker Swarm)
- SSL: Certificado Let's Encrypt via Traefik
📝 Como Usar Cada API
1. 🆕 WAHA (WhatsApp HTTP API)
Endpoints Principais
# Base URL
https://waha.memudecore.com.br
# Health Check
GET https://waha.memudecore.com.br/api/health
# Documentação Swagger
GET https://waha.memudecore.com.br/docs
# Criar Sessão
POST https://waha.memudecore.com.br/api/sessions
{
"name": "default",
"config": {
"webhooks": [{
"url": "https://n8n.memudecore.com.br/webhook/waha",
"events": ["message"]
}]
}
}
# Enviar Mensagem
POST https://waha.memudecore.com.br/api/sendText
{
"session": "default",
"chatId": "5511999999999@c.us",
"text": "Mensagem via WAHA"
}
Workflow N8N para WAHA
// Exemplo de nó HTTP Request no N8N
{
"method": "POST",
"url": "https://waha.memudecore.com.br/api/sendText",
"headers": {
"Content-Type": "application/json"
},
"body": {
"session": "default",
"chatId": "{{ $json.phoneNumber }}@c.us",
"text": "{{ $json.message }}"
}
}
2. 🔄 Evolution API (Existente)
Endpoints Principais
# Base URL
https://evo.memudecore.com.br
# Manager Interface
https://evo.memudecore.com.br/manager
# Criar Instância
POST https://evo.memudecore.com.br/instance/create
{
"instanceName": "minha-instancia",
"qrcode": true,
"integration": "WHATSAPP-BAILEYS"
}
# Enviar Mensagem
POST https://evo.memudecore.com.br/message/sendText/minha-instancia
{
"number": "5511999999999",
"text": "Mensagem via Evolution"
}
🔀 Cenários de Uso Dual
Caso 1: Segregação por Cliente
// N8N Workflow - Escolher API por cliente
if (cliente.tipo === 'premium') {
// Usar Evolution API para clientes premium
useEvolutionAPI(message);
} else {
// Usar WAHA para clientes básicos
useWAHA(message);
}
Caso 2: Failover Automático
// N8N Workflow - Failover entre APIs
try {
await sendViaWAHA(message);
} catch (error) {
console.log('WAHA failed, trying Evolution API');
await sendViaEvolution(message);
}
Caso 3: Load Balancing
// Distribuir carga entre as duas APIs
const api = Math.random() > 0.5 ? 'waha' : 'evolution';
if (api === 'waha') {
await sendViaWAHA(message);
} else {
await sendViaEvolution(message);
}
🔍 Monitoramento e Troubleshooting
Verificar Status dos Serviços
# WAHA
curl -s https://waha.memudecore.com.br/api/health
# Evolution API
curl -s https://evo.memudecore.com.br/
# Logs WAHA
docker logs waha --tail 50
# Logs Evolution API
docker service logs evolution_evolution --tail 50
Webhooks N8N
# Webhook WAHA
https://n8n.memudecore.com.br/webhook/waha
# Webhook Evolution (existente)
https://n8n.memudecore.com.br/webhook/whatsapp-krayin
🎯 Vantagens da Configuração Dual
✅ Benefícios
- Redundância: Se uma API falhar, a outra continua funcionando
- Flexibilidade: Diferentes engines para diferentes necessidades
- Segregação: Diferentes clientes em APIs diferentes
- Testing: Testar funcionalidades em paralelo
- Performance: Distribuição de carga
🚨 Considerações
- Recursos: Duas APIs consomem mais CPU/RAM
- Complexidade: Mais pontos de falha para monitorar
- Webhooks: Certificar que estão indo para endpoints corretos
- Sessões: Não misturar sessões WhatsApp entre as APIs
🔧 Comandos de Manutenção
Reiniciar WAHA
docker restart waha
Reiniciar Evolution API
docker service update evolution_evolution --force
Ver Logs Unificados
# Monitoring script
while true; do
echo "=== WAHA ==="
docker logs waha --tail 5 --since 1m
echo "=== Evolution ==="
docker service logs evolution_evolution --tail 5 --since 1m
sleep 30
done
🎉 Configuração Completa!
Ambas as APIs WhatsApp estão funcionando:
- ✅ WAHA em
https://waha.memudecore.com.br - ✅ Evolution API em
https://evo.memudecore.com.br - ✅ Integração com N8N configurada
- ✅ Traefik/SSL funcionando
- ✅ Webhooks configurados
Agora você pode usar qualquer uma das APIs conforme sua necessidade!
Documentação criada em: $(date) APIs: WAHA + Evolution API funcionando em paralelo