Condições de saída do Builder Take Blip 15 de fevereiro de 2021 18:21 Atualizado Para que seja possível condicionar a mudança de estado de um usuário, o Builder disponibiliza condições de saída. Uma condição de saída é composta de uma ou mais regras e o identificador do bloco de destino, caso a condição seja alcançada. O bloco de destino pode ser qualquer um dos blocos existentes no fluxo da conversa do bot. Cada regra é formada por até quatro estruturas: fonte de dados, operador, nome de uma variável e um valor esperado. Quando a fonte de dados do tipo Variável é selecionada, é necessário também adicionar o nome da variável que será analisada na condição. Fonte de Dados Uma condição pode utilizar até quatro diferentes fontes de dados para criar uma regra. São elas: entrada do usuário, valor de uma variável, intenção ou entidade extraídos a partir da última entrada do usuário. Operador Existem diferentes tipos de operadores para uma regra. A tabela abaixo apresenta todos os operadores e suas respectivas definições: Nome do operador Descrição Existe Verifica se na fonte de dados existe algum valor, seja ele qual for. Igual a Verifica se a fonte de dados é exatamente igual ao valor esperado Diferente de Verifica se a fonte de dados é diferente do valor esperado. Contém Verifica se a fonte de dados contém o valor esperado. Começa com Verifica se a fonte de dados começa com o valor esperado. Termina com Verifica se a fonte de dados termina com o valor esperado. Maior que Verifica se a fonte de dados é maior que o valor esperado. Menor que Verifica se a fonte de dados é menor que o valor esperado. Maior que ou igual a Verifica se a fonte de dados é maior ou igual ao valor esperado. Menor que ou igual a Verifica se a fonte de dados é menor ou igual ao valor esperado. Parecido com Verifica se a fonte de dados é parecida com o valor esperado. (Utilizando a função Levenshtein) Corresponde a regex Verifica se a fonte de dados corresponde ao padrão regex definido no valor esperado. Valor Esperado O valor esperado na fonte de dados. Este valor pode ser texto, número ou até mesmo o padrão de um regex. Exemplo 1: Imagine que, durante uma pergunta qualquer, um bot precise alterar o estado do usuário de acordo com a sua resposta. Os valores esperados de resposta são ‘sim’ ou ‘não’. Nessa situação, o bloco que possui a pergunta terá duas condições de saída: Condição 1 Fonte de dados: Entrada do usuário Operador: Igual a Valores: sim Bloco de destino: 1 - Estado Sim Condição 2 Fonte de dados: Entrada do usuário Operador: Igual a Valores: não Bloco de destino: 2 - Estado Não Para visualizar melhor, confira a imagem a seguir: Exemplo 2: Imagine que, durante uma pergunta qualquer, um bot precise alterar o estado do usuário de acordo com uma de suas variáveis de contexto. Considere que a variável {{plan}} representa o plano do usuário, foi setada em algum estado anterior e pode assumir os valores ‘free’ ou ‘premium’. Nessa situação, o bloco que possui a pergunta terá duas condições de saída: Condição 1 Fonte de dados: Valor da variável Nome da variável: plan Operador: Igual a Valores: free Bloco de destino: 1 - Estado Free Condição 2 Fonte de dados: Valor da variável Nome da variável: plan Operador: Igual a Valores: premium Bloco de destino: 2 - Estado Premium Para visualizar melhor, confira a imagem a seguir: Observações: Uma condição de saída é composta por uma ou mais regras. Todas as regras de uma condição devem ser verdadeiras para que o bloco de alvo correspondente seja ativado. As condições de saída de um bloco do Builder são processadas sequencialmente, até que uma condição verdadeira seja alcançada. Ou seja, é preciso cadastrar as condições ordenadas a partir das mais específicas até a mais genérica. Por padrão, todo bloco possui uma condição de saída padrão (Fallback) pré-configurado. Apesar de ser possível alterar a saída padrão de qualquer bloco, não é possível removê-la. Artigos relacionados Quais os tipos de contéudo suportados pelo Builder? Variáveis do Builder Como enviar email pelo bot através do Builder Como criar blocos no Builder Visão geral do Blip Desk