Outros Tipos de Variáveis

Além de variáveis de fluxo e variáveis globais, você pode usar variáveis de escopo do usuário, perfil e sistema.

Perfil-Variáveis de Escopo para Contexto do Usuário

Você pode acessar valores de nome, localidade e hora local de um usuário usando variáveis de perfil-escopo, que acessam as configurações de perfil do cliente de chat.

Por exemplo :
"Hello ${profile.firstName}, how can I help you today?"

Esta é uma imagem do profile.firstName na saída.
Use essas variáveis predefinidas para gerar contexto específico do usuário da habilidade.
Para isso... Use isso...
Obtenha o nome do usuário do bot. ${profile.firstName}
Obtenha o sobrenome do usuário do bot. ${profile.lastName}
Obtenha a configuração regional do usuário do bot. ${profile.locale}
Obtenha o fuso horário do usuário (deslocamento em milissegundos). ${profile.timezoneOffset}

Essas variáveis predefinidas são definidas automaticamente com base em valores transmitidos pela plataforma de mensagens. Os valores diferem de acordo com a plataforma de mensagens e algumas plataformas podem não fornecê-los. Para integrações de assistente digital como agente, por exemplo, profile.firstName, profile.lastName e profile.email só terão valores se o usuário tiver acessado o Oracle Service Cloud ou se um usuário tiver preenchido campos de nome, sobrenome e endereço de e-mail na página de início de chat do Oracle Service Cloud antes de solicitar um chat. No Oracle Web Client, esses valores de perfil devem ser definidos com a propriedade initUserProfile ou com o método updateUser.

Salvar Valores Específicos do Usuário para Visitas de Devolução

Você pode criar variáveis de escopo do usuário para persistir nas sessões.

Em geral, quando uma conversa do usuário com uma habilidade ou um assistente digital termina, os valores de variáveis que foram definidos na entrada do usuário são destruídos. No entanto, você também pode definir variáveis de escopo do usuário para reter a entrada do usuário das sessões anteriores para aprimorar novas conversas. Você cria variáveis de escopo do usuário diretamente nos próprios componentes.

Para criar uma variável de escopo do usuário:

  1. No campo Variável do inspetor de propriedades do componente em que você deseja criá-lo, selecione Variável de Escopo do Usuário na lista drop-down.
  2. No campo Nome da Variável com Escopo exibido, informe o nome da variável.

    Informe o nome sem o prefixo user.. (Embora você use esse prefixo ao fazer referência a uma variável de escopo do usuário, não o use ao defini-la.)

Para fazer referência a uma variável de escopo do usuário, use uma expressão como ${user.VAR_NAME}.

Por exemplo, na habilidade de amostra Habilidade de Pizza - Designer de Fluxo Visual, a variável de escopo do usuário lastOrderNumber é definida depois que o usuário coloca a ordem no fluxo service.reg.placeOrder. Essa variável é referenciada pela expressão ${((user.lastOrderNumber)?has_content)} no primeiro estado do fluxo que é chamado sempre que a habilidade é iniciada (handler.startSkill) para determinar se o usuário fez alguma ordem anterior.

Observação

Os valores das variáveis de escopo do usuário são específicos do canal. Por exemplo, se um usuário acessar uma habilidade em um canal da Web e depois acessar a habilidade por meio de um canal do Microsoft Teams, o canal do Teams terá suas próprias instâncias das variáveis do usuário e não reconhecerá os valores da conversa anterior no canal da Web.

Variáveis do Sistema

Variável Tipo Descrição
system.nlpresult Resultado NLP Usado para armazenar o resultado de NLP para a declaração do usuário. Para obter o resultado completo do NLP, você pode usar a expressão ${skill.system.nlpresult.value}.
system.intent.utterance String Quando essa variável tiver um valor, ela será usada para correspondência de intenções em vez da última mensagem do usuário. Para acessar essa variável, você pode usar a expressão ${skill.system.intent.utterance}.
system.event Mapear Quando um dos eventos incorporados é mapeado no fluxo principal ou em um subfluxo, essa variável contém propriedades de evento que você pode usar para tratar o evento. Por exemplo, para obter um payload de evento, você usaria uma expressão no formato ${skill.system.event.value.EVENT_NAME}.
system.rb pacote de recursos Usado para acessar entradas do pacote de recursos do idioma. Para acessar uma entrada de pacote de recursos, você pode usar uma expressão no formato ${skill.system.rb.RB_ENTRY_NAME}.