Bem-vindo ao Futuro! 🚀
Este manual cobre todas as funcionalidades da versão 3.0 do bot: IA Inteligente, Conformidade com a LGPD, Gestão Completa de Pedidos e muito mais.
Comandos
IA Integrada
LGPD
Perfis
O que há de novo na v3.0?
IA Inteligente (Orquestrador)
Clientes podem fazer pedidos em linguagem natural. A IA interpreta a mensagem, adiciona itens ao carrinho, responde perguntas sobre o cardápio e aciona funções do sistema.
🗣️ Exemplo: "Quero uma pizza grande de calabresa com borda de catupiry e uma coca de 2 litros"
Conformidade com LGPD
Sistema completo de consentimento. O bot só interage após o aceite do usuário. Inclui direitos de acesso, correção e exclusão de dados ("direito ao esquecimento").
Instalação no Ubuntu (por arquivo ZIP)
📦 1. Pré-requisitos do Sistema
Certifique-se de que seu Ubuntu está atualizado e possui os seguintes pacotes:
# Atualizar o sistema
sudo apt update && sudo apt upgrade -y
# Instalar Node.js 18.x e npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# Instalar Git (opcional, para clonar, mas não necessário para ZIP)
sudo apt install -y git
# Instalar unzip para descompactar
sudo apt install -y unzip
# Instalar PM2 para gerenciar o processo (recomendado)
sudo npm install -y pm2 -g
# Verificar instalações
node --version # Deve ser v18.x ou superior
npm --version
pm2 --version
📁 2. Preparar o Ambiente
Crie uma pasta para o bot e envie o arquivo ZIP para o servidor.
# Criar diretório da aplicação
mkdir -p ~/pizzaria-bot
cd ~/pizzaria-bot
# Se você estiver com o arquivo ZIP no seu computador, use SCP para enviar:
# No seu computador local (exemplo):
# scp pizzaria-bot.zip usuario@seu-servidor:~/pizzaria-bot/
# Ou, se o ZIP já estiver no servidor, mova para a pasta:
# mv /caminho/do/seu/pizzaria-bot.zip ~/pizzaria-bot/
# Descompactar o arquivo
unzip pizzaria-bot.zip -d ~/pizzaria-bot/
# Entrar na pasta
cd ~/pizzaria-bot
⚙️ 3. Instalar Dependências
# Instalar todas as dependências do projeto
npm install
# O arquivo package.json deve conter as seguintes dependências principais:
# - @itsukichan/baileys (biblioteca WhatsApp Web)
# - qrcode-terminal (para exibir QR Code)
# - pino (logger)
# - express (para o painel web)
# - socket.io (para comunicação em tempo real)
🔑 4. Configurar o Bot
O bot utiliza arquivos JSON para armazenar configurações. Na primeira execução, eles serão criados automaticamente.
# Criar pasta para assets (imagens do cardápio)
mkdir -p assets/img
# Colocar as imagens do cardápio (cardapio1.jpeg, cardapio2.jpeg, home.png) na pasta:
# ~/pizzaria-bot/assets/img/
# O arquivo index.js já contém a lógica completa.
🚀 5. Iniciar o Bot
# Iniciar com PM2 (recomendado para produção)
pm2 start index.js --name pizzaria-bot
# Salvar a lista do PM2 para iniciar automaticamente com o sistema
pm2 save
pm2 startup
# Ver logs
pm2 logs pizzaria-bot
# Se quiser testar sem PM2 (para debug):
# node index.js
Na primeira execução, um QR Code será gerado no terminal. Escaneie com o WhatsApp do número que será o bot (conta comercial).
🌐 6. Acessar o Painel Web
O painel web fica disponível na porta 3001.
# Verificar se o painel está rodando
pm2 status
# Acessar no navegador:
# http://localhost:3001
# Ou se for um servidor remoto:
# http://IP_DO_SERVIDOR:3001
# Credenciais padrão:
# Usuário: admin
# Senha: pizzaria123
🛡️ 7. Comandos Úteis de Gerenciamento
# Parar o bot
pm2 stop pizzaria-bot
# Reiniciar o bot
pm2 restart pizzaria-bot
# Ver logs em tempo real
pm2 logs pizzaria-bot
# Monitorar recursos
pm2 monit
# Listar todos os processos
pm2 list
📁 Estrutura de Arquivos
~/pizzaria-bot/
├── index.js # Código principal do bot
├── ia.js # Orquestrador de IA
├── package.json # Dependências
├── package-lock.json
├── auth_info/ # Pasta de autenticação (criada automaticamente)
├── assets/
│ └── img/ # Imagens do cardápio
│ ├── home.png
│ ├── cardapio1.jpeg
│ └── cardapio2.jpeg
├── administradores.json # Lista de admins (criado automaticamente)
├── entregadores.json # Lista de entregadores
├── cozinha.json # Lista da cozinha
├── produtos.json # Cardápio completo
├── historico_pedidos.json # Histórico de pedidos
├── carrinhos_ativos.json # Carrinhos temporários
├── numeros_bloqueados.json # Números bloqueados
├── estado_pausa.json # Estado de pausa do bot
├── consentimento.json # Registros LGPD
└── backups/ # Backups automáticos (criados a cada 24h)
└── YYYY-MM-DD/
Tecnologias Utilizadas
Node.js
Plataforma JavaScript para backend. Versão 18.x LTS. Gerencia todas as operações do bot, arquivos e lógica de negócio.
Baileys (WhatsApp API)
Biblioteca não-oficial que permite conectar o bot ao WhatsApp Web. Responsável por enviar/receber mensagens e gerenciar a conexão.
IA Orquestradora (ia.js)
Módulo de inteligência artificial própria que interpreta linguagem natural, extrai intenções e entidades (pizzas, bebidas, quantidades) e toma decisões.
JSON File System
Sistema de armazenamento baseado em arquivos JSON. Leve, simples e não requer banco de dados externo. Backups automáticos a cada 24h.
Express + Socket.IO
Framework web para Node.js que alimenta o painel administrativo. Socket.IO permite atualizações em tempo real dos pedidos no painel.
PM2
Gerenciador de processos para Node.js em produção. Mantém o bot online 24/7, reinicia automaticamente em caso de falha e gerencia logs.
📊 Arquivos do Sistema
| Arquivo | Descrição | Formato |
|---|---|---|
| administradores.json | Lista de administradores master | Array de números/IDs |
| entregadores.json | Lista de entregadores com nome e número | Array de objetos |
| cozinha.json | Lista de membros da cozinha | Array de objetos |
| historico_pedidos.json | Histórico completo de pedidos | Array de objetos |
| carrinhos_ativos.json | Carrinhos temporários dos clientes | Objeto chave-valor |
| produtos.json | Cardápio com todas as categorias | Objeto com arrays |
| numeros_bloqueados.json | Números bloqueados | Array de strings |
| estado_pausa.json | Estado atual da pausa do bot | Objeto |
| consentimento.json | Registros de consentimento LGPD | Objeto chave-valor |
IA Inteligente - Orquestrador
🧠 Como Funciona?
A IA atua como um "tradutor" de linguagem natural. Quando um cliente envia uma mensagem que não é um comando do sistema (como "menu", "carrinho" ou comandos de admin), o orquestrador de IA entra em ação.
Ela analisa o texto, entende a intenção do usuário e pode:
- Fazer Pedidos: "Quero 2 pizzas de mussarela e uma de calabresa" ➡️ adiciona ao carrinho.
- Tirar Dúvidas: "Qual o sabor da pizza Portuguesa?" ➡️ responde com a descrição.
- Chamar Funções: "Me mostra o cardápio" ➡️ aciona a função
verCardapio(). - Responder Saudações: "Boa noite, tudo bem?" ➡️ responde com base no contexto e horário.
🎯 Exemplos de Interação com a IA
Cliente: "Uma pizza grande de calabresa e uma coca"
IA: Adiciona os itens ao carrinho e pergunta se o cliente quer finalizar ou adicionar mais algo.
✅ Ação: Itens adicionados com sucesso. Carrinho atualizado.
Cliente: "O que tem de pizza doce?"
IA: Lista as pizzas doces do cardápio (Brigadeiro, Morango, Ninho, Doce de Leite) e pergunta se deseja adicionar alguma.
Cliente: "Qual o endereço de vocês?"
IA: Aciona a função de exibir o endereço completo da pizzaria.
A IA permite uma experiência de compra muito mais fluida e natural para o cliente.
LGPD - Proteção de Dados
🔒 Política de Privacidade
O bot está totalmente adequado à Lei Geral de Proteção de Dados (LGPD).
📋 Fluxo de Consentimento
Primeiro Contato
Cliente envia "oi" ou qualquer mensagem. O bot verifica se há consentimento registrado.
Aviso de Privacidade
Se não houver consentimento, o bot envia o aviso completo explicando quais dados são coletados e para qual finalidade.
Aguardando Resposta
O bot entra em estado de "aguardando_consentimento". O cliente deve digitar ACEITO ou NÃO.
Registro do Consentimento
Ao digitar "ACEITO", o consentimento é registrado com data e hora. O cliente pode então usar o bot.
🛡️ Direitos do Titular (LGPD)
Acessar Meus Dados
LGPDO cliente pode solicitar todos os dados que o sistema armazenou sobre ele (nome, telefone, endereço, histórico de pedidos).
📝 Comando: "meus dados"
Excluir Meus Dados
LGPDDireito ao esquecimento. Remove permanentemente todos os dados do cliente (carrinhos, histórico, consentimento).
📝 Comando: "excluir dados"
* O consentimento tem validade de 90 dias, conforme exigido pela LGPD, após o qual deve ser renovado.
Todos os Comandos
IA - Linguagem Natural
Não há comandos fixos. Basta conversar. Exemplos:
Fazer um pedido
IA🗣️ Exemplos: "Quero uma pizza de calabresa", "Adiciona uma coca de 2 litros", "Vai ser uma pizza grande de frango com catupiry e uma porção de batata"
Tirar dúvidas
IA🗣️ Exemplos: "O que vem na pizza portuguesa?", "Qual o preço do x-tudo?", "Até que horas vocês entregam?"
Comandos para Clientes
menu / oi / olá
PúblicoAbre o menu principal com todas as opções: fazer pedido, ver carrinho, guia e suporte.
pedido livre
BotãoInicia um pedido personalizado onde você descreve exatamente o que quer.
cat_pizzas_salgadas
BotãoAcessa o cardápio de pizzas salgadas.
cat_bebidas
BotãoAcessa o cardápio de bebidas.
cat_sobremesas
BotãoAcessa o cardápio de sobremesas.
carrinho
PúblicoVisualiza todos os itens no carrinho, total e opções de remover/finalizar.
checkout
BotãoInicia o processo de finalização do pedido: nome, telefone, endereço e observações.
guia / ajuda
PúblicoMostra o guia completo de como usar o bot, com todas as instruções.
suporte
BotãoSolicita atendimento humano. Você descreve o problema e um administrador entra em contato.
ver endereço
BotãoExibe o endereço da pizzaria e horário de funcionamento.
Comandos para Administradores (Master)
lpedidos
MasterMenu interativo para gerenciar todos os pedidos. Permite filtrar por status, ver detalhes, atualizar status e deletar.
spedidos
Master/EntregadorGerencia entregas: lista pedidos ativos, permite registrar valor, notificar saída e confirmar entrega.
verprod
MasterLista todas as categorias de produtos. Use verprod [categoria] para ver produtos específicos.
addprod
MasterAdiciona um novo produto. Formato: addprod [categoria] | [nome] | [preço] | [descrição]
editprod
MasterEdita um produto existente. Formato: editprod [categoria] | [id] | [campo] | [novo valor]
delprod
MasterRemove um produto. Formato: delprod [categoria] | [id]
addcat
MasterCria uma nova categoria de produtos. O nome deve começar com "cat_".
addadm
MasterAdiciona um novo administrador. Use o número completo (com DDD).
removeadm
MasterRemove um administrador.
veradm
MasterLista todos os administradores cadastrados.
addent
MasterAdiciona um entregador. Formato: addent [nome] | [número]
verent
MasterLista todos os entregadores cadastrados.
addcz
MasterAdiciona um membro da cozinha. Formato: addcz [nome] | [número]
vercz
MasterLista todos os membros da cozinha cadastrados.
nent
MasterNotifica um entregador sobre um pedido pronto. Abre menu para selecionar entregador.
bloquear
MasterBloqueia um número para não receber mais respostas do bot.
desbloquear
MasterDesbloqueia um número anteriormente bloqueado.
verbloqueados
MasterLista todos os números bloqueados.
pbot
MasterControla a pausa do bot. Use pbot status, pbot reativar ou pbot "mensagem" motivo.
del
MasterDeleta um pedido específico pelo ID.
delall
MasterDeleta TODOS os pedidos (requer confirmação).
Comandos para Cozinha
cpp
CozinhaInicia a preparação de um pedido pendente. O cliente é notificado automaticamente.
ppe
CozinhaAbre menu para marcar pedidos em preparação como prontos. Cliente e ADMs são notificados.
lpedidos
CozinhaVisualiza todos os pedidos (somente leitura). Não é possível deletar ou modificar.
status
CozinhaAtualiza o status de um pedido manualmente.
Comandos para Entregadores
spedidos
EntregadorGerencia entregas: lista pedidos ativos, permite registrar valor, notificar saída e confirmar entrega.
status
EntregadorAtualiza o status de um pedido (pronto, entregue, cancelado).
Fluxos Completos do Sistema
Fluxo de Consentimento (LGPD)
Cliente envia mensagem
O bot verifica se o número já consentiu.
Sem consentimento
Envia o aviso de privacidade e entra em modo 'aguardando_consentimento'.
Cliente digita "ACEITO"
O bot registra o consentimento com data/hora e libera o uso do sistema.
Fluxo do Cliente (com IA)
Inicia o Atendimento
Envia "menu", "oi" ou qualquer saudação.
Faz o pedido
Pode usar os menus ou falar naturalmente: "Quero 2 pizzas, uma de calabresa e uma portuguesa".
IA processa e adiciona
A IA interpreta, adiciona ao carrinho e confirma com o cliente.
Finaliza o Pedido
Informa os dados de entrega e finaliza. Recebe confirmação com número do pedido.
Fluxo da Cozinha
Recebe Notificação
Quando um cliente finaliza o pedido, a cozinha recebe uma notificação.
Inicia Preparação
Digita cpp [ID] e confirma. Cliente é notificado.
Marca como Pronto
Digita ppe, seleciona o pedido e confirma. Cliente e ADMs são notificados.
Fluxo do Entregador
Recebe Notificação
Admin pode notificar um entregador específico com nent [ID].
Verifica Pedidos
Digita spedidos para ver todos os pedidos ativos.
Registra Valor e Sai
Seleciona o pedido, informa o valor e digita SAIR para notificar o cliente.
Confirma Entrega
Quando entregar, volta ao spedidos, seleciona o mesmo pedido e digita ENTREGUE.
Sistema de Permissões
| Perfil | Descrição | Comandos Permitidos |
|---|---|---|
| MASTER | Administrador com acesso total | Todos os comandos do sistema |
| ENTREGADOR | Responsável pelas entregas | spedidos, status (pronto/entregue/cancelado) |
| COZINHA | Responsável pelo preparo | cpp, ppe, lpedidos (visualização), status |
| CLIENTE | Usuário comum que faz pedidos | menu, carrinho, categorias, pedido livre, guia, suporte, IA |
Painel de Controle Premium
Acesse o painel web para gerenciar tudo de forma visual e intuitiva.
http://localhost:3001
Dashboard
Visão geral do sistema: status do bot, estatísticas de pedidos, memória, uptime.
Vendas
Estatísticas completas de vendas por período.
Produtos
Gerencie categorias e produtos. Adicione, edite e remova itens.
Pedidos
Visualize e gerencie todos os pedidos. Filtre por status, veja detalhes.
Entregadores
Cadastre e gerencie entregadores.
Cozinha
Cadastre membros da cozinha.
Admins
Gerencie administradores master do sistema.
Bloqueados
Gerencie números bloqueados.
Pausa
Controle a pausa do bot com mensagem personalizada.
Logs
Visualize todos os logs do sistema em tempo real.
🔐 Credenciais de Acesso
Usuário: admin
Senha: pizzaria123