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:
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}};
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.
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!!! 😊