DEV Community

suissAI
suissAI

Posted on

TOP 10 WhatsApp-first anti-patterns

Se você fizer qualquer um desses, você não está construindo WhatsApp-first. Você está construindo um chat bonitinho que vai virar suporte humano disfarçado.

TOP 10

1. Menu infinito

Você recriou um dashboard ruim em texto. Chat não é lugar de listar tudo. Chat é lugar de guiar.

Exemplo real:

Cliente manda: "quero dipirona".
Bot responde com 25 opções misturadas: "
1- Orçamento
2- Status
3- Falar com atendente
4- Promoções
5- Catálogo

25- Troca/Devolução".

Efeito:

O cliente não escolhe nada, repete a pergunta ou pede humano. Vira fila de atendimento.


2. Dependência de painel pra finalizar

Se a jornada começa no WhatsApp mas a ação crítica só fecha no web, o WhatsApp é só entrada, não é camada operacional.

Exemplo real:

Cliente escolhe um produto, envia endereço e quer pagar.
Bot: "Ok, vou encaminhar pro atendente finalizar no sistema" / "clique no link e finalize no site".

Efeito:

Você matou a promessa de WhatsApp-first: o WhatsApp vira só triagem. Conversão cai porque você criou troca de contexto e tempo morto.


3. Sem confirmação contextual em ações de impacto

Cancelar, pagar, trocar endereço, reembolsar… sem confirmação explícita vira erro, fraude e arrependimento.

Exemplo real:

Cliente: "cancela o pedido 1837" (ou "não quero mais").
Bot cancela imediatamente sem responder algo como: "Confirmar cancelamento do pedido 1837? (1) Sim (2) Não"### .

Efeito:

Cancelamento acidental, briga, retrabalho. Pior: cliente pode dizer "não pedi isso" e você não tem prova clara.


4. Sem idempotência

Chat duplica. Webhook duplica. Usuário reenviou. Se repetir comando gera efeito duplicado, você cobra duas vezes e destrói confiança.
Ex.: todo comando crítico precisa de um command_id e uma idempotency_key.

Exemplo real:

Cliente pede "PAGAR pedido 1837 no Pix".
WhatsApp reenvia / webhook duplica / cliente clica duas vezes.
O sistema gera duas cobranças Pix ou registra dois pagamentos/baixas.

Efeito:

Caos financeiro e perda de confiança. Em farmácia, isso vira suporte chato na hora (e chargeback quando é cartão).


5. Sem caminho de voltar / correção barata

Se o usuário erra e precisa recomeçar do zero, você está cobrando imposto cognitivo. Isso mata conversão.

Exemplo real:

Fluxo pergunta: "Informe seu endereço completo".
Cliente erra o número ("123" em vez de "132").
Bot: "Entrada inválida. Reinicie o atendimento enviando ‘menu’".

Efeito:

A pessoa desiste. O custo de corrigir é maior que o de comprar em outro lugar.


6. Perder contexto

Fazer o usuário repetir o que acabou de dizer é o jeito mais rápido de parecer burro e desrespeitoso. Contexto não é luxo, é requisito.

Exemplo real:

Cliente: "quero dorflex e entrega hoje".
Bot pergunta CEP. Cliente responde.
Bot: "Perfeito, qual produto você deseja?" (esqueceu Dorflex e "entrega hoje").

Efeito:

Parece burro/desrespeitoso. O usuário passa a "não confiar" e pede humano.


7. Perguntas abertas demais

"Como posso ajudar?" sem estrutura vira caos. Você precisa de linguagem estruturada, opções curtas e perguntas objetivas.

Exemplo real:

Bot inicia com "Como posso ajudar?"
Cliente manda: "tô com dor, febre, e preciso pra criança".
O bot tenta "conversar", pergunta coisas genéricas, não estrutura triagem (idade/peso, alergias, sinais de urgência).

Efeito:

Bagunça e risco: em saúde, pergunta aberta vira resposta longa e ambígua, e o fluxo não avança com segurança.


8. Operar sem trilha de evidência

Se você não registra o que foi pedido, confirmado e executado, você não audita nem recupera.
Ex.: cada confirmação deveria gerar um evento do tipo confirmed(action, actor, timestamp).

Exemplo real:

Cliente confirma: "pode substituir por genérico" (ou "pode trocar a marca se não tiver").
Depois reclama: "eu não autorizei essa troca".
Você não tem registro estruturado do "SIM, autorizo substituição" associado ao pedido 1837.

Efeito:

Você perde disputa e vira prejuízo. Trilha de evidência é o que te salva em troca, entrega e substituição.


9. Ignorar anti-fraude

Número dá identidade implícita, não autenticação perfeita. Ações de risco exigem fricção progressiva.

Exemplo real:

Alguém com o WhatsApp do cliente (celular roubado, chip clonado, ou familiar) pede:
"Troca o endereço do pedido 1837 pra Rua X, número Y" e "confirma pagamento no cartão final 1234".
Sistema aceita só porque "é o número do cliente".

Efeito:

Entrega desviada + fraude. Ações de risco precisam fricção progressiva: confirmação extra, validação por dado conhecido, ou passo humano.


10. Bot que improvisa demais

Se a mesma intenção gera respostas diferentes toda hora, o usuário perde previsibilidade. Interface conversacional precisa de protocolo, não de criatividade.

Exemplo real:

Cliente pergunta duas vezes em momentos diferentes: "tem Ozempic?"
Uma hora o bot responde "Tem sim, quer reservar?"
Outra hora responde "Não vendemos esse tipo de produto"
Ou muda o formato de opções toda vez ("sim/não", depois "1/2", depois "escreva confirmar").

Efeito:

O sistema parece instável. Usuário perde previsibilidade e passa a desconfiar (ou só se irrita).


Para conseguir disseminar da melhor forma possível esse conteúdo, então além de soltar 1 artigo bem denso e completo sobre as partes técnicas de cada conceito que usei no WhatsApp-first do FullAgenticStack, também tentarei quebrar em artigos menores, concisos e independentes. No curso vou demonstrar nos meus códigos reais como cada conceito foi implementado ou corrigido

Top comments (0)