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.