Modelos do Componente

Veja a seguir descrições dos modelos fornecidos para os vários componentes do fluxo de caixas de diálogo.

Enviar Mensagem

Este é um componente muito simples que é projetado para exibir uma ou mais mensagens para o usuário. Ele não aguarda nem responde à entrada do usuário.

O componente Enviar Mensagem tem a seguinte propriedade:

Propriedade Descrição
Mensagens Mensagens que são exibidas ao usuário quando o componente é chamado.

Fazer Perguntas

Esse componente foi projetado para solicitar entrada do usuário e, em seguida, armazenar essa entrada para que possa ser usada ou processada por outros componentes.

O componente Fazer Pergunta tem as seguintes propriedades:

Nome Descrição
Pergunta Texto que é exibido para o usuário.
Variável A variável que contém a resposta do usuário à pergunta.

Esse componente pode retornar as seguintes ações:

Ação Descrição
cancel O usuário atingiu o número máximo de tentativas de fornecer um valor válido.
system.textReceived O usuário inseriu texto (em vez de, por exemplo, selecionar um botão de ação).

Resolver repositório composto

Esse componente é uma versão simplificada do componente Resolver Entidades que você pode usar para resolver uma entidade composta.

Para usar esse componente, você precisa de uma entidade composta e de uma variável de habilidade para esse repositório composto.

O componente Resolver Bolsa Composta tem a seguinte propriedade:

Nome Descrição
Variável de Entidade Composta Texto que é exibido para o usuário.

Esse componente pode retornar as seguintes ações:

Ação Descrição
cancel O usuário atingiu o número máximo de tentativas de fornecer um valor válido.
disambiguate A entrada do usuário precisa ser esclarecida para determinar qual valor de entidade ela corresponde, se houver.
match A entrada do usuário corresponde a um valor de entidade válido.

Modelos de Mensagens do Usuário

Os modelos na categoria Mensagens do Usuário são projetados para exibir mensagens e prompts e aceitar a entrada do usuário.

Com exceção dos modelos Resolver Entidade e Feedback do Usuário, todos esses modelos são baseados no componente Resposta Comum e são adaptados para fins específicos.

Modelos Comuns de Componentes de Resposta

A grande maioria dos modelos na categoria Mensagens do Usuário se baseia no componente Resposta Comum, que permite usar propriedades e metadados do componente para criar uma interface de usuário especializada que pode incluir texto, botões de ação, imagens e cartões.

Em muitos casos, como os modelos na subcategoria Exibir Mensagens Multimídia, as principais diferenças estão na propriedade Metadados do componente Resposta Comum.

Em outros casos, como na subcategoria Exibir Tabelas e Formulários, o modelo consiste em um componente Resposta Comum precedido por um componente Definir Variável.

Na subcategoria Recursos Específicos do Canal, há exemplos de uso de extensões disponíveis para canais do Slack e do Microsoft Teams.

Propriedades para Modelos de Componente de Resposta Comum

Exceto para os componentes Resolver Entidades e Feedback do Usuário, os modelos na categoria Mensagens do Usuário são baseados no componente Resposta Comum. Como tal, cada um deles usa as propriedades na tabela a seguir (ou um subconjunto delas).

Nome Descrição
Metadados A resposta de chat criada por esse componente é orientada pelos metadados ResponseItems específicos da mensagem. Consulte A Propriedade de Metadados em Componentes de Resposta Comuns.
Processar Mensagem do Usuário

Defina essa propriedade como True para direcionar o Mecanismo de Caixa de Diálogo a retornar ao estado após o usuário digitar texto ou tocar em um botão. Defina essa propriedade como False se nenhuma entrada do usuário for necessária (ou esperada).

Defina essa propriedade como True ao definir um local.

Manter giro

Um valor booliano para renunciar (False) ou manter (True) o controle da habilidade do fluxo de caixas de diálogo. Defina como True quando quiser gerar uma sequência ininterrupta de mensagens de habilidade na qual nenhuma interposição do usuário é aceita.

Essa propriedade só se aplica quando você define a propriedade Processar Mensagem do Usuário como False.

Variável

Esta variável mantém o nome de uma variável que é preenchido quando um usuário responde digitando texto livre em vez de tocar em um botão. Esta propriedade é ignorada quando um usuário toca em um botão, porque o payload do botão determina quais valores de variáveis foram definidos. Se a propriedade da variável já tiver sido definida quando o Mecanismo de Caixa de Diálogo entrar nesse estado, o estado será ignorado.

Para entidades compostas, mencione a variável da entidade composta. Os usuários são solicitados a fornecer valores de entidades individuais no repositório. Quando todos os valores de entidades forem definidos, o componente mudará para o próximo estado.

Número Máximo de Prompts

Para que o componente possa preencher o valor da variável que você especificou para a propriedade Variável com base no texto digitado pelo usuário, ele validará o valor de acordo com o tipo de variável. Essa pode ser a validação do tipo de entidade ou, no caso de um tipo primitivo, é um valor que pode ser convertido no tipo primitivo.

Quando o componente não pode validar o valor, o Mecanismo de Caixa de Diálogo envia o texto da mensagem e as opções novamente. (Você pode modificar essa mensagem para refletir a falha de validação.) Para evitar um loop infinito resultante da incapacidade contínua do usuário de informar um valor válido, use essa propriedade para definir um limite para o número de tentativas fornecidas ao usuário. Quando o usuário excede essa distribuição, o componente muda para a ação cancel. Consulte Limitando o Número de Prompts do Usuário

Conforme descrito em Criar uma Entidade Composta, entidades individuais em uma entidade composta podem substituir essa definição quando a opção Máximo de Tentativas de Entrada do Usuário é definida.

Vários valores Indica se uma variável de entidade pode armazenar uma matriz de valores correspondentes ou apenas um único valor correspondente.
Cancelar apólice Determina o tempo da transição cancel:
  • Imediato - Logo após o valor definido para o Número Máximo de Tentativas de Entrada do Usuário do item do repositório ser atingido. Se esse valor não tiver sido definido, o componente acionará essa transição quando o valor Número Máximo de Prompts no âmbito do componente tiver sido atingido.

    Esse é o valor padrão.

  • Última Entidade - Quando a última entidade no repositório tiver sido correlacionada com o valor.

Essa propriedade será ignorada se você tiver registrado um handler de eventos de entidade em um handler maxPromptsReached de nível de item ou evento.
Usar Correspondências de Entidades Completas Quando definidos como True, os valores de entidade personalizados são armazenados como objetos JSON (semelhantes aos valores de entidade incorporados). Isso permite que você crie expressões para acessar propriedades como value, primaryLanguageValue e originalString, que são particularmente importantes para habilidades multilíngues no momento ou que eventualmente poderão se tornar multilíngues.
Transições para Componentes de Resposta Comuns
Os componentes de Resposta Comum usam as transições listadas na tabela a seguir. Tratamento de Mensagens para Componentes de Mensagem do Usuário descreve como essas transições são acionadas.
Transição Descrição
cancel Acionado quando um usuário excede as tentativas permitidas definidas pela propriedade maxAttempts ou redirecione o fluxo.
textReceived Acionado quando um usuário envia texto ou emojis em vez de tocar em um botão ou link de ação.
system.nonSequitur.onResume Use esta ação de transição para fornecer navegação alternativa para um estado quando a conversa retornar a esse estado depois de ter tratado um não sequenciador. Isso pode ser usado para atualizar o estado do componente, ignorar o estado ou consultar novamente as informações exibidas pelo estado. Em particular, essa transição é útil para casos em que o estado depende de dados novos (em outras palavras, ele precisa ser consultado novamente sempre que um usuário retornar a ele).
system.outOfOrderMessage Defina isso para contornar o comportamento inesperado do usuário. Especificamente, quando um usuário não toca em um item de ação na mensagem atual, mas toca em uma ação que pertence a uma mensagem mais antiga na sessão de chat.
Transições de Repositório Composto
Os componentes de Resposta Comum acionam as ações match e cancel com base nos valores correspondentes da entrada do usuário e na configuração da propriedade cancelPolicy.
Ação Descrição 0brigatório?
match O componente aciona essa ação para navegar até o estado especificado quando pelo menos uma entidade no repositório corresponder à entrada do usuário. No
cancel O componente aciona esta ação para navegar até o estado especificado com base na definição da propriedade cancelPolicy. No

Resolver Entidade

Propriedade Descrição
Variável Refere-se à variável do fluxo de caixas de diálogo da entidade composta que é preenchida por esse componente. Se todas as entidades filhas da variável de entidade composta já tiverem um valor, o fluxo de caixas de diálogo fará a transição para o próximo estado sem enviar uma mensagem ao usuário.
Número Máximo de Prompts Especifica o número de tentativas permitidas ao usuário para digitar um valor válido que corresponda ao tipo de entidade filha. Se o número máximo de tentativas for excedido para a primeira entidade filha, essa propriedade será redefinida como 0 e o bot gerará a solicitação da próxima entidade filha. Conforme descrito em Criar uma Entidade Composta, entidades individuais no repositório composto podem substituir essa definição quando a opção Máximo de Tentativas de Entrada do Usuário é definida.
Vários valores Indica se uma variável de entidade pode armazenar uma matriz de valores correspondentes ou apenas um único valor correspondente.
Usar Correspondências de Entidades Completas Quando definidos como True, os valores de entidade personalizados são armazenados como objetos JSON (semelhantes aos valores de entidade incorporados). Isso permite que você crie expressões para acessar propriedades como value, primaryLanguageValue e originalString, que são particularmente importantes para habilidades multilíngues no momento ou que eventualmente poderão se tornar multilíngues.
Prompt O texto usado para solicitar ao usuário entidades incorporadas.
Prompt de Desambiguação O texto usado para solicitar desambiguação ao usuário quando a entrada anterior do usuário correspondeu a vários valores da entidade incorporada. Essa propriedade será ignorada se a propriedade Vários Valores for resolvida como verdadeira.
Texto do Cabeçalho Uma mensagem que é exibida antes de o componente solicitar ao usuário o próximo item no repositório. Você pode usar esse cabeçalho para fornecer feedback sobre as entidades anteriores no repositório que foram correlacionadas (ou atualizadas). Por exemplo :
<#list system.entityToResolve.value.updatedEntities>I have updated <#items as ent>${ent.description}<#sep> and </#items>. </#list><#list system.entityToResolve.value.outOfOrderMatches>I got <#items as ent>${ent.description}<#sep> and </#items>. </#list>
Texto do Rodapé Melhora a saída nos canais somente texto. Por exemplo, você pode usar expressões FreeMarker para condicionalizar o texto do rodapé para canais somente texto.
Cancelar apólice Determina o tempo da transição cancel:
  • Imediato - Logo após o valor definido para o Número Máximo de Tentativas de Entrada do Usuário do item do repositório ser atingido. Se esse valor não tiver sido definido, o componente acionará essa transição quando o valor Número Máximo de Prompts no âmbito do componente tiver sido atingido.

    Esse é o valor padrão.

  • Última Entidade - Quando a última entidade no repositório tiver sido correlacionada com o valor.

Essa propriedade será ignorada se você tiver registrado um handler de eventos de entidade em um handler maxPromptsReached de nível de item ou evento.

Feedback do Usuário

O componente Feedback do Usuário permite coletar dados de feedback para Insights apresentando aos usuários uma escala de classificação depois que eles concluírem um fluxo transacional. Os usuários não podem alterar sua classificação porque o componente Feedback do Usuário não permite entrada fora da ordem. Se você estiver usando o SDK 21.10 ou posterior, esse componente gerará um sistema de classificação por estrelas horizontal.

Embora seja possível alterar o comportamento desse componente usando as propriedades do componente, você pode alterar sua aparência ao usar o SDK (versão 21.10 ou posterior). Por exemplo, você pode substituir os ícones de estrela padrão usados para os botões de feedback por outro ícone.

