Skip to main content

Pessoal,

Em uma etapa do fluxo temos a necessidade de solicitar alguns dados do usuário, como por exemplo, nome, CPF, nome da mãe e data de nascimento.
Penso que seria melhor mostrar um formulário nesta etapa para que o cliente entre com todos os dados de uma vez, ao invés de solicitar as informações uma a uma.
Isso é possível no blip? Algum pode me orientar?

Obrigado.

@Gabriel Carrasco boa tarde! 

 

Vc precisa usar whatsapp flow para montar seu formulário.

Artigo da blip sobre: https://help.blip.ai/hc/pt-br/articles/19143153044375-O-que-%C3%A9-o-WhatsApp-Flows
Playground da meta: https://developers.facebook.com/docs/whatsapp/flows/playground
Documentação com os componentes existentes: https://developers.facebook.com/docs/whatsapp/flows/reference/components

Após vc montar o flow com os links acima, basta copiar o json do formulário e criar o whatsapp flow através da API disponibilizada pela Blip no artigo enviado acima.

Vc usa primeiro a rota para criar, depois para atualizar o flow (passando o json criado) e depois publicar o flow.

Depois vc usa o conteúdo dinâmico passando o json abaixo:

{
  "recipient_type": "individual",
  "messaging_product": "whatsapp",
  "type": "interactive",
  "interactive": {
    "type": "flow",
    "body": {
      "text": "Para abrir o formulário, basta clicar no botão abaixo.\n\nDigite *sair* para voltar ao menu."
    },
    "action": {
      "name": "flow",
      "parameters": {
        "flow_message_version": "3",
        "flow_token": "any_string_for_this_example",
        "flow_id": "{{idFlow}}",
        "flow_cta": "Abrir formulário",
        "flow_action": "navigate",
        "flow_action_payload": {
          "screen": "{{idPrimeiraScreenDoFlow}}",
          "data": {
            "type": "dynamic_object"
          }
        }
      }
    }
  }
}

Para pegar os dados informados pelo cliente, vc cria um script após o retorno do usuário
 

function run(retornoFlowCadastro) {

    try {

        if (typeof retornoFlowCadastro != 'object') retornoFlowCadastro = JSON.parse(retornoFlowCadastro);

 

        return retornoFlowCadastro.metadatae'#wa.interactive.nfm_reply.json_response'];

    } catch (e) {

        return 'DebugErro: ' + e;

    }

}


Comente