Formulários (Flows)#
Pedir três dados pelo chat custa seis mensagens, dois erros de digitação e um cliente que desiste no meio. O formulário do WhatsApp — o Flow — abre uma tela dentro do próprio aplicativo, com campos de verdade, e devolve tudo preenchido de uma vez.
Antes de começar#
Formulário exige WhatsApp oficial. No Baileys ele não existe.
E exige a credencial certa do provedor. No 360dialog são duas chaves diferentes, e trocar uma pela outra é o engano previsível:
| Chave | Endereço | Alcance | Serve para criar Flow? |
|---|---|---|---|
| Do canal | waba-v2.360dialog.io | Fala por um número | Não |
| De parceiro | hub.360dialog.io | Enxerga todos os canais | Sim |
A chave de parceiro fica numa tela separada da do canal, e tem um botão de testar. Use-o: "eu sou parceiro do 360dialog?" é uma pergunta que ninguém responde sozinho, porque a conta de desenvolvedor e a de parceiro se parecem no site deles. Se a chave abrir, a lista de canais volta; se não abrir, volta a recusa deles, com o texto deles. É melhor descobrir ali do que depois de montar o formulário inteiro.
A regra que decide por onde o formulário sai#
Os dois provedores mandam Flow de formas incompatíveis, e o identificador que você preenche define em quais canais aquele formulário funciona:
| Provedor | O que ele precisa | Campo a preencher |
|---|---|---|
| 360dialog / Cloud API | O flow_id mandado direto numa mensagem interativa | Flow ID |
| Twilio | Um Content Template criado antes, e o identificador dele | Content SID |
Preencher só um é legítimo: o formulário fica disponível naquele canal e indisponível no outro. Preencher nenhum não é — o cadastro viraria um botão que falha na frente do cliente, e por isso a validação recusa.
Cada linha da lista mostra um selo com os canais em que aquele formulário funciona, e o mesmo selo aparece enquanto você digita.
O que cada campo significa#
| Campo | O que faz | Quando mudar |
|---|---|---|
| Nome | Identifica o formulário na lista | — |
| Descrição | Explica para que ele serve, para quem for usá-lo depois | — |
| Corpo | O texto da mensagem que acompanha o botão (até 1024 caracteres) | — |
| Texto do botão | O que o cliente lê no botão que abre o formulário (até 20 caracteres) | Passar disso é recusa no envio |
| Flow ID | Identificador do formulário na Meta | Ao publicar uma versão nova |
| Content SID | Identificador do Content Template no Twilio | Ao publicar uma versão nova |
| Ação | O que o toque faz — navegar pelas telas do formulário ou trocar dados | Conforme o desenho do formulário |
| Primeira tela | Por qual tela do formulário ele começa | Formulários com mais de uma tela |
| Ativo | Liga e desliga sem apagar | — |
Formulário não passa por revisão, e isso muda o risco#
Modelo de mensagem passa por revisão da Meta e nasce pendente. Formulário não passa por revisão: ele é validado e publicado — e a partir daí só pode ser descontinuado.
Isso é conveniente e perigoso ao mesmo tempo. Conveniente porque não há espera. Perigoso porque não há uma segunda leitura antes de o formulário chegar ao cliente: um campo obrigatório com o rótulo errado, ou um formulário que pede um dado que você não deveria coletar, vai ao ar na hora.
Teste o formulário com o seu próprio número antes de usá-lo com clientes.
Cuidado com o que você pede#
Formulário é a ferramenta certa para coletar dado, e por isso mesmo é onde se coleta dado demais. Cada campo pedido é um dado que você passa a guardar, com todas as obrigações que vêm junto. Peça o mínimo que resolve o atendimento — e não peça senha, dado bancário nem código de verificação, que são justamente os campos que fazem a Meta ler o conteúdo como golpe.
Como fazer#
- Configure a conexão de parceiro do 360dialog e teste-a.
- Vá em Configurações → WhatsApp oficial, aba de formulários.
- Monte o formulário no construtor.
- Preencha o corpo e o texto do botão, respeitando os limites.
- Publique e anote o identificador.
- Preencha o Flow ID (e/ou o Content SID) no cadastro.
- Confira o selo de canais: ele diz onde o formulário vai funcionar.
- Envie para o seu próprio número e preencha do começo ao fim.
Se algo der errado#
A validação recusa o cadastro. Nenhum identificador foi preenchido. Sem Flow ID nem Content SID, o formulário não tem como sair por canal nenhum.
O formulário funciona no 360dialog e não no Twilio. É o esperado quando só o Flow ID está preenchido. O Twilio exige o Content Template criado do lado dele.
O envio é recusado por causa do texto do botão. O limite é 20 caracteres. Passar disso é recusa no envio, não aviso.
O botão de testar a chave de parceiro devolve erro. A chave é de conta de desenvolvedor, não de parceiro. O texto que aparece é o da 360dialog — leve-o para o suporte deles.
O cliente abre o formulário e ele aparece em branco. Confira a primeira tela configurada: um formulário com várias telas que começa numa tela vazia chega assim.