Como Criar um Chatbot que Consulta o SAP Business One via WhatsApp (Tutorial 2026)
TL;DR: Passo a passo técnico para construir um chatbot WhatsApp integrado ao SAP B1. Com código, arquitetura, segurança e deploy. Inclui n8n workflow gratuito.
## Como Criar um Chatbot WhatsApp + SAP Business One
Você quer que seus clientes consultem estoque, preços e façam pedidos direto pelo **WhatsApp**, integrado ao **SAP Business One**?
Este é o tutorial técnico completo — desde a arquitetura até o deploy.
**O que vamos construir:**
Um chatbot que responde perguntas como:
- *"Qual o preço do produto XYZ?"*
- *"Tenho estoque do item ABC?"*
- *"Quero fazer um pedido de 50 unidades"*
E tudo isso consultando dados reais do SAP B1.
---
## 🏗️ Arquitetura da Solução
```
┌─────────────┐
│ WhatsApp │
│ Cliente │
└──────┬──────┘
│
▼
┌─────────────────────┐
│ Evolution API │ (Webhook WhatsApp)
│ ou Baileys │
└──────┬──────────────┘
│
▼
┌─────────────────────┐
│ n8n │ (Orquestração)
│ 1. Recebe msg │
│ 2. Chama OpenAI │
│ 3. Consulta SAP │
│ 4. Retorna resposta│
└──────┬──────────────┘
│
├──────────────────┐
│ │
▼ ▼
┌─────────────┐ ┌──────────────┐
│ OpenAI │ │ SAP B1 │
│ GPT-4o │ │ Service Layer│
└─────────────┘ └──────────────┘
```
---
## 📋 Pré-requisitos
1. **SAP Business One** com Service Layer habilitado
2. **Servidor Node.js** (VPS ou local)
3. **Conta OpenAI** (API key)
4. **WhatsApp Business API** (Evolution API ou Baileys)
5. **n8n instalado** (ou use n8n.cloud)
---
## 🔧 PASSO 1: Configurar Service Layer do SAP B1
Acesse o servidor do SAP e habilite o Service Layer:
```bash
# Verificar se Service Layer está ativo
curl -k https://seu-servidor:50000/b1s/v1/
```
**Teste de autenticação:**
```javascript
const axios = require('axios');
async function loginSAP() {
const response = await axios.post(
'https://seu-servidor:50000/b1s/v1/Login',
{
CompanyDB: 'SBODemoUS',
UserName: 'manager',
Password: 'SuaSenha123'
}
);
console.log('SessionID:', response.data.SessionId);
return response.data.SessionId;
}
```
---
## 🤖 PASSO 2: Configurar Evolution API (WhatsApp)
Instale a Evolution API (open-source):
```bash
git clone https://github.com/EvolutionAPI/evolution-api
cd evolution-api
npm install
npm start
```
Acesse: `http://localhost:8080/manager`
Crie uma instância WhatsApp e conecte via QR Code.
**Configurar Webhook:**
Webhook URL: `https://seu-n8n.com/webhook/whatsapp`
---
## ⚙️ PASSO 3: Criar Workflow no n8n
**Importe este workflow JSON:**
```json
{
"nodes": [
{
"name": "Webhook WhatsApp",
"type": "n8n-nodes-base.webhook",
"position": [250, 300],
"webhookId": "whatsapp-sap"
},
{
"name": "OpenAI",
"type": "n8n-nodes-base.openAi",
"parameters": {
"model": "gpt-4o",
"prompt": "Você é um assistente de vendas. Extraia: intenção, produto e quantidade. Cliente disse: {{ $json.message }}"
},
"position": [450, 300]
},
{
"name": "Consulta SAP B1",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "https://seu-servidor:50000/b1s/v1/Items('{{ $json.itemCode }}')",
"authentication": "genericCredentialType"
},
"position": [650, 300]
},
{
"name": "Enviar Resposta WhatsApp",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "https://evolution-api/message/sendText",
"method": "POST",
"body": {
"number": "{{ $json.from }}",
"text": "Produto: {{ $json.ItemName }}\nEstoque: {{ $json.QuantityOnStock }}"
}
},
"position": [850, 300]
}
]
}
```
---
## 🔐 PASSO 4: Segurança e LGPD
**Checklist de Segurança:**
1. **HTTPS obrigatório** (Let's Encrypt)
2. **Variáveis de ambiente** (nunca hardcode senhas)
3. **Rate Limiting** (máx 10 req/min por número)
4. **Logs de auditoria** (quem perguntou o quê)
5. **Timeout de sessão SAP** (30 min)
**Exemplo de .env:**
```
SAP_HOST=https://seu-servidor:50000
SAP_USER=manager
SAP_PASS=SuaSenha123
OPENAI_KEY=sk-proj-abc123...
```
---
## 🎯 PASSO 5: Prompt Engineering (O Segredo)
O prompt da IA é crítico. Exemplo:
```
Você é Maria, assistente de vendas da Distribuidora XYZ.
REGRAS:
1. Se o cliente perguntar sobre ESTOQUE, extraia o código do produto
2. Se o cliente quiser FAZER PEDIDO, pergunte: código do produto + quantidade
3. Se o cliente disser "obrigado", encerre educadamente
4. NUNCA invente preços ou estoque. Sempre consulte o SAP.
FORMATO DE RESPOSTA:
{
"intencao": "consultar_estoque" | "fazer_pedido" | "duvida",
"produto_codigo": "PROD-001",
"quantidade": 50
}
Cliente disse: "{{mensagem_do_whatsapp}}"
```
---
## 📊 PASSO 6: Deploy e Monitoramento
**Opções de Hospedagem:**
- **Railway**: Deploy automático via Git
- **DigitalOcean**: Droplet Ubuntu 22.04
- **AWS EC2**: t3.small (mínimo)
**Monitoramento com Grafana:**
```
- Taxa de resposta do SAP (latência)
- Mensagens processadas/hora
- Taxa de erro da IA
- Custo de tokens OpenAI
```
---
## 🎓 Casos de Uso Avançados
1. **Criação de Pedido Automático**
→ Cliente confirma, IA chama `POST /Orders` no Service Layer
2. **Envio de Boleto**
→ Consulta `/Invoices`, gera PDF, envia por WhatsApp
3. **Rastreamento de Entrega**
→ Integra com API dos Correios + dados do SAP
Veja mais casos reais no artigo: [5 Casos Reais de IA no SAP B1](/blog/5-casos-reais-ia-sap-business-one-2026).
---
## 🚀 Próximos Passos
Se você quer **implementação profissional** com:
- ✅ Compliance LGPD
- ✅ Suporte 24/7
- ✅ Treinamento da equipe
A **ConectaOne** entrega a solução completa em 2-4 semanas.
[Falar com Especialista →](/)
---
**Guia Completo de Arquitetura:**
Leia nosso [artigo técnico profissional](/blog/sap-business-one-ia-arquitetura-seguranca-n8n) sobre integração IA + SAP B1.