Skip to main content

Olá, pessoal!!!



Enquanto aguardamos o lançamento oficial da funcionalidade pela Take, vamos de solução alternativa!



Vc vai precisar baixar o JSON do bot, pois será necessário editá-lo.


Após baixar, organize/formate o conteúdo para facilitar a edição e para isso, sugiro instalar o plugin JSON Viewer no NotePad++ e utilizar o atalho CTRL+Alt+Shift+M ou utilizar outra ferramenta que melhor lhe atenda.



Vamos editar manualmente o bloco alvo e para isso, vamos utilizar o JSON do link abaixo como exemplo:



JSONBot.json (22,7KB)







No bot de exemplo acima, eu faço 2 perguntas ao usuário e se a resposta for diferente de “Sim” ou “Não”, envio ele para o bloco “Validação”, onde digo que “não entendi sua resposta” e envio-o de volta ao bloco da mesma pergunta. Obviamente num fluxo real, vc deve controlar quantas vezes o usuário pode repetir esse processo para não o deixar em um loop infinito (essa configuração não foi aplicada no bot do exemplo).





Passo 1:


Busque o nome do bloco no seu JSON.


Ele tem que ter pelo menos uma condição de saída configurada.


No nosso exemplo, o nome do bloco “Validação” está na linha 909.





Passo 2:


Busque as condições de saída ($conditionOutputs) do bloco no seu JSON.


No nosso exemplo, as condições de saída do bloco “Validação” começam na linha 881.


A condição de saída que eu quero editar começa na linha 882 e termina na linha 897.





Passo 3:


Edite o “stateId” da condição de saída, trocando o ID do bloco de destino pela variável desejada.


No nosso exemplo, o “stateId” está na linha 883 (print acima) e o ID antigo foi substituído pela variável “{{state.previous.id}}” (print abaixo), que remete ao bloco que o usuário passou anteriormente antes de chegar ao bloco “Validação”.





Passo 4:


Salve o JSON e suba-o de volta ao builder.


Pronto! Agora a condição de saída do seu bloco está apontando para uma variável.


No nosso exemplo, o usuário voltará ao bloco anterior (de uma das perguntas) sempre que inserir um input inesperado no fluxo.





Casos de uso:







  1. Vc pode criar uma variável personalizada com vários IDs de blocos específicos e setar no JSON de acordo com a necessidade, exemplo: {{variável@id}};







  2. Neste bloco editado vc pode criar trackings coletando o nome do bloco anterior ({{state.previous.name}}) e a entrada do usuário ({{input.content}}) para fins de análise e melhoria contínua do fluxo.







  3. Facilidade para validar pontos de decisão (perguntas e/ou menus) em um só lugar, sem a necessidade de enviar o usuário para um bloco de “erro genérico”, mantendo-o engajado no fluxo e diminuindo a possibilidade de abandono.







Observação:



Esta dica é de minha própria autoria. Criada por necessidade, testada e implementada em um cliente que possui cerca de 20 mil acessos diários no WhatsApp, porém mesmo assim, a responsabilidade de colocar algo editado manualmente diretamente no JSON do bot em produção é do próprio desenvolvedor, portanto, teste em HMG todas as edições que fizer para garantir o perfeito funcionamento do fluxo.



Espero que tenha bons resultados!!! 😊

Sensacional, como sempre, @Wesley.Oliveira! :blipinlove:


que demais, @Wesley.Oliveira 😍


Comente