Utilizando blocos de atribuição de valor a variáveis
Neste artigo vamos abordar como utilizar os blocos de atribuição de valores a variáveis .
Importante: este é um tópico avançado, que exige conhecimento técnico.
Os blocks de atribuição de valores servem para que você possa atribuir ou alterar o valor de uma variável, utilizando valores fixos, variáveis externas, variáveis de sessão, variáveis de contexto e/ou funções.
Para criar um bloco de atribuição, arraste para o canvas do editor de fluxo um bloco do tipo "atribuição de variável". Este é um bloco verde com um sinal de igual (=). Clique duas vezes sobre o bloco para ver e alterar suas propriedades.
- Nome da variável: defina neste campo o nome da variável que deseja atribuir ou alterar o valor.
- Valor da variável: defina o valor que deseja atribuir.
No campo de valor, você pode utilizar referências a outras variáveis utilizando chaves no formato {{nomedavariavel}}.
Nomes de variáveis devem ter apenas letras minúsculas (a-z). Números, símbolos, letras maiúsculas, espaço não são permitidos.
O fluxo possui três tipos de veriáveis:
- Variável de contexto: são as variáveis que você cria em função de uma resposta do usuário, ou através de um block de atribuição. Estas são mantidas no histórico do atendimento.
- Variável de sessão: são propriedades da sessão de atendimento (saiba mais neste documento).
- Variável externas: são variáveis obtidas através de chamadas de serviços externos. Estas não são persistentes, sendo elas excluídas ao final do atendimento. (saiba mais neste documento)
Funções:
random(n)
Gera números inteiros aleatórios de n algarismos.
Exemplo:
random(4) => 1234 random(6) => 123456
Caso de uso: você pode utilizar a função random como uma chave de validação de usuários por SMS ou E-mail.
increment(n)
Soma o valor de n à variável. n deve ser um número inteiro.
Exemplo:
increment(4) => valor + 4 increment(10) => valor + 10 increment(-10) => Não é permitido. Utilize a função decrement(n) para subtração.
Caso de uso: você pode utilizar esta função para contar quantas vezes um usuário passou por um passo no fluxo, e eventualmente desviar o mesmo para outro caminho com um bloco de decisão.
decrement(n)
Subtrai o valor de n à variável. n deve ser um inteiro.
Exemplo:
decrement(4) => valor - 4
decrement(10) => valor - 10
decrement(-10) => Não é permitido. Utilize a função increment(n) para adição.
Caso de uso: você pode utilizar esta função para contar quantas vezes um usuário passou por um passo no fluxo, e eventualmente desviar o mesmo para outro caminho com um bloco de decisão. Exemplo, começa com 5 e a cada passo decrementa a variável. Com um bloco de decisão, quando a variável chegar a 0 (zero), desvia o fluxo.
depto_status(id)
Retorna o status de um departamento, onde id é o código do departamento no sistema.
Exemplo:
depto_status(4) => online (caso haja pelo menos um agente online no departamento código 4) depto_status(3) => offline depto_status(123) => none (caso o departamento não exista, esteja inativo ou não pertença a sua conta)
Caso de uso: você pode utilizar esta função desviar o fluxo caso um determinado departamento não esteja disponível, ou evitar a transferência para o chat humano.