Nome Descrição
Classificação máxima A classificação máxima que um usuário pode enviar. Por padrão, o valor máximo é 5. Você pode ajustar esse valor para baixo.
Limite Um booliano, que se definido como true, permite que o usuário envie feedback de texto se a classificação for menor ou igual ao valor threshold. Por padrão, essa propriedade é definida como false (nenhum feedback ativado).
Ativar Feedback de Texto O valor para avaliar a transição entre as ações above e below. Por padrão, o limite entre feedback positivo e negativo é definido como 2 para o valor maxRating padrão, que é 5.
Texto do Rodapé O texto que é exibido na parte inferior da caixa de diálogo de feedback.

Esse componente pode retornar as seguintes ações:

Ação Descrição
above Defina quando a entrada do usuário for um valor válido que esteja acima do valor de Limite.
below Defina quando a entrada do usuário for um valor válido igual ou inferior ao valor de Limite. ).
cancel Defina quando os usuários recusarem a classificação clicando em Ignorar.

Você pode usar as seguintes variáveis do sistema para a saída de mensagens pelos estados de transição:

  • system.userFeedbackRating - Retorna a classificação do usuário.
  • system.userFeedbackText - Quando enableTextFeedback é definido como true, sua habilidade pode solicitar feedback quando as classificações ficam abaixo do valor threshold. system.userFeedbackText retorna a entrada do usuário (${system.userFeedbackText.value}).

O texto de exibição padrão do componente é armazenado em entradas de pacote de recursos. Essas entradas do bundle têm texto padrão, mas você pode personalizá-las. Veja a seguir as entradas deste componente:

Chave do Pacote de Recursos Descrição
Feedback - feedbackPrompt O prompt mostrado ao usuário para selecionar a classificação da conversa.
Feedback - invalidValuePrompt O prompt mostrado ao usuário para selecionar a classificação para a conversa depois que o usuário tiver inserido um valor inválido para a classificação.
Feedback - ratingButtonLabels Lista de labels separados por vírgulas exibidos nos botões de classificação.
Feedback - skipLabel O rótulo do botão para ignorar o feedback.
Feedback - textFeedbackPrompt Prompt mostrado ao usuário solicitando que ele forneça feedback de texto quando fornecer uma classificação abaixo do valor de propriedade Limite.
Feedback - thankYouPrompt O prompt mostrado ao usuário quando a transição selecionada pelo usuário não está definida no fluxo de caixas de diálogo.

Modelos de Variáveis

Copiar Variáveis

Copia valores de uma variável para outra.

Propriedade Descrição
Variáveis de Origem O nome das variáveis que terão seu valor copiado.
Variáveis de Destino As variáveis para as quais os valores das variáveis de origem serão copiados.

As definições dessas propriedades não precisam espelhar umas às outras. Embora você possa definir variáveis de destino e de origem como listas de variáveis, também pode definir a variável de origem com uma única variável e o destino como lista. Se você definir uma variável de destino adicional, ela herdará o valor da variável do valor de origem subsequente especificado.

Redefinir Variáveis

Esse componente redefine os valores das variáveis especificadas como nulos.

Propriedade Descrição
Variáveis a Serem Redefinidas As variáveis que precisam ser redefinidas.

Definir Variável

O componente Definir Variável define o valor de uma variável predefinida.

Propriedade Descrição
Variável O nome da variável.
Valor O valor de destino, que você pode definir como literal ou como expressão FreeMarker que faz referência a outra variável. O valor deve corresponder ao tipo da variável declarada.

Definir métricas personalizadas

Clique em Dimensões para adicionar os pares nome-valor para as dimensões e os valores de dimensão.
Atributo Descrição
name O nome da dimensão (com 50 caracteres ou menos) conforme aparece no relatório Métricas Personalizadas. Só use letras, números e espaços. Não use caracteres especiais.
value Você pode definir o valor da dimensão como uma expressão FreeMarker ou uma string de texto.
  • Use expressões FreeMarker para referenciar uma variável declarada para uma entidade.
  • Use uma string para rastrear um valor que não seja definido por variáveis na definição do fluxo de caixas de diálogo, mas que rastreie outros aspectos do uso da habilidade.

Modelos de Idioma

Detectar Idioma

O componente Detectar Idioma usa o serviço de tradução para detectar o idioma do usuário na entrada do usuário.

Observação

Esse componente só estará disponível se você tiver criado sua habilidade para usar um serviço de tradução (ou seja, não no modo de idioma suportado nativamente).

Esse componente define uma variável chamada profile.languageTag com a string de configuração regional. Você pode definir variáveis com o idioma atual quando usa essa variável em uma expressão de valor (${profile.languageTag}).

Observação

A variável profile.languageTag tem precedência sobre a variável profile.locale que é definida pelo cliente messenger.
Propriedade Descrição
Tag de Idioma do Perfil Existente Quando definida como Verdadeira, a habilidade usa o idioma detectado pelo assistente digital imediatamente. (Caso contrário, a habilidade poderá fornecer uma mensagem ou prompt em inglês antes que o idioma seja detectado novamente.) Essa propriedade só se aplica a habilidades que estão em assistentes digitais que usam um serviço de tradução.

Traduzir Entrada

Este componente envia o texto especificado para o serviço de tradução da habilidade e, em seguida, armazena a tradução em inglês. Ele utiliza a habilidade que está sendo configurada com um serviço de tradução, que reconhece o idioma da entrada do usuário e o traduz em inglês. Este componente não funciona com habilidades que usam o modo de idioma Suportado Nativamente.

Use esse componente quando precisar processar o texto de entrada bruto antes de traduzi-lo. Por exemplo, talvez você queira remover alguns dados pessoais da entrada do usuário antes de enviá-la ao serviço de tradução.

Como esse componente utiliza o serviço de tradução, que já detecta o idioma do usuário, ele não precisa seguir estados que detectem ou definam o idioma.

Propriedade Descrição
Expressão Expressão FreeMarker que especifica os valores de texto a serem traduzidos em inglês.
Variável A variável que contém a tradução em inglês do texto. Se esse valor não for definido, o componente usará a entrada anterior do usuário.

Converter Saída

O componente Converter saída permite traduzir texto especificado para o idioma do usuário. O componente assume o valor definido para a propriedade Expressão. Ele usa o serviço de tradução da habilidade para traduzir o texto no idioma detectado pelo componente Detectar Idioma ou pela variável profile.locale e o armazena na variável especificada pela propriedade Variável.

Este componente não funciona com habilidades que usam o modo de idioma Suportado Nativamente.

Propriedades Descrição
Expressão Uma expressão FreeMarker que faz referência a uma variável cujo valor precisa ser convertido.
Variável Variável que mantém o texto traduzido.

Entidade de Correspondência

O componente Entidade de Correspondência chama o Mecanismo de Intenção para extrair informações de entidade do texto mantido pela propriedade Variável de Origem. Se houver uma correspondência para o tipo de entidade variável, a variável especificada pela propriedade Variável será definida com esse valor de entidade.

Propriedade Descrição
Variável de Origem A variável que contém o valor de entrada.
Variável O nome da variável que é definido com o valor da entidade extraída. O valor dessa variável pode ser usado em um componente Definir Variável subsequente para extrair uma entidade específica usando uma expressão FreeMarker. Por exemplo, para extrair um valor de entidade EMAIL: ${userInputEntities.value.entityMatches['EMAIL'][0]}

Esse componente também tem duas transições predefinidas: match e nomatch.

Transição Descrição
match Direciona o Mecanismo de Caixa de Diálogo para passar para um estado quando as entidades coincidem.
nomatch Define o Mecanismo de Caixa de Diálogo para passar para um estado quando as entidades não coincidem.
Observação

O componente Entidade de Correspondência resolve apenas um único valor.

Modelos de Segurança

OAuth Link da Conta

Use esse componente para obter o código de autorização para serviços protegidos pelo fluxo de concessão do código de autorização, como LinkedIn, Twitter, Google ou Microsoft. Os componentes personalizados da habilidade podem trocar o código de autorização por um token de acesso, que depois eles usam para chamar o serviço final.

O componente primeiro direciona o usuário para a página de log-in do provedor de identidades. Após um log-in bem-sucedido, o componente retorna o código de autorização em uma variável, que você usa para transmitir o código de autorização ao componente personalizado. A API do componente personalizado deve trocar o código de autorização, o ID do cliente e o segredo do cliente por um token de acesso do usuário OAuth.

Para cada estado que exija autorização antes de ser chamado, defina sua definição Exige Autorização como True. Consulte Autorização do Usuário para obter as etapas para configurar isso.

Propriedade Descrição
Variável Especifica a variável de fluxo de caixas de diálogo na qual armazenar o código de autorização. Você pode declará-lo como string ou outro tipo de variável suportado. Também pode ser uma variável do usuário.
Autorizar URL O URL de log-in. A Propriedade authorizeURL descreve como configurar esse URL.
Texto do Rodapé Melhora a caixa de diálogo de log-in adicionando texto abaixo das opções de log-in e cancelamento. Você pode usar expressões FreeMarker para condicionalizar o texto do rodapé para canais somente texto.
Mostrar Label de Cancelar (Opcional) Permite que você especifique se deseja ou não exibir o botão Cancelar. Por padrão, essa propriedade é definida como True, o que significa que o botão Cancelar é exibido. Em alguns casos, por exemplo, canais SMS, pode ser que você não queira exibir esse botão. Você pode configurar esse comportamento com uma expressão como:
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}

Esse componente pode retornar as seguintes ações:

Ação Descrição
fail O usuário clicou no botão Cancelar.
pass O código de autorização foi recuperado com sucesso.
textReceived O usuário digitou o texto em vez de clicar no botão cancelar ou autenticar com sucesso.

O texto de exibição padrão do componente é armazenado em entradas de pacote de recursos. Essas entradas do bundle têm texto padrão, mas você pode personalizá-las. Veja a seguir as entradas deste componente:

Chave do Pacote de Recursos Descrição
OAuthAccountLink - cancelLabel Use para substituir o label do botão no qual os usuários podem clicar para sair do estado sem chamar a caixa de diálogo de autenticação. O label padrão é Cancel.
OAuthAccountLink - linkLabel Use para substituir o label do botão no qual os usuários podem clicar para chamar a caixa de diálogo de autenticação. O label padrão é Log In.
OAuthAccountLink - prompt A string a ser usada para solicitar o acesso ao usuário.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Dica:

Você também pode alterar as mensagens Outro - oauthCancelPrompt e Outro - oauthSuccessPrompt no pacote de configuração.

Quando o mecanismo de caixa de diálogo encontra esse componente, o bot de habilidades solicita ao usuário com dois links — Log-in e Cancelar.

Há várias formas de fazer a transição desse componente:

  • O usuário clica no botão Cancelar e o componente muda para o estado denominado pela ação fail.

  • O usuário não clica em qualquer botão, mas digita texto. O componente muda para o estado nomeado pela ação textReceived.

  • O usuário clica no link de log-in e o canal renderiza a página de log-in do provedor de identidades ou sua caixa de diálogo de autenticação como webview, conforme mostrado no exemplo a seguir. Após a autorização bem-sucedida, o componente muda para o estado nomeado pela ação pass (ou para o próximo estado se não houver uma ação pass), que normalmente chamaria um componente personalizado que troca o código de autorização por um token de acesso.

Se a janela de teste não renderizar a webview, recorte e cole o texto do link no browser.

OAuth Link da Conta 2.0

Use esse componente para obter um token de acesso do usuário OAuth2 (tipo de concessão Código de Autorização) para recursos protegidos pelo OCI IAM, Oracle Access Manager (OAM), plataforma de identidade da Microsoft ou autorização do Google OAuth 2.0. Esse componente conclui todas as etapas do fluxo de 3 fases do OAuth2 e retorna o token de acesso do OAuth2.

Para cada estado que exija autorização antes de ser chamado, defina sua definição Exige Autorização como True. Consulte Autorização do Usuário para obter as etapas para configurar isso.

