O WhatsApp Flows possui a função de criar uma interação mais fluida e conectada na plataforma, permitindo que os usuários compartilhem conteúdo e interajam de maneira mais harmoniosa.
O input WhatsApp Flow dentro do Zenvia NLU permite utilizar os Flows previamente criados na ferramenta Meta e utilizá-los nos assistentes durante uma conversa no WhatsApp.
Ao permitir uma variedade de interações, a funcionalidade possibilita:
Apresentar formulários de entrada simples (agendamento de consultas, por exemplo).
Criar Fluxos que guiam os usuários por diversas telas (solicitação e escolha de produtos, por exemplo).
Criar endpoints que trocam dados entre telas e permitem interações mais complexas.
💡 Dica para saber mais sobre o Flow da Meta, acesse a documentação original Creating a Flow - WhatsApp Flows - Documentation - Meta for Developers.
Nesse artigo você encontrará:
Exemplo de caso de uso
Para entender a utilização, considere o seguinte cenário utilizando a nossa empresa como exemplo:
O primeiro passo inicia na Meta, com a criação de um Flow. Imagine que a Zenvia cria um Flow do Whatsapp com o modelo Inscreva-se em um evento onde é possível gerar um formulário para o cliente interagir.
Agora considere que esse cliente, ao navegar por uma rede social como o Instagram, é impactado por uma campanha patrocinada da Zenvia. O WhatsApp é acionado quando o usuário toca no botão CTA.
Em seguida, uma mensagem de resposta será enviada para o chat do WhatsApp da Zenvia, onde o bot fará a captura dos dados. Sua primeira interação será no formulário criado.
Veja o exemplo do desenvolvimento e criação do Flow no Meta:
Após compreender o caso de uso, o próximo tópico do artigo aborda diretamente sobre como configurar um Flow da Meta no chatbot do Zenvia NLU.
Configurar fluxo da Meta no Chatbot
Para Configurar um Flow criado na Meta ao seu chatbot no Zenvia NLU, siga as instruções abaixo:
- Acesse o assistente virtual no Zenvia NLU;
- Clique ou crie o nó que será configurado com o Flow;
- Escolha o input Whatsapp Flows.
A estrutura dos dados específicos do fluxo é feita através do JSON que contém a seguinte estrutura:
Estrutura
{
"zenvia": {
"type": "flow",
"payload": {
"id": "",
"token": "",
"header": "",
"body": "",
"footer": "",
"button": "",
"mode": "draft | published",
"action": {
"type": "navigate | data_exchange",
"screen": "",
"data": {}
}
}
}
}
Atributos
- header (opcional): título da mensagem de chamada para o Flow.
- body: corpo da mensagem de chamada para o Flow.
- footer (opcional): rodapé da mensagem de chamada para o Flow.
- button: texto do botão que irá abrir o Flow.
- id: id único do Flow fornecido pelo WhatsApp.
- token: token identificador do Flow gerado pela marca.
- mode: "draft" para fluxo em rascunho ou "published" para fluxo publicado. Valor padrão: "published".
- action.type: "navigate" ou "data_exchange". Valor padrão: "navigate".
- action.screen: id da primeira tela a ser exibida no fluxo. Obrigatório caso action.type seja "navigate".
- action.data (opcional): dados de entrada para a primeira tela do Flow. Deve ser um objeto não vazio.
Como utilizar os dados capturados pelo WhatsApp Flow
Após um input do tipo WhatsApp Flow, o tipo de dado específico gerado fica disponível como input.flow.
Nesse dado, ficam salvas todas as informações que o usuário preencheu dentro do formulário do Flow.
Essas informações podem ser:
Visualizadas no atendimento;
Utilizadas em outros pontos do builder;
Armazenadas em variáveis de contexto e contato.
Por exemplo, se o Flow coleta dados como nome, CPF e e-mail, é possível salvar:
Todo o objeto do input:
{{input.flow}}Um campo específico:
{{input.flow.data.email}}ou{{input.flow.data.cpf}}
Exemplo de retorno:
"input": {
"flow": {
"body": "Sent",
"data": {
"cep": "00000-000",
"cpf": "00000000000",
"email": "[email protected]",
"marketing_optin": true,
"name": "Teste ",
"tos_optin": true
},
"token": "9fb0e349-8b75-9faa-c85fd9e78ac6:5511516:129818005"
},
"valid": false
}É importante lembrar que esse tipo de retorno é gerado em formulários que exigem preenchimento de informações, e que o dado input.flow fica disponível apenas até o próximo input do usuário. Caso a informação não seja salva nesse momento, ela será perdida.
Pronto. A configuração está feita. Veja abaixo o exemplo de como o bot do whatsapp recebe o evento criado no Flow:
⚠️Atenção: por uma determinação da própria Meta, a execução não ocorre no WhatsApp Web, apenas no aplicativo mobile.