Pizzaria do Bairro

Bot Inteligente v3.0
IA Integrada
LGPD

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

50+

IA Integrada

v2.0

LGPD

Completa

Perfis

4

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.jsonLista de administradores masterArray de números/IDs
entregadores.jsonLista de entregadores com nome e númeroArray de objetos
cozinha.jsonLista de membros da cozinhaArray de objetos
historico_pedidos.jsonHistórico completo de pedidosArray de objetos
carrinhos_ativos.jsonCarrinhos temporários dos clientesObjeto chave-valor
produtos.jsonCardápio com todas as categoriasObjeto com arrays
numeros_bloqueados.jsonNúmeros bloqueadosArray de strings
estado_pausa.jsonEstado atual da pausa do botObjeto
consentimento.jsonRegistros de consentimento LGPDObjeto 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

1

Primeiro Contato

Cliente envia "oi" ou qualquer mensagem. O bot verifica se há consentimento registrado.

2

Aviso de Privacidade

Se não houver consentimento, o bot envia o aviso completo explicando quais dados são coletados e para qual finalidade.

3

Aguardando Resposta

O bot entra em estado de "aguardando_consentimento". O cliente deve digitar ACEITO ou NÃO.

4

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

LGPD

O 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

LGPD

Direito 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úblico

Abre o menu principal com todas as opções: fazer pedido, ver carrinho, guia e suporte.

pedido livre

Botão

Inicia um pedido personalizado onde você descreve exatamente o que quer.

cat_pizzas_salgadas

Botão

Acessa o cardápio de pizzas salgadas.

cat_bebidas

Botão

Acessa o cardápio de bebidas.

cat_sobremesas

Botão

Acessa o cardápio de sobremesas.

carrinho

Público

Visualiza todos os itens no carrinho, total e opções de remover/finalizar.

checkout

Botão

Inicia o processo de finalização do pedido: nome, telefone, endereço e observações.

guia / ajuda

Público

Mostra o guia completo de como usar o bot, com todas as instruções.

suporte

Botão

Solicita atendimento humano. Você descreve o problema e um administrador entra em contato.

ver endereço

Botão

Exibe o endereço da pizzaria e horário de funcionamento.

Comandos para Administradores (Master)

lpedidos

Master

Menu interativo para gerenciar todos os pedidos. Permite filtrar por status, ver detalhes, atualizar status e deletar.

spedidos

Master/Entregador

Gerencia entregas: lista pedidos ativos, permite registrar valor, notificar saída e confirmar entrega.

verprod

Master

Lista todas as categorias de produtos. Use verprod [categoria] para ver produtos específicos.

addprod

Master

Adiciona um novo produto. Formato: addprod [categoria] | [nome] | [preço] | [descrição]

editprod

Master

Edita um produto existente. Formato: editprod [categoria] | [id] | [campo] | [novo valor]

delprod

Master

Remove um produto. Formato: delprod [categoria] | [id]

addcat

Master

Cria uma nova categoria de produtos. O nome deve começar com "cat_".

addadm

Master

Adiciona um novo administrador. Use o número completo (com DDD).

removeadm

Master

Remove um administrador.

veradm

Master

Lista todos os administradores cadastrados.

addent

Master

Adiciona um entregador. Formato: addent [nome] | [número]

verent

Master

Lista todos os entregadores cadastrados.

addcz

Master

Adiciona um membro da cozinha. Formato: addcz [nome] | [número]

vercz

Master

Lista todos os membros da cozinha cadastrados.

nent

Master

Notifica um entregador sobre um pedido pronto. Abre menu para selecionar entregador.

bloquear

Master

Bloqueia um número para não receber mais respostas do bot.

desbloquear

Master

Desbloqueia um número anteriormente bloqueado.

verbloqueados

Master

Lista todos os números bloqueados.

pbot

Master

Controla a pausa do bot. Use pbot status, pbot reativar ou pbot "mensagem" motivo.

del

Master

Deleta um pedido específico pelo ID.

delall

Master

Deleta TODOS os pedidos (requer confirmação).

Comandos para Cozinha

cpp

Cozinha

Inicia a preparação de um pedido pendente. O cliente é notificado automaticamente.

ppe

Cozinha

Abre menu para marcar pedidos em preparação como prontos. Cliente e ADMs são notificados.

lpedidos

Cozinha

Visualiza todos os pedidos (somente leitura). Não é possível deletar ou modificar.

status

Cozinha

Atualiza o status de um pedido manualmente.

Comandos para Entregadores

spedidos

Entregador

Gerencia entregas: lista pedidos ativos, permite registrar valor, notificar saída e confirmar entrega.

status

Entregador

Atualiza o status de um pedido (pronto, entregue, cancelado).

Fluxos Completos do Sistema

Fluxo de Consentimento (LGPD)

1

Cliente envia mensagem

O bot verifica se o número já consentiu.

2

Sem consentimento

Envia o aviso de privacidade e entra em modo 'aguardando_consentimento'.

3

Cliente digita "ACEITO"

O bot registra o consentimento com data/hora e libera o uso do sistema.

Fluxo do Cliente (com IA)

1

Inicia o Atendimento

Envia "menu", "oi" ou qualquer saudação.

2

Faz o pedido

Pode usar os menus ou falar naturalmente: "Quero 2 pizzas, uma de calabresa e uma portuguesa".

3

IA processa e adiciona

A IA interpreta, adiciona ao carrinho e confirma com o cliente.

4

Finaliza o Pedido

Informa os dados de entrega e finaliza. Recebe confirmação com número do pedido.

Fluxo da Cozinha

1

Recebe Notificação

Quando um cliente finaliza o pedido, a cozinha recebe uma notificação.

2

Inicia Preparação

Digita cpp [ID] e confirma. Cliente é notificado.

3

Marca como Pronto

Digita ppe, seleciona o pedido e confirma. Cliente e ADMs são notificados.

Fluxo do Entregador

1

Recebe Notificação

Admin pode notificar um entregador específico com nent [ID].

2

Verifica Pedidos

Digita spedidos para ver todos os pedidos ativos.

3

Registra Valor e Sai

Seleciona o pedido, informa o valor e digita SAIR para notificar o cliente.

4

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