Se você precisar obter um token de acesso do tipo de concessão Credenciais do Cliente para acessar recursos do cliente, consulte OAuth 2.0 Client.

Para poder usar esse componente em uma habilidade, execute as seguintes tarefas:

  1. Caso ele ainda não esteja registrado, registre o cliente no provedor de identidades, conforme descrito em Registro do Provedor de Identidades.
  2. Adicione um serviço de autenticação para o provedor de identidades, conforme descrito em Serviços de Autenticação.

Alguns provedores de identidade emitem tokens de atualização. Quando você usa esse componente, o Digital Assistant armazena o token de atualização durante o período de retenção especificado para o serviço de autenticação. O backend do Digital Assistant pode usar o token de atualização, se disponível, para obter um novo token de acesso sem que o usuário tenha de acessar novamente.

Propriedade Descrição
Serviço de Autenticação O nome do serviço de código de autorização que você criou na IU de Serviços de Autenticação para o provedor de identidades do OAuth2.
Nome da Variável do Usuário Autenticado Especifica a variável na qual armazenar o nome do usuário autenticado (o nome que o provedor de identidades conhece). Se a variável estiver no escopo do usuário, ela poderá ser compartilhada entre habilidades.
Nome da Variável de Token de Acesso Especifica a variável na qual armazenar o token de acesso. Se a variável estiver no escopo do usuário, ela poderá ser compartilhada entre habilidades.
Nome da Variável do Token de Acesso de Vários Escopos Campo reservado para suporte futuro de token de acesso de vários escopos.
Texto do Rodapé Melhora a caixa de diálogo de log-in adicionando texto abaixo das opções de log-in e cancelamento. Você pode usar expressões FreeMarker para condicionalizar o texto do rodapé para canais somente texto.
Mostrar Opção de Cancelamento (Opcional) Permite que você especifique se deseja ou não exibir o botão Cancelar. Por padrão, essa opção é definida como True, o que significa que o botão Cancelar é exibido. Em alguns casos, por exemplo, canais SMS, pode ser que você não queira exibir esse botão. Você pode configurar esse comportamento com uma expressão como:
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}
Requer Consentimento de Associação Defina isso como Verdadeiro se a habilidade usar o componente Notificar Usuário e o canal de eventos for Twilio ou Slack para persistir a identidade do usuário entre sessões e canais. Essa propriedade permite o link de contas de canal suportadas para a conta de domínio de identidades do OCI IAM autenticada do OAuth usando um identificador de usuário unificado.
Atualizar Perfil do Usuário Se o provedor de identidades for um domínio de identidades do OCI IAM e você quiser armazenar o perfil do usuário do IAM durante a sessão, defina essa propriedade como True. Quando um usuário é desafiado para autenticação, se essa propriedade estiver definida como true, o componente tentará extrair os dados do perfil do usuário do provedor de identidades e definir os resultados no mapa userProfile.<authorization service. Consulte Armazenar Perfil de Usuário Durante a Sessão.
Ativar Logon Único (Aplica-se apenas a canais do Microsoft Teams) Se você tiver configurado sign-on único no Microsoft Teams, definir essa opção como True permitirá que os usuários que já tiverem acessado o Teams não precisem acessar a habilidade separadamente.
Redirecionar URL O URL de redirecionamento que recebe o código de autorização.
Observação

A propriedade Associar ao Usuário Unificado não está mais disponível. Se quiser ativar a vinculação do canal suportado a uma identidade de usuário unificada, você poderá fazer isso para toda a instância. Consulte Ativar Link da Conta do Canal.

Esse componente pode retornar as seguintes ações:

Ação Descrição
fail O usuário clicou no botão Cancelar.
pass O token de acesso foi recuperado com sucesso.
textReceived O usuário digitou o texto em vez de clicar no botão cancelar ou autenticar com sucesso.

O texto de exibição padrão do componente é armazenado em entradas de pacote de recursos. Essas entradas do bundle têm texto padrão, mas você pode personalizá-las. Veja a seguir as entradas deste componente:

Chave do Pacote de Recursos Descrição
OAuth2AccountLink - cancelLabel Use para substituir o label do botão no qual os usuários podem clicar para sair de um estado sem chamar a caixa de diálogo de autenticação. O label padrão é Cancel.
OAuth2AccountLink - linkLabel Use para substituir o label do botão no qual os usuários podem clicar para chamar a caixa de diálogo de autenticação. O label padrão é Log In.
OAuthAccount2Link - prompt A string a ser usada para solicitar o acesso ao usuário.
OAuthAccount2Link - consentNeverFinalConfirmationNoLabel O label do botão "Não" que aparece após o prompt para confirmar que o usuário deseja recusar a associação permanente de sua conta de canal a uma identidade unificada. O padrão é Cancel.
OAuthAccount2Link - consentNeverFinalConfirmationPrompt O prompt que solicita que os usuários confirmem que desejam optar por não ter sua conta de canal associada a uma identidade unificada.
OAuthAccount2Link - consentNeverFinalConfirmationYesLabe O rótulo do botão "Sim" que aparece após o prompt para confirmar que o usuário deseja recusar ter sua conta permanentemente associada a uma identidade unificada. O padrão é Confirm.
OAuthAccount2Link - consentNeverFinalPrompt A mensagem que confirma aos usuários que eles optaram permanentemente por não ter sua conta associada a uma identidade unificada.
OAuthAccount2Link - consentNeverLabel O label do botão "Nunca" que aparece após o prompt que pergunta se o usuário deseja associar os dados da conta do canal a uma identidade unificada. O padrão é Never link this account.
OAuthAccount2Link - consentNotifyPrompt A mensagem que informa aos usuários que sua conta de canal será associada à identidade do usuário autenticada.
OAuthAccount2Link - consentNotNowFinalPrompt A mensagem que confirma aos usuários que eles se recusaram temporariamente a associar seus dados de conta de canal a uma identidade unificada.
OAuthAccount2Link - consentNotNowLabel O label do botão "Não Agora" que aparece após o prompt que pergunta se o usuário deseja associar os dados da conta do canal a uma identidade unificada. O valor padrão é Not at this time.
OAuthAccount2Link - consentPrompt O prompt que solicita que os usuários escolham se consentem em associar sua conta de canal à identidade de usuário autenticada.
OAuthAccount2Link - consentYesLabel O rótulo do botão "Sim" que aparece após o prompt que pergunta se o usuário deseja associar os dados da conta do canal a uma identidade unificada.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Dica:

Você também pode alterar as mensagens Outro - oauthCancelPrompt e Outro - oauthSuccessPrompt no pacote de configuração.

Quando o mecanismo de caixa de diálogo encontra o componente, o bot de habilidades solicita ao usuário dois links: Obter um Token de Acesso e Cancelar (você pode usar linkLabel e cancelLabel para alterar o texto do link).


Segue a descrição da ilustração oauth2accountlinksignin1.png
Descrição da ilustração oauth2accountlinksignin1.png

Se o usuário clicar no link para obter um token de acesso, ele exibirá a página de log-in do provedor de identidades ou a caixa de diálogo de autenticação, conforme especificado pelo serviço de autenticação. Após o log-in bem-sucedido, ele obtém o token de acesso, define os valores das variáveis identificadas por accessTokenVariableName e authenticatedUserVariableName e, em seguida, vai para o estado denominado pela ação pass (ou para o próximo estado, se não houver uma ação pass). Se o usuário cancelar, a ação de postback será definida como fail. Se o usuário digitar texto, ele retornará a ação textReceived.


Segue a descrição da ilustração oauth2accountlinksignin2.png
Descrição da ilustração oauth2accountlinksignin2.png

Como mencionado anteriormente, você pode definir requiresAuthorization para um estado para garantir que o usuário esteja autorizado antes de chamar o componente do estado. Se o usuário ainda não tiver autorizado, a caixa de diálogo chamará o evento Autorizar Usuário.

Cliente OAuth 2.0

Use esse componente para obter um token de acesso do OAuth2 do tipo de concessão Credenciais do Cliente. Ou seja, você o utiliza para obter um token de acesso com base nas credenciais do cliente, e não no nome do usuário e na senha. Você pode usar esse componente para obter um token que permita o acesso aos recursos do cliente protegidos pelo Oracle Identity Cloud Service ou Oracle Access Manager (OAM).

Se você precisar acessar recursos em nome de um usuário, consulte OAuth 2.0 Account Link e OAuth Account Link.

Para poder usar esse componente em uma habilidade, execute as seguintes tarefas:

  1. Caso ele ainda não esteja registrado, registre o cliente no provedor de identidades, conforme descrito em Registro do Provedor de Identidades.
  2. Adicione um serviço de autenticação de credenciais do cliente para o provedor de identidades, conforme descrito em Serviços de Autenticação.
Propriedade Descrição
Serviço de Autenticação O nome do serviço de credenciais do cliente que você criou na IU de Serviços de Autenticação para o provedor de identidades do OAuth2.
Nome da Variável de Token de Acesso Especifica a variável na qual armazenar o token de acesso. Você pode declará-lo como string ou outro tipo de variável suportado. Também pode ser uma variável com escopo do usuário. Por exemplo: user.accessToken.
Nome da Variável do Token de Acesso de Vários Escopos Campo reservado para suporte futuro de token de acesso de vários escopos.

Esse componente não tem qualquer ação. Para tratar os problemas do sistema que possam ocorrer, adicione uma próxima transição que vá para um estado que possa tratar esses erros.

Redefina tokens OAuth 2.0

Use esse componente para revogar todos os tokens de atualização e de acesso do usuário conectado do provedor de identidades que o serviço de autenticação representa. Ele também remove os tokens de atualização do banco de dados. Para usar esse componente, informe o URL do token de atualização de revogação do provedor de identidades na IU do Serviço de Autenticação.

A habilidade deve incluir um estado que use o componente OAuth 2.0 Account Link para o mesmo serviço de autenticação e deve ser chamada antes do estado que usa esse componente.

Propriedade Descrição
Serviço de Autenticação O nome do serviço que você criou na IU do Serviço de Autenticação para o provedor de identidades do OAuth2. Esse serviço deve ter um URL de token de atualização de revogação válido.

Este componente pode retornar a seguinte ação:

Ação Descrição
noRefreshTokenFound O serviço de autenticação não tem tokens de atualização para o usuário.

Modelos de Controle de Fluxo

Chave

Use esse componente para alternar estados com base em um valor de variável.

Este componente determina um caminho de execução resolvendo uma variável ou expressão e, em seguida, acionando uma ação de transição correspondente mapeada para um estado no fluxo.

Defina e mapeie as ações de transição na guia Transições do inspetor de propriedades.

Propriedade Descrição
Variável Uma variável cujo valor é usado para determinar qual ação de transição acionar.
Expressão Uma expressão FreeMarker usada para determinar qual ação de transição acionar. Por exemplo, a expressão ${((user.lastOrderNumber)?has_content)} poderá ser usada para acionar a ação de transição True se a variável user.lastOrderNumber tiver um valor ou acionar a ação False se a variável tiver um valor nulo.

Chamar Fluxo

Com esse componente, você chama um fluxo filho do fluxo atual, opcionalmente transmitindo parâmetros de entrada. Quando o fluxo filho é concluído, ele retorna uma ação e parâmetros de saída opcionais para seu fluxo pai.

As ações de transição que podem ser definidas dependem das ações definidas no componente Fluxo Final do fluxo filho.

Propriedade Descrição
Fluxo O nome do fluxo a ser chamado.
Parâmetros de Entrada Parâmetros que são passados para o fluxo chamado. Os valores podem incluir expressões Freemarker.
Parâmetros de Saída Parâmetros que podem ser retornados do fluxo chamado quando ele é concluído. O Valor do parâmetro deve ser o nome de uma variável no fluxo atual que é usada para armazenar o valor do parâmetro quando ele é retornado do fluxo chamado.

Chamar Habilidade

