Bot de WhatsApp
O cliente escreve para o WhatsApp da loja e recebe o estado real da reparação — incluindo aprovar orçamentos com «SIM».
O que o bot responde
O bot identifica o cliente pelo número de telefone e a reparação pelo contexto. Cada mensagem é independente — o cliente não precisa de «iniciar sessão» nem seguir menus:
| O cliente escreve | O bot responde |
|---|---|
| «está pronto?» ou qualquer texto | Estado da reparação + previsão de entrega |
| «orçamento» / «preço» / «quanto» | Valor do orçamento pendente + instruções |
| SIM / aceito / ok | Aprova o orçamento pendente — mesmo fluxo do balcão |
| NÃO / recuso | Recusa o orçamento |
| Código da reparação (REP-…) | Estado dessa reparação específica |
| «ajuda» / «humano», áudio ou imagem | Encaminha ao staff — com notificação na app |
| Número sem ficha | Mensagem simpática com os contactos da loja |
Como decide a resposta
O bot procura a ficha do cliente pelos últimos 9 dígitos do número — robusto a +351, espaços e formatos diferentes. Com uma reparação ativa, o contexto é óbvio e responde diretamente; com várias, lista os códigos para o cliente escolher.
«Reparação ativa» inclui todas que ainda não foram entregues, devolvidas ou canceladas — incluindo as prontas a levantar, que são exatamente as que geram a pergunta «já está?».
O que o bot não resolve escala para pessoas: «ajuda», «humano», áudios, imagens e perguntas fora do padrão geram notificação na app com o texto do cliente — a equipa responde manualmente.
O que é preciso (Meta)
O módulo usa a WhatsApp Business Platform oficial da Meta — não há gambiarras nem risco de ban do número. Os requisitos:
- Uma app Meta (developers.facebook.com) com o produto WhatsApp — a nossa app OficinaOS já existe e está publicada
- O número da loja no WhatsApp Business — a coexistence permite manter a app no telemóvel e ligar a API ao mesmo tempo
- Um token permanente de system user com as permissões whatsapp_business_messaging + whatsapp_business_management
- O webhook apontado à OficinaOS Cloud — já configurado do nosso lado
Configuração na app (por loja)
Depois do onboarding Meta (assistido por nós na primeira loja), a configuração na app são 4 campos:
- Menu → Notificações → Setup → secção WhatsApp
- Business ID + Phone Number ID — fornecidos no onboarding
- API Token — o token permanente do system user (a app envia-o uma vez para a Cloud, onde fica cifrado — os envios saem pelo relay e o token não volta a ser pedido)
- Enabled ligado — a app regista o phone_number_id e as credenciais na Cloud sozinha e o bot fica ativo
Limites honestos
- Respostas podem demorar até ~2 minutos (ciclo de sincronização) — não é instantâneo
- Responder a quem escreve é grátis; iniciar conversas («a sua reparação está pronta») precisa de modelos aprovados na Meta e tem custo por mensagem
- Flood control: máximo 20 mensagens/hora por número — protege contra spam
- Áudios e imagens não são interpretados — vão para humano
- Em modo teste, só os números verificados na Meta recebem respostas — em produção não há esse limite
Se o bot ficar calado
| Sintoma | O que verificar |
|---|---|
| Cliente não recebe resposta | Token Meta ainda válido? (tokens temporários expiram em 24h — usar o de system user) |
| Mensagem nem chega à app | Módulo whatsapp-bot ativo na Cloud? phone_number_id correto nas definições? |
| Bot responde mas Meta bloqueia | Em modo teste, o destinatário está verificado? Em produção, é a janela de 24h |
| «SIM» não faz nada | Há orçamento enviado e pendente nessa ficha? (o bot só age sobre orçamentos por responder) |
| Orçamento certo, resposta errada | Telefone da ficha do cliente tem os mesmos últimos 9 dígitos? |