As variáveis permitem armazenar e reutilizar informações ao longo da conversa no fluxo do chatbot. Com elas, é possível personalizar mensagens, guardar respostas de usuários, controlar etapas e muito mais.
Neste artigo, você vai aprender:
Como cadastrar uma variável no Builder
Quais são os tipos de variáveis disponíveis
Como utilizar variáveis em mensagens e configurações
Como cadastrar uma variável no fluxo
Se você já sabe o que são variáveis e quer apenas aprender como criá-las, siga os passos abaixo:
Acesse o Builder e abra o fluxo desejado.
Clique no bloco onde deseja armazenar a variável.
No menu lateral direito, ative a opção Armazenar variável.
Preencha os campos:
Nome da variável: evite espaços e acentos (ex:
status_pagamento).Valor da variável: pode ser um valor fixo (como
concluido) ou dinâmico (como<?input.text?>).
Salve o bloco. Pronto! A variável estará disponível para uso em outros pontos do fluxo.
Exemplo de uso na mensagem:
<?$status_pagamento?>
Tipos de variáveis no Builder
O Builder permite o uso de diferentes tipos de variáveis. Entenda cada uma:
- Variáveis do contato: armazenam dados associados ao perfil do cliente, como
contact.name,contact.email, etc. - Variáveis de contexto: são específicas de uma sessão e desaparecem após o término da conversa, como
<?$status_pagamento?>. - Variáveis de sistema: fornecidas automaticamente pela plataforma (como
channel.nameouflow.name).
Como utilizar variáveis no editor de código (JSON)
Se você estiver editando diretamente em modo código (JSON), utilize a notação correspondente:
- Para variáveis de sessão:
<?#nome_da_variavel?> - Para variáveis de contato:
<?contact.nome_do_atributo?>
Exemplo:
Para exibir o nome do contato em uma mensagem:
[ { "default": { "text": "Seja bem-vindo, <? contact.name ?>", "type": "text" } } ]
Para usar variáveis em pontos de entrada, ou na condicional de nó de destino, não é preciso colocar a notação <? ?>
| Variáveis de contato |
São dados armazenados na ficha do atendimento. Podem ser acessados através da notação Por exemplo:
Exemplo de armazenamento de variável do contato: { "contact": { "name": "<? input.text ?>", "extra": { "identification_number": "123456" } } } Exemplo de uso: [ { "default": { "text": "Seja bem-vindo, <? contact.name ?>", "type": "text" } } ] |
| Variáveis de contexto |
São dados armazenados na sessão do atendimento. Podem ser acessados através da notação Exemplo de armazenamento de variável de contexto: { "context": { "status_pagamento": "concluido" } } Exemplo de uso: [ { "default": { "text": "Status do pagamento: <? $status_pagamento ?>", "type": "text" } } ] O acesso às variáveis de contexto ocorre pela sintaxe iniciada com { "context": { "valid": "<? (/^[0-9]+\\$/).test(input.text)) ?>" } } |
| Variáveis de sistemas (especiais) |
Há um conjunto de variáveis especiais (ou de sistema) que podem ser usadas para acessar o input do usuário, intenção reconhecida, entidades, nível de confiança, etc. Input A interação do usuário com o assistente fica armazenada na variável input. Uma resposta de texto por exemplo fica armazenada na variável [ { "default": { "text": "Você digitou '<? input.text ?>'", "type": "text" } } ] Intenção Para toda interação do usuário que passa pelo cognitivo, as variáveis intent, intents, confidence e Exemplo 1: O usuário digita "Bom dia" e a "intent": "saudacao", "intents": [ { "intent": "saudacao", "confidence": 1 } ], "confidence": 1, "score_level": "high", O Para uma intenção chamada
Sempre que a intenção A mesma abordagem pode ser utilizada na hora de definir o nó de destino na seção então ir para até mesmo combinando com outras variáveis.
Entidades Assim como para intenções, o NLU pode reconhecer entidades na interação do usuário. Nesse caso a variável entities é preenchida. Considerando que o usuário digitou a frase "Quero comprar um tênis da Adidas", suponhamos que as entidades A variável entities teria a seguinte estrutura: "entities": [ { "value": "tenis", "entity": "produto", "location": [ 17, 22 ], "confidence": 1 }, { "value": "adidas", "entity": "marca", "location": [ 26, 32 ], "confidence": 1 } ] Exemplos de como essa variável poderia ser usada:
De forma similar a intenções, para verificar se uma entidade foi reconhecida basta utilizar o @. Por exemplo:
Por exemplo, se você quisesse direcionar o usuário para um nó específico caso ele tenha digitado um produto e uma marca, Canais (source) Uma outra possibilidade é usar a origem do contato como regra para o assistente tomar uma decisão. Lembrando que o valor é baseado na integração, por exemplo:
Variável base_has_answers Após o uso de base de conhecimento no Builder, é possível acrescentar uma variável especial chamada Como o próprio nome indica, essa variável poderá conter os valores true ou false e determina se foi encontrada uma resposta na base de conhecimento ou não. Além de poder ser usada nas condições, por exemplo, de saída do nó, pode também ser utilizada no armazenamento de variáveis, conforme exemplo: [ { "extra1": "<? base_has_answers ? 'tem answers' : 'não tem' ?>", "extra2": "extra2", "details": { "field1": "value1", "field2": "value2" }, "event_name": "saudacoes" } ] ou { "contact": { "atributo": "valor" }, "context": { "var_contexto": "<? base_has_answers ? 'tem answers' : 'não tem' ?>" } } |