Com esse componente, você chama o fluxo de uma habilidade diferente, opcionalmente informando parâmetros de entrada. Quando o fluxo chamado é concluído, ele retorna uma ação e parâmetros de saída opcionais para o fluxo de chamada.

Antes de usar esse componente, deve haver um fluxo público disponível na habilidade que você está chamando. Consulte Chamar Outra Habilidade de um Fluxo.

Propriedade Descrição
Nome da Habilidade O nome da habilidade a ser chamada. Somente habilidades que têm um ou mais fluxos públicos são mostradas.
Versão da Habilidade (Essa propriedade aparece depois que você seleciona um valor para Nome da Habilidade.) A versão da habilidade a ser usada. Se a habilidade de destino estiver no mesmo assistente digital que a habilidade atual, esse campo será desconsiderado e a versão da habilidade no assistente digital será usada.
Nome do Fluxo (Essa propriedade aparece depois que você seleciona um valor para Nome da Habilidade.) O nome do fluxo a ser chamado da habilidade. Somente as habilidades que foram marcadas como públicas na habilidade de destino são mostradas.
Parâmetros de Entrada (Essa propriedade aparece depois que você seleciona um valor para Nome do Fluxo.) Parâmetros que são passados para o fluxo chamado. Os valores podem incluir expressões Freemarker.
Parâmetros de Saída (Essa propriedade aparece depois que você seleciona um valor para Nome do Fluxo.) Parâmetros que podem ser retornados do fluxo chamado quando ele é concluído. O Valor do parâmetro deve ser o nome de uma variável no fluxo atual que é usada para armazenar o valor do parâmetro quando ele é retornado do fluxo chamado.
Usar simulação Defina como True se precisar usar temporariamente dados simulados para os parâmetros de saída. Isso permite que você continue desenvolvendo e testando o fluxo se o fluxo de destino ainda não estiver disponível.
Parâmetros de Saída Simulados Se você precisar usar temporariamente parâmetros de saída simulados ao desenvolver o fluxo, informe cada parâmetro em uma linha separada no formato:
ParamName: ParamValue

Fluxo Final

Este componente é usado para finalizar explicitamente um fluxo.

Quando esse estado é atingido, todas as variáveis do fluxo são limpas e o controle é retornado ao fluxo pai (ou, se não houver um fluxo pai, o Fluxo Principal).

Você não precisará de um estado de Fluxo Final para um fluxo se não precisar retornar parâmetros ou ações do fluxo para um fluxo pai ou para o Fluxo Principal.

Propriedade Descrição
Ação A ação retornou ao fluxo de chamada, que pode ser usado para definir transições no componente Chamar Fluxo.
Valores da Ação Deve ser definido quando a propriedade Ação contém uma expressão Freemarker e deve conter uma lista de possíveis valores da expressão Freemarker resolvida.
Manter giro Quando verdadeiro, o mecanismo de caixa de diálogo continua a executar o próximo estado no fluxo de chamada com base nas transições definidas no componente Chamar Fluxo. Esta propriedade é IGNORADA quando:
  • Um fluxo filho está em execução. Quando o fluxo de uma criança termina, Keep Turn é sempre verdadeiro.
  • um fluxo raiz está em execução e nenhuma mensagem de bot foi criada ainda por sua vez. Nesse caso, Keep Turn é sempre verdade. (Isso garante que o turno não seja liberado sem que o bot envie uma mensagem de volta para o usuário, o que poderia dar ao usuário a impressão de que o bot está pendurado.)
Parâmetros de Saída Parâmetros que podem ser retornados a um fluxo pai quando o fluxo atual é concluído.

Modelos de Integração de Serviços

Modelo de Comunicação do Agente

Este modelo consiste nos componentes Iniciação do Agente e Conversa do Agente. Você usa esses componentes juntos para transferir a conversa de uma habilidade para um agente do Oracle B2C Service.

  • O componente Iniciação do Agente inicia o handshake com o canal de integração do agente especificado pela propriedade Canal de Integração do Agente do componente.
  • O componente Conversa do Agente gerencia o intercâmbio entre a habilidade e o agente ativo.

Esse modelo destina-se às conversas originadas na habilidade. Não use este modelo para conversas originadas no chat do Oracle B2C Service, conforme descrito em O Digital Assistant as Agent Framework em Ação.

Iniciação do Agente

Estas são as propriedades do componente Iniciação do Agente:

Propriedade Descrição
Canal de Integração do Agente Nomeia o canal de Integração do Agente. Esse valor, o nome do canal de Integração do Agente e a propriedade Canal de Integração do Agente definida para o componente Conversa do Agente devem corresponder.
Ações do Agente Uma lista de ações que o agente pode acionar para encerrar o chat e mover o fluxo para o estado definido para a ação de transição. Na console do representante de serviços ao cliente, essas ações são exibidas como comandos de barra quando a conversa do agente é iniciada, conforme mostrado neste exemplo:
Here are the available actions that you can send to transfer the conversation
back to the bot. Prepend the action with a forward slash (for example, /actionName).
/OrderPizza : Order Pizza : Order a pizza.
/ShowMenu : Show Menu : Show order options.
Na guia Transições do componente Conversa do Agente, você precisa informar manualmente essas ações e mapeá-las para os estados apropriados.
Assunto A linha de assunto que é exibida no console do agente após a entrega à plataforma do agente. Por padrão, esta é a última mensagem do cliente armazenada na variável system.nlpResult (que você pode acessar com a expressão ${skill.system.nlpresult.value.query}), mas também pode definir isso usando uma variável que você definiu anteriormente no fluxo. Por exemplo, você pode definir uma variável do tipo string cujo valor é definido antes do componente Iniciação do Agente:

A customer needs help regarding ${flow_variable.value}

Variável de Resposta do Chat Nomeia a variável de mapa que armazena as informações de resposta do agente. Depois que o componente Iniciação do Agente estabelece conexão com sucesso, o mapa contém as seguintes propriedades:
{
  "sessionID": "string", // agent session id

  "completedSurveyID": {
    "id": "int"
  },

  "engagementID": { // survey id
    "id": "int"
  },

  "cancelledSurveyID": {
    "id": "int"
  }
}
Propriedades personalizadas Um mapa que contém o ID do incidente, a interface, o contato ou os campos personalizados (ou uma combinação deles) a serem transmitidos ao serviço. Para referenciar uma variável de mapa, use uma expressão de valor como esta: ${mapVariableName.value}. Consulte Transmitir Informações do Cliente a um Chat ao Vivo.
ID da Fila O ID da fila que o componente deve usar para determinar se a condição Permitir Transferência Se foi atendida. Esse deve ser o ID da fila para a qual as regras de chat do Oracle B2C Service rotearão essa conversa.

Essa propriedade será ignorada se a propriedade Permitir Transferência Se não estiver definida.

Permitir Transferência Se Especifica as condições em que a habilidade deve transferir a sessão de chat. O componente usa o valor Queue ID para identificar a fila da qual obter as estatísticas. Verifique se as regras de chat irão realmente transferir a conversa para a fila identificada e não para alguma outra fila.
  • Agentes Estão Solicitando Novos Engajamentos: Este é o conjunto de condições mais restritivo. A habilidade só tentará transferir a conversa se houver agentes que solicitaram novas participações (chats marcados) e foram designados à fila especificada ou se o servidor de chat enviar automaticamente chats para agentes, houver agentes disponíveis para receber os chats, não atingiram o número máximo de chats e foram designados à fila especificada. Com essa opção, o usuário não precisa esperar muito tempo para falar com o agente.
  • Sessões do Agente Estão Disponíveis: A habilidade tentará transferir a conversa se houver agentes disponíveis que não atingiram o número máximo de chats e foram designados à fila especificada. O usuário pode ter que esperar se os agentes estiverem envolvidos em conversas de longa duração ou estiverem fazendo algum acompanhamento pós-chat.
  • Agentes Estão Disponíveis: A habilidade tentará transferir a conversa se houver agentes on-line designados à fila especificada, independentemente de terem atingido seu número máximo de chats ou de estarem solicitando novas participações. Com essa opção, os usuários podem ter longas esperas.

Se a condição especificada não for atendida, o componente retornará a ação rejected.

Ao incluir essa propriedade, inclua também a propriedade ID da Fila.

Formato de Data/Hora do Histórico Escolar O formato da data e hora nas mensagens de transcrição de conversa encaminhadas ao agente. Consulte a classe Java DateTimeFormatter para obter os padrões válidos. Exemplo: dd/MM/yyyy HH:mm. O padrão é yyyy-mmm-ddThh:mm:ssZ.
Fuso Horário do Histórico Escolar O nome da IANA (Internet Assigned Numbers Authority) do fuso horário a ser usado para formatar a transcrição da conversa usando a propriedade Formato de Data/Hora da Transcrição. Se você não definir a propriedade Formato de Data/Hora do Histórico Escolar, essa propriedade será ignorada.
Ações de Transição para Iniciação do Agente

O componente Integração do Agente retorna as ações accepted, rejected e error. Essas ações podem apontar para outro estado, com a ação accepted geralmente nomeando o estado para o componente Conversa do Agente. Você pode definir essas transições na guia Transições do inspetor de propriedades do componente.

Você pode mapear as transições dessas ações na guia Transições do inspetor de propriedades do componente.

Aqui estão as descrições das ações:

Ação de Transição Descrição
accepted O handshake foi concluído com sucesso e o estado pode fazer transição para o estado com o componente Conversa do Agente.
error Há um problema ao estabelecer uma conexão com o Oracle B2C Service. Por exemplo, a senha no canal de Integração do Agente não é mais válida ou há um problema com o servidor do Service Cloud.
rejected O Oracle B2C Service rejeitou a solicitação de conexão. Estes são alguns dos motivos para rejeitar uma solicitação de conexão:
  • Nenhum agente está disponível (requer as propriedades Permitir Transferência Se e ID da Fila)
  • Está fora das horas operacionais configuradas
  • É um feriado
  • Ocorreu um problema com o servidor de chat.

Observe que, se você não definir as propriedades Permitir Transferência Se e ID da Fila, a ação rejected não ocorrerá quando nenhum agente estiver disponível. Em vez disso, a transferência permanecerá em uma condição de espera.

Entradas do Pacote de Recursos para Inicialização do Agente

O componente Integração do Agente usa as seguintes propriedades, que são armazenadas no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_AgentInitiation_agentActionsMessage Se alguma ação for especificada na propriedade Ações do Agente, a console do agente exibirá essa mensagem antes da lista de ações. O padrão é:

\n Here are the available actions that you can send to transfer the conversation back to the bot. Prepend the action with a forward slash (for example, /actionName).\n

systemComponent_AgentInitiation_errorMessage A mensagem a ser exibida quando há um problema ao estabelecer uma conexão com o Oracle B2C Service. Por exemplo, a senha no canal de Integração do Agente não é mais válida ou há um problema com o servidor do Service Cloud. O padrão é:

Error transferring to agent. The reason is: {0}.

systemComponent_AgentInitiation_rejectedMessage A mensagem exibida se o handshake AgentInitiation foi rejeitado, como se estivesse fora das horas operacionais configuradas. O padrão é:

Agent rejected.

systemComponent_AgentInitiation_resumedMessage A mensagem que é exibida quando o bate-papo do cliente com o representante de atendimento ao cliente é retomado. O padrão é:

Resuming chat with agent

systemComponent_AgentInitiation_waitingMessage A mensagem exibida enquanto os clientes aguardam a conexão com um agente. O padrão é:

Agent chat session established, Waiting for agent to join.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Conversa do Agente

Estas são as propriedades do componente Conversa do Agente:

Propriedade Descrição
Canal de Integração do Agente Nomeia o canal de Integração do Agente. Esse valor, o nome do canal de Integração do Agente e a propriedade Canal de Integração do Agente definida para o componente de Integração do Agente devem corresponder.
B2C Substituição da Mensagem de Espera Texto para substituir a mensagem de espera B2C que fornece uma estimativa do tempo que um usuário terá que esperar para falar com um agente.
Ações de Transição para Conversa do Agente

