# Chatbot WhatsApp com IA - Setup Completo
## Arquitetura
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ WhatsApp │────▶│ UAZAPI │────▶│ n8n │────▶│ OpenAI │
│ (você) │ │ (webhook) │ │ (workflow) │ │ (GPT-4) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
▲ │
│ │
└───────────────────────────────────────┘
(resposta via UAZAPI)
```
## Passo 1: Configurar Credenciais no n8n
### 1.1 Credencial OpenAI
1. No n8n, vá em **Settings → Credentials → Add Credential**
2. Escolha **OpenAI API**
3. Cole sua API Key da OpenAI
4. Salve como "OpenAI API"
### 1.2 Credencial UAZAPI (Header Auth)
1. No n8n, vá em **Settings → Credentials → Add Credential**
2. Escolha **Header Auth**
3. Configure:
- **Name**: `Authorization`
- **Value**: `Bearer SUA_API_KEY_UAZAPI`
4. Salve como "UAZAPI Auth"
### 1.3 Variáveis de Ambiente no n8n
Adicione no seu arquivo `.env` do n8n ou nas configurações:
```env
UAZAPI_INSTANCE_ID=seu_instance_id
```
## Passo 2: Importar o Workflow
1. No n8n, clique em **Import from File**
2. Selecione o arquivo `workflow-chatbot-uazapi.json`
3. O workflow será importado
## Passo 3: Configurar o Workflow
### 3.1 Atualizar Número Autorizado
No nó **"Verificar Numero Autorizado"**:
- Troque `SEU_NUMERO_AQUI` pelo seu número com DDI
- Exemplo: `5511999999999`
### 3.2 Vincular Credenciais
Em cada nó HTTP Request (UAZAPI):
1. Clique no nó
2. Em **Credential**, selecione "UAZAPI Auth"
No nó **OpenAI Processar Comando**:
1. Clique no nó
2. Em **Credential**, selecione "OpenAI API"
### 3.3 Ativar o Workflow
1. Clique em **Active** no canto superior direito
2. Copie a URL do webhook (ex: `https://seu-n8n.com/webhook/uazapi-webhook`)
## Passo 4: Configurar Webhook na UAZAPI
Na sua instância UAZAPI, configure o webhook para:
**URL**: `https://seu-n8n.com/webhook/uazapi-webhook`
**Eventos para ativar**:
- `messages.upsert` (mensagens recebidas)
**Exemplo via API UAZAPI**:
```bash
curl -X POST "https://api.uazapi.com/instances/SEU_INSTANCE/webhooks" \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://seu-n8n.com/webhook/uazapi-webhook",
"events": ["messages.upsert"]
}'
```
## Passo 5: Testar o Chatbot
Envie mensagens no WhatsApp para testar:
| Mensagem | Ação Esperada |
|----------|---------------|
| "Olá" | Resposta de boas-vindas |
| "Liste meus grupos" | Lista de grupos |
| "Crie um grupo chamado Trabalho com 5511999999999" | Cria o grupo |
| "Adicione 5511888888888 no grupo Trabalho" | Adiciona participante |
| "Envie oi para 5511777777777" | Envia mensagem |
| "Mande esta imagem https://... para 5511666666666" | Envia imagem |
## Comandos Disponíveis
### Mensagens
- "Envie [mensagem] para [número]"
- "Mande uma mensagem para [número] dizendo [texto]"
- "Envie a imagem [URL] para [número]"
### Grupos
- "Crie um grupo [nome] com [números]"
- "Adicione [número] no grupo [nome]"
- "Remova [número] do grupo [nome]"
- "Liste meus grupos"
- "Quais grupos eu tenho?"
### Contatos
- "Liste meus contatos"
- "Mostre meus contatos"
### Informações
- "O que você pode fazer?"
- "Ajuda"
## Troubleshooting
### Mensagens não chegam no n8n
1. Verifique se o webhook está configurado na UAZAPI
2. Confirme que a URL está acessível publicamente
3. Verifique os logs do n8n
### Erro de autenticação OpenAI
1. Verifique se a API Key está correta
2. Confirme que tem créditos na conta OpenAI
### Número não autorizado
1. Verifique o número no nó "Verificar Numero Autorizado"
2. O número deve estar no formato: DDI + DDD + número (ex: 5511999999999)
### Ações não executam
1. Verifique os logs de cada nó no n8n
2. Confirme que as credenciais UAZAPI estão corretas
3. Verifique se o Instance ID está configurado
## Expandindo o Chatbot
Para adicionar novas ações:
1. Adicione a descrição no prompt do sistema (nó OpenAI)
2. Adicione nova condição no nó "Router de Ações"
3. Crie o nó HTTP Request para a nova API
4. Conecte ao fluxo de resposta
## Segurança
- Mantenha suas API Keys seguras
- Use HTTPS no webhook do n8n
- Considere adicionar mais números à whitelist se necessário
- Monitore o uso da API OpenAI