# 🚀 WhatsApp Bot API - Pronto para Produção

## ✅ STATUS DO PROJETO

O projeto foi **compilado com sucesso** e está pronto para implantação em produção!

### 📁 Arquivos Principais
- `dist/index.js` - Aplicação compilada ✅
- `dist/public/` - Arquivos estáticos (QR code, HTML) ✅
- `ecosystem.config.js` - Configuração PM2 ✅
- `package.json` - Dependências de produção ✅

## 🔧 Implantação em Produção

### Opção 1: Execução Simples
```bash
# No servidor
node dist/index.js
```

### Opção 2: Com PM2 (Recomendado)
```bash
# Instalar PM2 globalmente
npm install -g pm2

# Iniciar aplicação
pm2 start ecosystem.config.js

# Comandos úteis PM2
pm2 status              # Ver status
pm2 logs whatsapp-bot-api # Ver logs
pm2 restart whatsapp-bot-api # Reiniciar
pm2 stop whatsapp-bot-api    # Parar
```

### Opção 3: Script Automático
```bash
# Windows
.\prepare-production.bat

# Linux/Mac
chmod +x prepare-production.sh
./prepare-production.sh
```

## 🌐 Configuração do Servidor

### 1. Variáveis de Ambiente
Crie um arquivo `.env` no servidor:
```env
PORT=3000
TOKEN_SENHA=@@EQTL2025
NODE_ENV=production
```

### 2. Dependências do Sistema
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y nodejs npm

# CentOS/RHEL
sudo yum install -y nodejs npm

# Verificar versões
node --version  # >= 18.0.0
npm --version
```

### 3. Portas e Firewall
```bash
# Liberar porta 3000
sudo ufw allow 3000
```

## 📋 Checklist de Implantação

### ✅ Pré-implantação
- [x] Código TypeScript compilado
- [x] Arquivos estáticos copiados
- [x] Configuração PM2 criada
- [x] Scripts de automação prontos
- [x] Documentação completa

### 🚀 Implantação
1. **Copiar arquivos**
   - Pasta `dist/` completa
   - Arquivo `package.json`
   - Arquivo `ecosystem.config.js`
   - Arquivo `.env` (se existir)

2. **Instalar dependências**
   ```bash
   npm install --production
   ```

3. **Iniciar aplicação**
   ```bash
   pm2 start ecosystem.config.js
   ```

### 🔍 Verificação
- [ ] Aplicação iniciada sem erros
- [ ] Porta 3000 acessível
- [ ] Logs do PM2 normais
- [ ] QR Code gerado para WhatsApp

## 📡 Endpoints da API

### 🔐 Autenticação
Todas as rotas requerem header:
```
Authorization: Bearer @@EQTL2025
```

### 📊 Rotas Disponíveis

#### Status e Conexão
- `GET /` - Página inicial com QR code
- `GET /status` - Status da conexão
- `GET /qr` - QR code para conectar WhatsApp

#### Grupos
- `GET /grupos` - Listar grupos disponíveis
- `POST /grupos/{grupoId}/mensagem` - Enviar mensagem para grupo

#### Mensagens
- `POST /enviar` - Enviar mensagem individual
- `POST /enviar-arquivo` - Enviar arquivo

## 🔧 Configuração Avançada

### PM2 Cluster Mode
Para múltiplas instâncias:
```javascript
// ecosystem.config.js
module.exports = {
  apps: [{
    name: 'whatsapp-bot-api',
    script: 'dist/index.js',
    instances: 'max', // ou número específico
    exec_mode: 'cluster'
  }]
};
```

### Proxy Reverso (Nginx)
```nginx
server {
    listen 80;
    server_name seu-dominio.com;
    
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
```

## 🐛 Troubleshooting

### Problemas Comuns

1. **Porta já em uso**
   ```bash
   # Verificar porta
   lsof -i :3000
   # Matar processo
   kill -9 <PID>
   ```

2. **Permissões de arquivo**
   ```bash
   chmod +x prepare-production.sh
   chown -R user:user production/
   ```

3. **Dependências em falta**
   ```bash
   npm install --production
   ```

4. **Logs para debug**
   ```bash
   pm2 logs whatsapp-bot-api --lines 100
   ```

## 📞 Suporte

Em caso de problemas:
1. Verificar logs: `pm2 logs whatsapp-bot-api`
2. Reiniciar aplicação: `pm2 restart whatsapp-bot-api`
3. Verificar conectividade WhatsApp Web
4. Confirmar token de autenticação

---

**🎉 Projeto pronto para uso em produção!**