O componente Conversa do Agente pode acionar as seguintes ações:

  • As ações incorporadas expired, agentLeft, error e waitExpired.
  • Qualquer ação da propriedade Ações do Agente do componente Iniciação do Agente.

Inclua também uma transição next, porque um cliente pode digitar uma das palavras-chave de saída (definidas na entrada do pacote de recursos systemComponent_AgentConversation_exitKeywords) para sair do chat para que qualquer uma dessas ações possa ser acionada.

Você pode mapear as transições das ações na guia Transições do inspetor de propriedades do componente.

Observação

As ações da propriedade Agent Actions do componente Agent Initiation não aparecem na lista drop-down para ações ao adicioná-las na guia Transitions do componente, portanto, você precisa inseri-las manualmente.

Aqui estão as descrições das ações de transição incorporadas:

Ação Descrição
agentLeft O agente encerrou a sessão sem usar uma ação de barra (por exemplo, /Order). Como alternativa, a sessão foi encerrada porque não houve atividade dentro do tempo especificado pela configuração CS_IDLE_TIMEOUT do Oracle B2C Service e essa configuração é inferior à definição Expiração da Sessão para o canal de integração do agente. Consulte a ação expired para obter mais informações.

Observe que esta ação não é retornada quando o usuário sai da conversa inserindo uma palavra-chave de saída. Nesse caso, o fluxo faz a transição para o estado nomeado pela transição next ou, se não houver transição next, para o próximo estado no fluxo.

error

Ocorreu um problema ao estabelecer conexão com o serviço de agente ao vivo.

expired

Se a definição CS_IDLE_TIMEOUT do Oracle B2C Service for igual ou superior à definição Expiração da Sessão para o canal de integração do agente, essa ação será acionada quando nem o usuário final nem o agente enviarem uma mensagem dentro do limite de expiração da sessão. Se a configuração CS_IDLE_TIMEOUT for inferior à configuração Expiração da Sessão para o canal de integração do agente e não houver atividade, o Oracle B2C Service encerrará o chat e a ação agentLeft será acionada.

Por padrão, a configuração CS_IDLE_TIMEOUT é de 10 minutos.

A ação expired não é retornada quando a conversa é concluída porque o USER_WAIT_QUEUE_TIMEOUT do Service Cloud foi excedido. Considere definir essa configuração com um valor alto, como 7200 segundos (2 horas).

Para exibir ou alterar as definições da instância do Oracle B2C Service, abra a Console do Desktop, clique em Navegação, clique no primeiro item de Configuração no menu e clique em Definições de Configuração. Em seguida, procure a definição na pasta Chat.

waitExpired A solicitação de chat expirou enquanto aguardava um agente. Isso acontece quando o tempo de espera excede o valor na definição USER_WAIT_QUEUE_TIMEOUT do cliente de chat.
Entradas de Pacote de Recursos para Conversa do Agente

O componente Conversa do Agente usa as seguintes entradas do pacote de recursos:

Chave do Pacote de Recursos Descrição
systemComponent_AgentConversation_conclusionMessage Uma mensagem automatizada enviada ao cliente quando o usuário digita uma palavra-chave de saída, a ação agentLeft é acionada ou o agente encerra a conversa sem enviar uma das Ações do Agente. O padrão é:

Chat session ended. Thanks for chatting with us.

systemComponent_AgentConversation_errorMessage A mensagem que o chat exibe se houver um problema com a conexão com o Oracle B2C Service. O padrão é:

Chat session error. The reason is: {0}.

systemComponent_AgentConversation_exitKeywords Uma lista separada por vírgulas de palavras de saída típicas usadas por um cliente para encerrar a conversa com o agente ao vivo. O padrão é:

bye, take care, see you, goodbye

systemComponent_AgentConversation_expiryMessage A mensagem que é exibida quando a ação expired é acionada. A mensagem padrão é a seguinte:

Chat session expired. Thanks for chatting with us.

Observe que o conclusionMessage não será gerado se o expiryMessage for gerado.

Além disso, essa mensagem não é gerada quando a conversa é concluída porque o USER_WAIT_QUEUE_TIMEOUT do Service Cloud foi excedido.

systemComponent_AgentConversation_userLeftMessage A mensagem mostrada quando o usuário saiu do chat. A mensagem padrão é a seguinte:

User left the chat.

systemComponent_AgentConversation_waitExpiryMessage A mensagem que é mostrada ao usuário quando o chat expira enquanto aguarda um agente. O padrão é:

The request for live chat expired while waiting for an agent.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Agente de Transferência

Use o componente de transferência do Agente nos assistentes digitais DA-as-agent para transferir a conversa de volta para o serviço de chat. A conversa será roteada para um agente ao vivo de acordo com as regras de chat configuradas no serviço de chat.

Esse componente se destina a conversas originadas em um chat de serviço, conforme descrito em O Digital Assistant as Agent Framework em Ação. Para conversas originadas na habilidade, use o modelo de Comunicação do Agente.

Propriedade Descrição
Tempo Máximo de Espera (Segundos) O número máximo de segundos de espera estimados permitidos. Quando o serviço de chat recebe a solicitação de transferência, ele responde com o tempo de espera estimado. Se esse valor exceder Tempo Máximo de Espera (Segundos), a ação rejected ocorrerá. O padrão dessa propriedade é -1, o que significa que não há tempo máximo de espera. Quando definido como -1, o assistente digital transfere o usuário para um agente humano independentemente do tempo de espera estimado.

Observe que a ação rejected se baseia no tempo de espera estimado e não no tempo de espera real. Depois que a conversa é transferida, o assistente digital não tem controle sobre a conversa, nem tem acesso a informações sobre ela. Portanto, é possível que o tempo de espera real exceda o tempo de espera estimado.

Máximo de Engajamentos na Fila O número máximo permitido de participações aguardando na fila de destino. Quando a solicitação de chat é enviada, o serviço de chat responde com o número atual de participações aguardando na fila. Se esse valor exceder Máximo de Interações na Fila, a ação rejected ocorrerá. O padrão é -1, o que significa que não há limite de participação. Observe que, para o Chat B2B, a resposta é sempre 0; portanto, essa propriedade não tem valor para B2B.
Disponibilidade do Agente StatusVariable O nome da variável do tipo mapa a ser usado para armazenar as informações de status de disponibilidade do agente. Nenhuma informação é armazenada se a propriedade não for especificada. Para referenciar uma variável de mapa, use uma expressão de valor como esta: ${<mapVariableName>.value.<key>}. Por exemplo, agentStatus.value.expectedWaitMinutes.

Para saber mais sobre os valores retornados nessa variável, consulte Condição de Transferência do Agente.

Permitir Transferência Se Especifica as condições em que a habilidade deve transferir a sessão de chat.
  • Agentes Estão Solicitando Novos Envolvimentos: (padrão) para agentes do Oracle B2C Service que devem extrair chats (solicitar novos envolvimentos), esse é o conjunto mais restritivo de condições e o usuário não precisa esperar muito tempo para poder falar com um agente. A habilidade só tentará transferir a conversa se houver agentes que solicitaram novas participações. Em todos os outros casos, essa opção tem o mesmo comportamento que As Sessões do Agente Estão Disponíveis. Não use essa opção para o Oracle Fusion Service porque o total de agentes que solicitam novos compromissos para esse serviço é sempre 0.
  • Sessões do Agente Estão Disponíveis: A habilidade tenta transferir a conversa se algum dos agentes disponíveis não tiver atingido o número máximo de chats que eles podem ter de uma vez. O usuário pode ter que esperar se os agentes estiverem envolvidos em conversas de longa duração ou estiverem fazendo algum acompanhamento pós-chat.
  • Agentes Estão Disponíveis: A habilidade tentará transferir a conversa se houver agentes on-line, independentemente de terem atingido seu número máximo de chats ou de estarem solicitando novas participações. Com essa opção, os usuários podem ter longas esperas.

Se as condições especificadas não forem atendidas, a ação rejected ocorrerá.

Propriedades personalizadas Um mapa que contém informações a serem transmitidas ao serviço.
Ações de Transição para Transferência do Agente

O componente Transferência do Agente tem algumas ações de transação incorporadas que ele pode retornar.

Você pode mapear as transições dessas ações na guia Transições do inspetor de propriedades do componente.

Ação Descrição
accepted A transição accepted é definida quando o chat é transferido com sucesso para uma fila.

Observe que depois que uma solicitação de chat for aceita, o fluxo deverá terminar com um estado Fluxo Final.

rejected A transição rejected é definida quando ocorre uma das seguintes situações:
  • As condições allowTransferIf não foram atendidas.
  • O tempo de espera estimado excede maxWaitSeconds.
  • O número de participações na fila excede maxEngagementsInQueue.
error A transição error é definida quando há um erro do sistema que impede a transferência para um agente humano.
Entradas do Pacote de Recursos para Transferência do Agente

O componente Transferência do Agente também usa as seguintes propriedades, que são armazenadas no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_AgentTransfer_acceptedMessage A mensagem que é mostrada aos usuários sempre que um agente humano aceita a solicitação de chat. O padrão é:

The chat has been transferred to another agent.

systemComponent_AgentTransfer_errorMessage A mensagem que é mostrada ao usuário quando ocorre um erro do sistema ao transferir a sessão de chat para um agente. O padrão é:

We were unable to transfer you to another agent because there was a system error.

Você pode definir a propriedade como uma string vazia ou vazia para suprimir a saída da mensagem.

systemComponent_AgentTransfer_rejectedMessage A mensagem mostrada aos usuários sempre que ocorre uma das seguintes situações:
  • As condições Permitir Transferência Se não foram atendidas.
  • O tempo de espera estimado excede o valor de Tempo Máximo de Espera (Segundos).
  • O número de participações na fila excede o valor Máximo de Participações na Fila.

A mensagem padrão é: Agent rejected.

Você pode definir a propriedade como uma string vazia ou vazia para suprimir a saída da mensagem.

systemComponent_AgentTransfer_waitingMessage A mensagem mostrada aos usuários quando eles são transferidos para uma fila. A mensagem padrão é a seguinte:

Agent chat session established. Waiting for agent to join.

Você pode definir a propriedade como uma string vazia ou vazia para suprimir a saída da mensagem.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Condição de Transferência do Agente

Você pode usar o componente Condição de Transferência do Agente nos assistentes digitais DA-as-agent para determinar se os agentes estão disponíveis e, em caso afirmativo, o tempo de espera esperado.

Você usa as propriedades do componente para especificar as condições de transferência e retorna uma ação que indica se as condições foram atendidas. Além disso, ele define os valores da variável de mapa nomeada.

Propriedade Descrição
Propriedades personalizadas Um mapa que contém informações a serem transmitidas ao serviço. Consulte Transmitir Informações ao Serviço.
Tempo Máximo de Espera (Segundos) O número máximo de segundos de espera estimados permitidos. Quando o serviço de chat recebe a solicitação, ele responde com o tempo de espera estimado. Se esse valor exceder Tempo Máximo de Espera (Segundos), a ação conditionsNotMet ocorrerá. O padrão dessa propriedade é -1, o que significa que não há tempo máximo de espera.

Observe que a ação conditionsNotMet se baseia no tempo de espera estimado e não no tempo de espera real.

Máximo de Engajamentos na Fila O número máximo permitido de participações aguardando na fila de destino. Quando a solicitação é enviada, o serviço de chat responde com o número atual de participações aguardando na fila. Se o valor exceder maxEngagementsInQueue, a ação conditionsNotMet ocorrerá. O padrão é -1, o que significa que não há limite de participação.
Agente de Transferência Se Especifica o conjunto base de condições que devem ser atendidas.
  • Agentes Estão Solicitando Novos Compromissos: (padrão) Para agentes B2C que devem extrair chats (solicitar novos compromissos), é necessário que os agentes tenham extraído chats. Em todos os outros casos, essa opção tem o mesmo comportamento que Sessões do Agente Estão Disponíveis.
  • As Sessões do Agente Estão Disponíveis: Requer que os agentes estejam solicitando chats.
  • Agentes Estão Disponíveis: Requer que pelo menos um agente esteja ativo, independentemente de terem atingido o número máximo de chats ou de estarem solicitando novos compromissos.

