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.