Se as condições especificadas não forem atendidas, a ação conditionsNotMet ocorrerá.

Variável de Status de Disponibilidade do Agente O nome da variável do tipo map a ser usada para armazenar as informações de status de disponibilidade do agente. Nenhuma informação é armazenada se a propriedade não for especificada. Para referenciar uma variável de mapa, use uma expressão de valor como esta: ${<mapVariableName>.value.<key>}. Por exemplo, agentStatus.value.expectedWaitMinutes.

Esta é a estrutura do valor da Variável de Status de Disponibilidade do Agente e as informações armazenadas nela:

queueId (integer, optional): The engagement queue ID,
expectedTotalWaitSeconds (integer, optional): Expected wait time in the queue in seconds
        ( -1 if there's inadequate information, zero or greater otherwise ).,
expectedWaitSeconds (integer, optional): The number representing the "ss" segment of the expected wait time of format mm:ss 
        ( -1 if there's inadequate information, zero or greater otherwise ).,
expectedWaitMinutes (integer, optional): The number representing the "mm" segment of the expected wait time of format mm:ss 
        ( -1 if there's inadequate information, zero or greater otherwise ).,
availableAgentSessions (integer, optional): Total number of sessions available across all agents.,
totalAvailableAgents (integer, optional): Total number of agents whose status is available.,
totalUnavailableAgents (integer, optional): Total number of agents whose status is unavailable.,
totalAgentsRequestingNewEngagement (integer, optional): Total number of agents who are available and have capacity.
outsideOperatingHours (boolean, optional): True if outside operating hours. False if inside operating hours.,
engagementsInQueue (integer, optional): The number of engagements currently in the queue.
sessionId (string, optional): The session ID.,
clientId (integer, optional): The client ID.

Dica:

Aqui está uma definição de pacote de recursos sugerida que você pode usar para exibir o tempo de espera esperado:
This might take {minutes, plural,
     =-1 {}
     =0 {}
     =1 {1 minute and }
     other {# minutes and }
}{seconds, plural,
     =-1 {a while}
     =0 {{minutes, plural,
          =0 {a short wait time}
          other {0 seconds}
        }}
     =1 {1 second}
     other {# seconds}
} to connect. Are you willing to wait?
Ações de Transição para Condição de Transferência do Agente

O componente Condição de Transferência do Agente tem algumas ações de transação incorporadas que podem ser retornadas.

Você pode mapear as transições dessas ações na guia Transições do inspetor de propriedades do componente.

Ação Descrição
conditionsMet A transição conditionsMet é definida quando está dentro do horário comercial e as condições maxWaitSeconds, maxEngagementsInQueue e allowTransferIf são atendidas.
conditionsNotMet A transição conditionsNotMet é definida quando ocorre uma das seguintes situações:
  • Está fora do horário comercial.
  • As condições allowTransferIf não foram atendidas.
  • O tempo de espera estimado excede maxWaitSeconds.
  • O número de participações na fila excede maxEngagementsInQueue.
error A transição error é definida quando há um problema com a conexão com o serviço de chat do agente durante a verificação de condições do agente.

Você pode definir essas ações de transição na guia Transições do inspetor de propriedades do componente.

Entradas do Pacote de Recursos para Condição de Transferência do Agente

O componente Transferência do Agente também usa a seguinte propriedade armazenada no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_AgentTransferCondition_errorMessage A mensagem que é mostrada ao usuário quando ocorre um erro do sistema ao transferir a sessão de chat para um agente. O padrão é:

We were unable to check the agent transfer conditions because there was a system error.

Você pode definir a propriedade como uma string vazia ou vazia para suprimir a saída da mensagem.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Chamar Serviço REST

Use esse componente para enviar uma solicitação HTTP a um ponto final REST que você configurou nas definições de Serviços de API.

Estas são as propriedades do componente:

Propriedade Descrição
Serviço REST O nome do serviço REST de Definições de API que define a configuração do ponto final. Consulte Adicionar um Serviço REST para um Ponto Final.
Tipo de Autenticação O tipo de autenticação definido para o serviço REST. Você só pode alterar esse valor na guia Serviços REST.
Ponto final O URI que é definido para o serviço REST. Você só pode alterar esse valor na guia Serviços REST.
Método Selecione qual método configurado usar para esta chamada REST.
Corpo da Solicitação de Solicitação Para solicitações POST, PATCH e PUT, especifique o corpo da solicitação a ser enviada com a solicitação REST.

Dica:

Se o corpo contiver expressões FreeMarker, você poderá alternar Expressão para Ativado para ver a coloração da sintaxe FreeMarker. No entanto, se você fizer isso, a validação da sintaxe JSON será desativada.
Parâmetros Para os parâmetros de caminho que estão no ponto final, adicione um parâmetro do tipo Caminho, defina a chave para corresponder ao parâmetro de caminho e defina o valor desejado. Observe que, se um parâmetro de caminho for definido na configuração do serviço REST e você quiser usar o valor desse parâmetro, não será necessário adicioná-lo ao componente.

Para parâmetros de consulta que você deseja transmitir na solicitação REST, adicione um parâmetro do tipo Consulta, defina a chave para corresponder ao parâmetro de consulta e defina o valor desejado. Observe que, se um parâmetro de consulta for definido na configuração do serviço REST e você quiser usar o valor desse parâmetro, não será necessário adicioná-lo ao componente.

Dica:

Se a configuração dos Serviços REST definir um parâmetro de consulta que você não deseja usar nesta chamada, você poderá limpar esse parâmetro definindo seu valor como ${r""}.

Depois de editar o parâmetro, clique em Botão Salvar para adicionar o parâmetro à lista.

Modo de resposta

Especifique qual resposta você deseja retornar após a conclusão da chamada:

  • Usar Resposta Real da API REST: Retorna a resposta real do serviço REST.

  • Sempre Usar Resposta REST Estática: Retorna a resposta estática configurada na guia Serviços REST. Essa resposta é útil durante as fases de desenvolvimento e teste, entre outros usos.

  • Fallback Usando Resposta Estática: Se a solicitação REST for bem-sucedida, a resposta REST será retornada. Caso contrário, a resposta estática configurada na guia Serviços REST será retornada.

Observe que, se a configuração do serviço REST não tiver uma resposta estática, a única opção será Usar Resposta Real.

Variável de Resultado

O nome da variável de mapa para armazenar os dados de resposta. O mapa conterá uma propriedade responsePayload para o corpo da resposta e uma propriedade statusCode para o código de status. A forma como o corpo da resposta é armazenado na variável depende se a resposta é um objeto JSON, um Array JSON ou um texto simples (string):

  • Objeto JSON: O objeto é armazenado na propriedade responsePayload.

  • Array JSON: O array é armazenado na propriedade responsePayload.responseItems.

  • Texto Simples: O texto é armazenado na propriedade responsePayload.message.

Observação

O tamanho do payload de resposta que pode ser armazenado na variável de resultado é limitado a 15 KB por padrão. Se você precisar de um limite mais alto, registre uma solicitação de serviço (SR) no Oracle Support.

O componente retorna estas ações:

Ação Descrição
sucesso O código de status da resposta está no intervalo de 100 a 399.
falha O código de status da resposta fora do intervalo 100-399.

Para saber mais, consulte Acessar Backends Usando o Componente de Serviço REST.

Pesquisa de Conhecimento

Use este componente para pesquisar o Oracle B2C Service Knowledge Foundation ou o Oracle Fusion Service Knowledge Management para obter informações sobre um determinado termo de pesquisa e exibir os resultados.

Para o Oracle B2C Service, os resultados da pesquisa dependem se as respostas são públicas e quais são as definições de nível de acesso, produto ou categoria.

Observe que você deve criar um serviço de pesquisa de conhecimento para poder usar este componente. Consulte Adicionar um Serviço de Pesquisa de Conhecimento.

Estas são as propriedades do componente da Pesquisa de Conhecimento:

Propriedade Descrição
Nome do Serviço de Pesquisa O nome da integração de pesquisa de conhecimento conforme configurado em Definições.
Termo a ser pesquisado O texto a ser usado como o termo de pesquisa para a chamada de pesquisa de conhecimento. Um termo de pesquisa é obrigatório para o Oracle Fusion Service Knowledge Management. Para o Oracle B2C Service Knowledge Foundation, ele retornará os artigos mais populares se nenhum termo de pesquisa for fornecido.

Para técnicas de termo de pesquisa, consulte Usar o Componente de Pesquisa de Conhecimento.

Texto a ser exibido antes dos resultados O texto a ser gerado antes que o resultado da pesquisa seja exibido.

Se essa propriedade estiver Ativada, o valor KnowledgeSearch - searchPrelude no pacote de recursos de configuração será usado. O padrão é Desativado, o que significa que nenhum texto é exibido.

Número Máximo de Resultados O número máximo de resultados a serem exibidos.

O padrão é 10.

Versão Preferencial dos Resultados Somente Oracle B2C Service: A versão preferencial a ser retornada quando há várias versões para um resultado. Você pode definir essa propriedade como Answer ou Special Response.

A versão padrão é Answer.

Mostrar Somente Versão Preferencial

Oracle B2C Service somente: Quando True, somente os resultados que estiverem disponíveis na versão preferencial (conforme definido pela propriedade Versão Preferencial dos Resultados) deverão ser exibidos.

Quando False, ele inclui primeiro todas as respostas correspondentes disponíveis com a versão definida na propriedade. Se o número de respostas incluídas for menor que o limite, ele continuará a incluir respostas na versão não preferencial até que o limite seja atingido.

O padrão é False.

Rótulo de Link de Artigo da Web O label a ser usado para a ação de URL (botão) do cartão de resultados que vincula à versão Web das informações.

Se você definir essa propriedade como Desativado, o botão de link do artigo da Web não será exibido e o texto completo será gerado. Isso não é recomendado se você tiver artigos muito longos que seriam difíceis de ler em um widget de habilidade de tamanho normal. O padrão é Ativado, o que significa que o valor KnowledgeSearch - resultLinkLabel no pacote de recursos de configuração é usado.

Rótulo do Link da Página de Pesquisa Web

Oracle B2C Service: O label a ser usado para a ação de payload da mensagem do cartão que está vinculada à página Web com a lista completa de resultados da pesquisa.

Oracle Fusion Service: O label a ser usado para a ação de carga útil da mensagem do cartão vinculada à página de pesquisa inicial.

Se essa propriedade estiver Ativada, o valor KnowledgeSearch - searchLinkLabel no pacote de recursos de configuração será usado. O padrão é Desativado, o que significa que a mensagem do cartão não exibe a ação.

Layout do Cartão Especifica se os cartões de resultado devem ser exibidos na vertical ou na horizontal. O padrão é horizontal.
Pesquisar Usando Localidade O padrão é o valor da variável profile.locale.

Para serviços de integração de conhecimento multiinterfacetado do Oracle B2C Service, o código de localidade ISO ou BCP de cinco caracteres que especifica qual interface usar para executar a pesquisa (por exemplo, en_GB). Se não houver uma interface que suporte a localidade, a interface padrão será usada. Consulte Implementar Pesquisa de Conhecimento Multilíngue.

Para o Oracle Fusion Service, ele extrai os artigos que estão associados à localidade especificada. Se não houver artigos correspondentes para a localidade, ele retornará noResult.

Filtros de resultados Uma lista de filtros de resultados da pesquisa. Os tipos de filtro permitidos são Product e Category. Cada um deles permite apenas uma declaração de filtro.
Propriedades personalizadas Somente Oracle B2C Service: Um mapa de pares de chave/valor a serem enviados ao serviço de pesquisa. No momento, essa propriedade suporta apenas a chave word_connector. Use a propriedade word_connector definida como AND para pré-anexar cada palavra no termo de pesquisa com +.
Ações de Transição para Pesquisa de Conhecimento

O componente Pesquisa de conhecimento tem algumas ações de transação incorporadas que podem ser retornadas.

Você pode mapear as transições dessas ações na guia Transições do inspetor de propriedades do componente.

Ação Descrição
resultSent A pesquisa retornou pelo menos um resultado.
noResult Não houve resultados para o termo de pesquisa.
serverError Ocorreu um erro no servidor do serviço de pesquisa de conhecimento durante a chamada, como uma falha de erro do servidor ou uma falha de erro inesperada.

Quando esse erro ocorre, a mensagem de erro é armazenada em system.state.<state-name>.serverError.message.

Entradas do Pacote de Recursos para Pesquisa de Conhecimento

O componente Pesquisa de Conhecimento também usa as seguintes propriedades, que são armazenadas no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_KnowledgeSearch_defaultAttachmentLabel O label padrão a ser usado para a ação de URL do cartão de resultados vinculada a um anexo do resultado da pesquisa se esse anexo ainda não tiver um nome para exibição configurado. Quando usado, ele é anexado por um número de índice. Por exemplo, se o segundo anexo não tiver um nome para exibição, o label do anexo padrão será anexado com 2.

O padrão é Download.

systemComponent_KnowledgeSearch_noResultText O texto a ser gerado quando nenhum resultado de pesquisa estiver disponível.

O padrão é:

Sorry, no result was found in the knowledge search.

systemComponent_KnowledgeSearch_resultLinkLabel O label a ser usado para a ação de URL do cartão de resultados vinculada à versão Web do artigo de conhecimento.

O padrão é View Results.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Criação de incidente

Use o modelo de Criação de Incidente para criar um relatório de incidentes em um local de atendimento ao cliente. Observe que você deve criar uma integração de atendimento ao cliente na página Definições > Serviços Adicionais > Integração de Atendimento ao Cliente para poder usar esse componente em sua instância.

Propriedade Descrição
Nome do Serviço do Incidente O nome da integração, conforme configurado em Definições > Serviços Adicionais > Integração de Atendimento ao Cliente.
Assunto do Incidente O texto do assunto do incidente.
URL do Anexo O URL de um documento ou imagem relacionado ao incidente. Observe que a adição de anexos não é suportada para habilidades DA as Agent.
Filtro de relatórios do agente (Para incidentes do Oracle Fusion Service), texto para filtrar os incidentes.
Adicionar transcrição do chat ao incidente (Para incidentes do Oracle Fusion Service.) Quando definido como Verdadeiro, a transcrição do chat é adicionada ao incidente.

Os insights devem ser ativados para que a habilidade funcione.

Uma transcrição só pode ser adicionada ao incidente ao usar um DA como integração de Agente em combinação com o Web Chat for Service ou inlays do Oracle Inlay Toolkit.

Campos Personalizados Contém o par de chave/valor descrição e, opcionalmente, o par de chave/valor contactInfo, que pode conter um mapa de detalhes adicionais sobre o incidente.

Os pares de chave/valor são passados sem validação como uma versão de texto do objeto e inseridos na mensagem de incidente como uma observação privada.

Propriedades do Contato Pares de chave/valor que contêm as informações necessárias para pesquisar ou criar informações de contato de atendimento ao cliente. Ela deve conter e-mail e, opcionalmente, conter firstName e lastName.

Se o e-mail não for fornecido, você deverá fornecer firstName e lastName.

Variável de contexto de string para armazenar o número do incidente O nome da variável da string na qual o número do incidente será armazenado.

Intelligent Advisor

Use esse componente para acessar uma entrevista do Oracle Intelligent Advisor de uma habilidade.

Crie uma integração de serviço do Intelligent Advisor para poder usar esse componente. Consulte Adicionar um Serviço do Intelligent Advisor. Além disso, a entrevista deve ter sido implantada no Intelligent Advisor Hub e ativada no canal de serviço de chat. A entrevista deve ser para usuários anônimos. Não é possível acessar entrevistas para usuários do portal ou usuários do agente.

Você pode usar as propriedades do componente para especificar as seguintes definições de entrevista:

  • Se os títulos e a explicação serão exibidos
  • Os labels dos botões sim, não e incerto
  • As strings que o usuário digita para redefinir, retornar à pergunta anterior (desfazer) e sair da entrevista
  • O texto a ser exibido no final da entrevista
  • Como formar as frases da pergunta sobre se a explicação deve ser exibida
  • A string que o usuário digita para indicar a conclusão do upload dos arquivos
  • Os valores de atributo e os parâmetros de conector a serem transmitidos à entrevista
  • A localidade do projeto a ser usada
Propriedades do Intelligent Advisor

Estas são as propriedades do componente do Intelligent Advisor:

Propriedade Descrição
Nome do Serviço do Intelligent Advisor O nome do serviço do Intelligent Advisor conforme configurado em Definições > Serviços Adicionais.
Nome do Projeto de Implantação O nome do projeto de implantação ativo no Intelligent Advisor Hub.
Variável para Resultados da Entrevista O nome de uma variável de lista na qual armazenar os valores de atributo da entrevista ao retornar da entrevista para a habilidade. Os valores de atributo são armazenados como uma matriz de pares de chave/valor.
Ocultar todos os títulos de tela Indica se todos os títulos de tela devem ser ocultados na entrevista.
Mostrar Explicação Especifica se a explicação do Intelligent Advisor deve ser mostrada. Os valores permitidos são never, always e ask.

Se você definir como ask, use a entrada do pacote de recursos systemComponent_IntelligentAdvisor_explanationAskLabel para especificar o texto para perguntar se o usuário deseja ver a explicação.

Se você não definir essa propriedade, o padrão do comportamento será never.

Dados Pré-Implantados Um mapa de nomes e valores de atributo do Intelligent Advisor a serem transmitidos à entrevista. Para atributos de data e hora, use os formatos padrão de data e hora do Intelligent Advisor. Por exemplo: start_date: "2010-01-31".

O atributo ao qual você está transmitindo o valor deve ter a opção Implantar com base no parâmetro de URL ativada no Policy Modeling. Consulte Informar Valores de Atributo e Parâmetros de Conexão para obter detalhes sobre como trabalhar com o Policy Modeling.

Parâmetros de Conexão Um mapa de parâmetros de conexão de valor-chave a serem transmitidos no início da entrevista. Isso geralmente é necessário para entrevistas com integração de dados externa.
Rótulo do Texto da Entrevista Final O rótulo que é mostrado no bate-papo no final da entrevista. Se definido como Desativado, nenhuma mensagem será mostrada no chat no final da entrevista. O padrão é Ativado, o que significa que o valor systemComponent_IntelligentAdvisor_endLabel no pacote de recursos de configuração é exibido no final da entrevista.
Remover tags HTML da saída Indica se a marcação HTML deve ser removida do texto. O padrão é false.
Local da Entrevista O código de configuração regional ISO ou BCP de cinco caracteres (por exemplo, en_GB) usado para especificar o idioma com o qual a entrevista deve começar.

Essa propriedade afeta a entrevista de destino e a resolução de data e número.

O componente inicia a versão da entrevista nomeada (implantação) associada ao idioma especificado pela propriedade locale do componente. Se não houver uma implantação de Hub para a localidade especificada, o componente usará a localidade padrão associada à implantação.

Para entrada de data e número, os valores são resolvidos de acordo com as definições de entidade DATE e NUMBER. Quando a opção Considerar Localidade do Usuário Final for ativada para a entidade, o valor será resolvido para a localidade especificada por essa propriedade (ou o padrão, se não for especificado). Consulte Resolução de Entidade Baseada em Localidade.

Essa propriedade assume como padrão o valor profile.locale. Se profile.locale não tiver um valor, ele usará a configuração regional do canal.

Moeda Esperada da Entrevista O código da moeda ISO-4217 para a moeda usada na entrevista. Quando esse código é especificado, o usuário só pode inserir valores de moeda nos formatos permitidos para essa moeda. É possível definir esta propriedade como em branco ou nula se a entrevista não solicitar valores de moeda ou não estiver esperando uma determinada moeda.
Entradas de Pacote de Recursos para o Intelligent Advisor

O componente do Intelligent Advisor também usa as seguintes propriedades, que são armazenadas no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_IntelligentAdvisor_answerNotValid Mensagem exibida para entradas de entrevista do Intelligent Advisor do tipo Mascarado quando a resposta do usuário não está em conformidade com a máscara de entrada especificada.
systemComponent_IntelligentAdvisor_defaultValue Texto que é adicionado a uma pergunta quando a entrada da entrevista do Intelligent Advisor tem um valor padrão.
systemComponent_IntelligentAdvisor_doneHelp Mensagem de ajuda exibida para entradas de entrevista do Intelligent Advisor do tipo Upload.
systemComponent_IntelligentAdvisor_doneLabel O texto que os usuários digitam para indicar que fizeram o upload de um arquivo.

O padrão é /done.

systemComponent_IntelligentAdvisor_endLabel Texto a ser exibido no chat no final da entrevista.

O padrão é Interview ended. Você pode definir a propriedade como "" para impedir que o texto seja exibido.

systemComponent_IntelligentAdvisor_exitLabel O texto que os usuários digitam para indicar que desejam sair da entrevista.

O padrão é /exit.

systemComponent_IntelligentAdvisor_explanationAskLabel A pergunta a ser feita quando showExplanation é definido como ask.

O padrão é Do you want to see the explanation?

systemComponent_IntelligentAdvisor_maskLabel Texto adicionado a uma pergunta para exibir o formato esperado para entradas de entrevista do Intelligent Advisor do tipo Caixa de Texto Mascarada.

O padrão é Answer format: {0}

systemComponent_IntelligentAdvisor_noLabel O rótulo a ser usado para representar valores FALSE boolianos.

O padrão é No.

systemComponent_IntelligentAdvisor_numberMinMax Mensagem que é exibida quando o usuário informa um valor fora do intervalo especificado para uma entrada de entrevista do Intelligent Advisor do tipo Controle Deslizante.

O padrão é Enter a number between {0} and {1}.

systemComponent_IntelligentAdvisor_outOfOrderMessage Mensagem de erro exibida quando o usuário toca em um botão em uma mensagem de entrevista anterior do Intelligent Advisor.

O padrão é:

You have already answered this question. When you want to step backwards to change a previous answer, say {0}.

systemComponent_IntelligentAdvisor_resetLabel O texto que os usuários digitam para indicar que desejam voltar à primeira pergunta.

O padrão é /reset.

systemComponent_IntelligentAdvisor_resumeSessionPrompt Pergunta que é feita se o usuário inicia uma entrevista que havia deixado antes da entrevista ser concluída.

O padrão é:

Do you want to restart the interview from where you previously left?

systemComponent_IntelligentAdvisor_uncertainLabel O label que o usuário poderá digitar se não souber o valor. Esse label é exibido para os botões de opção boolianos opcionais.

O padrão é Uncertain.

systemComponent_IntelligentAdvisor_undoLabel O texto que os usuários digitam para indicar que desejam voltar à pergunta anterior.

O padrão é /back.

systemComponent_IntelligentAdvisor_yesLabel O label a ser usado para representar valores boolianos TRUE.

O padrão é Sim.

systemComponent_IntelligentAdvisor_yesNoMessage Mensagem que é exibida quando o usuário informa uma resposta inválida para entradas de entrevista do Intelligent Advisor do tipo Botão de Opção Booliano.

O padrão é:

Enter either {0} or {1}

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Componente de Webview

O componente Webview abre um webview na sua habilidade ou para habilidades que são executadas em um canal Web, em uma guia do browser.

Propriedade Descrição
Serviço do Componente Webview O nome do serviço do componente webview.
Entradas do Serviço Uma lista separada por vírgulas de nomes de variáveis. Esses nomes de variáveis são os parâmetros enviados para a webview da habilidade.
Saída do Serviço O nome da variável (um valor de string) que identifica o payload da webview que é retornado ao bot depois que o usuário conclui suas interações na webview.

Como o payload é armazenado nessa variável, pode acessá-la posteriormente em sua definição de fluxo de caixas de diálogo. Por exemplo, você pode mencionar isso em um componente de saída.

URL do Serviço do Componente O URL base para o qual os nomes de variáveis definidos para a propriedade Entradas no Serviço são enviados como parâmetros. Este é um ponto final base fornecido por um servidor Web. Essa propriedade não é suportada na release atual (você a configura agora na caixa de diálogo Criar Serviço). No entanto, as habilidades criadas com versões anteriores ainda funcionarão.
URL da Imagem O URL da imagem que acompanha um prompt.
Token de Autorização O token de autorização que é enviado com solicitações para o URL especificado pela propriedade URL do Serviço de Componente. Essa propriedade tem o formato Basic <token> ou Bearer <token>.
Parâmetros de Consulta para Serviço O objeto JSON em formato de string cujos pares de chave/valor são os parâmetros de consulta anexados à solicitação POST.
Ações de Transição para o Componente de Webview

O componente Webview tem algumas ações de transação incorporadas que podem ser retornadas.

Você pode mapear as transições dessas ações na guia Transições do inspetor de propriedades do componente.

Transições Descrição
cancel Acionado quando o usuário toca no botão Cancelar.
system.textReceived Acionado quando o usuário insere texto em vez de tocar em um dos botões.
unexpectedAction Acionado quando o usuário toca em um botão de uma resposta anterior.
Entradas do Pacote de Recursos para o Componente da Webview

O componente Webview também usa as seguintes propriedades, que são armazenadas no pacote de recursos da habilidade:

Chave do Pacote de Recursos Descrição
systemComponent_Webview_cancelLabel O label do botão cancelar para sair desse estado sem chamar o webview.

O padrão é Cancel.

systemComponent_Webview_linkLabel O rótulo do botão para chamar a webview.

O padrão é Tap to continue.

systemComponent_Webview_prompt A mensagem para que o usuário toque no link para chamar o webview.

O padrão é Please tap on the link to proceed.

Consulte Modificar uma Entrada de Pacote de Recursos para obter as etapas para alterar a mensagem padrão de uma entrada de pacote de recursos.

Notificar Usuário

Você usa esse componente para enviar uma notificação a um usuário quando ocorreu um evento baseado em Nuvem de um tipo registrado no Oracle Digital Assistant. Consulte Eventos Externos para obter informações sobre como registrar tipos de evento e configurar um assistente digital para consumir o evento.

Propriedade Descrição
ID de Usuário (Opcional) Se quiser determinar dinamicamente qual usuário notificar sobre o evento quando ele for recebido, insira o ID de usuário unificado que é retornado do serviço de mensagens do usuário. Se esse valor for definido, quando o evento for gerado, o Digital Assistant passará esse ID para o serviço de mensagens para obter dados do usuário, como o canal, e o ID do canal para o usuário, para que ele possa notificar esse usuário específico. Essa propriedade só funciona para canais do Slack e do Twilio e para usuários que já interagiram com o Digital Assistant.
Mensagem de Notificação A mensagem que é retornada ao usuário.

Na mensagem, você pode usar expressões nos seguintes formatos para acessar informações do evento:

  • Conteúdo de dados do evento:
    ${skill.system.event.value.application.data.<propertyName>}
  • Conteúdo de contexto de evento:
    ${skill.system.event.value.application.context.<propertyName>}

Evento de Publicação

Use esse componente para publicar externamente um evento baseado em Nuvem de um tipo que foi registrado no Oracle Digital Assistant. Consulte Eventos Externos para obter informações sobre o registro de tipos de evento e a configuração de um assistente digital para publicar e consumir eventos.

Propriedade Descrição
Nome O nome do tipo de evento a ser publicado
Dados A carga útil do evento em formato JSON.

Veja um exemplo de payload que pode ser usado como o valor da propriedade Dados:

{
    "size": "Large",
    "type": "Veggie"
}

Alterações de Componente no Designer de Fluxo Visual

No Editor de Fluxo Visual, vários componentes que faziam parte do editor de fluxo de caixas de diálogo baseado em YAML foram alterados ou não estão mais disponíveis. Estas são as principais alterações:

  • Os componentes ConditionExists e ConditionEquals não são suportados. Você pode usar o componente Alternar.
  • Os componentes Text, List e Output não são suportados. Em vez disso, você pode usar os modelos Enviar Mensagem, Fazer Pergunta e Resolver Entidade Composta, bem como os modelos na categoria Envio de Mensagens do Usuário, a maioria dos quais são modelos baseados no componente Resposta Comum.
  • Os componentes Resolver Entidade e Resposta Comum agora sempre tentarão separar entidades da variável system.nlpresult.

    Como tal, a propriedade nlpResultVariable não é mais necessária e foi removida desses componentes.

  • A variável autoNumberPostbackActions e a propriedade do componente não são suportadas. A numeração automática pode ser configurada no nível de habilidade usando a definição de configuração Ativar Numeração Automática em Ações de Postback em Fluxos de Tarefas da habilidade (ou no nível do assistente digital usando a definição Ativar Numeração Automática em Ações de Postback do assistente digital).
  • A variável autoTranslate e a propriedade do componente translate não estão disponíveis. Eles são substituídos pelas propriedades Traduzir Mensagem de Entrada do Usuário e Traduzir Mensagem de Resposta do Bot, que são definidas no nível da habilidade.
  • A propriedade do componente transitionAfterMatch para os componentes Resposta Comum e Resolver Entidade não é mais suportada. Para obter essa funcionalidade, você pode usar um handler de eventos de entidade.
  • O valor da propriedade useFullEntityMatches para os componentes Resposta Comum e Resolver Entidade agora assume como padrão true.

    Isso significa que o valor da entidade resolvida é retornado como um objeto e você precisa especificar a propriedade de objeto apropriada para retornar um valor de string.

  • O valor da propriedade cancelPolicy para os componentes Resposta Comum e Resolver Entidade agora assume como padrão immediate (em vez de lastEntity).

    Isso significa que a transição de cancelamento ocorre depois que o valor definido para o Número Máximo de Tentativas de Entrada do Usuário do item do repositório for atingido. Se esse valor não tiver sido definido, o componente acionará essa transição quando o valor maxPrompts no âmbito do componente tiver sido atingido.

  • As propriedades do componente Insights insightsInclude e insightsEndConversation não são suportadas. Os fluxos modulares já delineiam a conversa, portanto, insightsEndConversation não é necessário. Uma conversa termina quando o último estado de um fluxo de nível superior é atingido.

Tratamento de Mensagens para Componentes de Mensagens do Usuário

Geralmente, um usuário pode responder a uma mensagem das seguintes maneiras:

  • Digitando texto livre.

  • Enviando sua localização.

  • Usando uma opção multimídia para enviar imagem, arquivo de áudio, vídeo ou anexo de arquivo.

  • Tocando em um dos botões de postback exibidos na saída da mensagem mais recente pelo bot.

  • Rolando para uma mensagem anterior na conversa e tocando em um de seus botões.

Tratamento de Texto Livre

Quando um usuário insere texto livre, os componentes Resposta Comum primeiro validam essa entrada como o valor da variável que é especificado pela propriedade variable. Quando o texto é um valor válido, esses componentes acionam a transição textReceived. Se você não definir a transição textReceived, o Mecanismo de Caixa de Diálogo passará para o estado definido pela transição next ou pelo evento Entrada Inesperada do Usuário.

Dica:

Use textReceived para tratar mensagens inesperadas do usuário quando você esperar que ele toque em um botão, envie um anexo ou uma localização.

Tratamento de Mensagens Multimídia

Quando um usuário envia um arquivo, uma imagem, um vídeo ou um arquivo de áudio, os componentes de Resposta Comum armazenam as informações do anexo como um objeto JSON na propriedade de variável especificada para o componente. Esse objeto tem a seguinte estrutura:
{
  "type": "video",
  "url": "https://www.youtube.com/watch?v=CMNry4PE93Y"
}
Por exemplo, se um anexo de vídeo estiver armazenado em uma variável chamada myVideo, você poderá acessar o vídeo usando a expressão do FreeMarker, ${myVideo.value.url}.

Tratamento de Mensagens de Localização

Quando um usuário envia sua localização atual, os componentes de Resposta Comum armazenam as informações de localização como objeto JSON na propriedade de variável especificada para o componente. Esse objeto tem a seguinte estrutura:
{
  "title": "Oracle Headquarters",
  "url": "https://www.google.com.au/maps/place/…",
  "longitude": -122.265987,
  "latitude": 37.529818
}
Por exemplo, se a localização for armazenada em uma variável chamada localização, você poderá acessar a latitude usando a expressão do FreeMarker, ${location.value.latitude}.

Ações de Postback

As ações na mensagem de resposta, como botões, links e itens de lista, são implementadas como ações de postback. Por exemplo, quando um usuário toca em um botão, seu postback é renderizado. Seu payload é um objeto JSON que contém o nome do estado, os valores definidos para as variáveis do fluxo de caixas de diálogo e as ações de transição. Por exemplo, o seguinte payload é renderizado quando um usuário toca no botão Pedir Agora para uma pizza de pepperoni:
{
	"action": "order",
	"state": "OrderPizza",
	"variables": {
		"orderedPizza": "PEPPERONI",
		"orderPizzaImage": "http://pizzasteven/pepperoni.png"
	}

Como Ações Fora da Ordem são Detectadas

A propriedade system.state do payload, que identifica o estado cujo postback foi renderizado, permite que o sistema identifique quando um usuário executa uma ação que ocorre fora do escopo atual, como tocar em um botão de uma resposta anterior.

        "system.postbackActions": {
          "small": {
            "postback": {
              "variables": {
                "size": "Small"
              },
              "system.botId": "44F2405C-F317-4A3F-8250-617F54F01EA6",
              "action": "Small",
              "system.state": "size"
Por exemplo, um usuário pode tocar no botão Pedir Agora para uma pizza de pepperoni, mas, em vez de concluir o pedido, ele pode rolar para uma mensagem anterior e clicar em Pedir Agora para pedir um prato de massa.

Nesse ponto, o sistema compara a propriedade system.state no payload da ação de postback de entrada com o estado atual. Quando os dois não correspondem, a habilidade executa uma transição que pode, dependendo de como você configura seu fluxo de caixas de diálogo, respeitar a solicitação do usuário ou negá-la.

Por padrão, o Digital Assistant permite ações fora da ordem. Isso significa que os valores das variáveis são redefinidos. Usando a ação Mensagem Fora da Ordem do fluxo e as variáveis skill.system.event.value.outOfOrderMessage.outOfOrderState e skill.system.event.value.outOfOrderMessage.currentState, você pode personalizar esse comportamento para toda a habilidade ou para um determinado estado no fluxo de caixas de diálogo.
  • skill.system.event.value.outOfOrderMessage.outOfOrderState - Mantém o valor da propriedade state no payload de postback de entrada, a mensagem "fora da ordem".

  • skill.system.event.value.outOfOrderMessage.currentState - Mantém o valor do estado atual.
    Observação

    Somente os componentes que definirem a propriedade de estado no payload de postback poderão permitir que a habilidade responda quando o usuário retroceder no fluxo. O componente OAuthAccountLink não define essa propriedade.

Substituir o Tratamento de Mensagem Fora da Ordem por um Estado de Tratamento da Mensagem

Você pode alterar o comportamento padrão do tratamento de mensagens fora da ordem mapeando o evento de transição do sistema Mensagem Fora da Ordem para um componente Chamar Fluxo que chama um fluxo fornecido para tratar mensagens fora da ordem.