Snippet Estado de sessão do bot
As informações nesta página de ajuda são aplicáveis tanto ao Studio quanto ao Desktop Studio.
O snippet Estado da sessão do bot é necessário no seu script ao usar ações que têm a propriedade botSessionState. Isso inclui ações como Textbot Exchange e Voicebot Exchange (a partir daqui, ambas as ações são chamadas simplesmente de Exchange). A propriedade botSessionState deve ser configurada corretamente para que seus agentes virtuais Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo. funcionem conforme esperado. Para fazer isso, você deve criar este snippet em seu script e configurar as ações corretamente, conforme mostrado nas seções a seguir.
Seus scripts nunca devem gravar nessa propriedade ou em sua variável. Seu script deve ser
Este snippet é necessário, a menos que você use Google Dialogflow CX, onde você pode definir um ID de conversa personalizado no Carga útil personalizada snippet que serve ao mesmo propósito que o snippet Estado da sessão do bot. Um ID de conversa personalizado é usado ao transferir contatos de uma instância Dialogflow CX para outra. Se você não usar nenhum dos IDs, um novo ID de sessão será gerado para cada turno da conversa e seu agente virtual não manterá o contexto da conversa. Se isso acontecer, nenhum erro será gerado, mas o sistema não funcionará conforme o esperado.
Configuração do script
Ao usar uma ação Exchange, um mínimo de duas instâncias da ação são necessárias para o seu script. A propriedade botSessionState em cada uma das ações Exchange deve ser configurada de forma diferente:
- A primeira instância da ação Exchange está localizada logo após a ação Begin no início do script. Configure-a da seguinte forma:
- botSessionState: deve estar vazio.
- botSessionStateVarName (out): configure com o nome da variável onde você deseja que o script armazene o identificador.
- A segunda ação Exchange está localizada mais à frente no script. Configure-a da seguinte forma:
- botSessionState: configure com a variável usada no botSessionStateVarName (out) na primeira instância da ação Exchange. A variável deve conter o identificador do estado da sessão do bot no formato JSON.
- botSessionStateVarName (out): configure com o nome da variável onde você deseja que o script armazene o identificador.
- A terceira e quaisquer instâncias subsequentes da ação Exchange são opcionais. Se o seu script incluir essas instâncias, configure-as da seguinte forma:
- botSessionState: configure com a variável usada no botSessionStateVarName (out) na instância anterior da ação Exchange. A variável deve conter o identificador do estado da sessão do bot no formato JSON. O identificador de estado da sessão do bot normalmente não muda entre os turnos. No entanto, caso ele seja alterado, a ação deverá ser configurada para capturar a alteração.
- botSessionStateVarName (out): configure com o nome da variável onde você deseja que o script armazene o identificador.
Esta configuração é necessária apenas para todos os agentes virtuais.
Verifique se a propriedade botSessionState está configurada corretamente
Você pode usar um rastreamento de script para confirmar se essa propriedade está configurada corretamente.
- Executar um rastreamento de script em uma interação entre o agente virtual e um contato. Você pode usar um rastreamento contínuo ou capturar um rastreamento de um ANL ou DNIS específico(apenas para interações de voz).
- Na janela de rastreamento, clique na linha que corresponde à primeira ação Virtual Agent Hub (Voicebot Exchange ou Textbot Exchange).
- Na lista Variáveis, marque a variável botSessionState. Seu valor deve ser null (vazio).
- Na janela de rastreamento, clique na próxima linha do rastreamento após a primeira ação de Virtual Agent Hub.
- Observe o valor da variável botSessionState.
- Na janela de rastreamento, clique na linha no rastreamento que corresponde a qualquer ação de Virtual Agent Hub subsequente.
- Verifique o valor da variável botSessionState. Deve ser o mesmo que na etapa 5.
Converter identificador do estado da sessão do bot para JSON
Os conteúdos da variável usada na propriedade botSessionStateVarName (out) devem ser convertidos para JSON e passados para a propriedade botSessionState da segunda ação Exchange no seu script. Para fazer isto, você pode incluir código em uma ação Snippet ou configurar a propriedade diretamente. Ambas as abordagens são aceitas. No entanto, a vantagem de criar uma variável em Snippet para conter o objeto convertido é que ela torna mais fácil ver onde a conversão está acontecendo.
Usar uma ação snippet
- Configure a propriedade botSessionStateVarName (out) da ação Exchange com o nome da variável para conter o identificador de estado da sessão. Por exemplo, botSessionState.
-
Adicione a seguinte linha a um Snippet localizado antes da ação Exchange no seu script:
ASSIGN botSessionStateOut = botSessionStateOut.asJSON()
Use o nome da variável que você usa no seu script.
- Configure a propriedade botSessionState na ação Exchange com o nome da variável que usou na instrução ASSIGN. Por exemplo, botSessionStateOut.
Converter na propriedade
Se for converter a variável na propriedade botSessionState, use a variável botSessionStateVarName (out) com a função asJSON(). Por exemplo:
- botSessionStateVarName (out): botSessionState
- botSessionState: botSessionState.asJSON()
Transferir contatos de um Agente virtual para outro
Para configurar a transferência de contatos entre agentes virtuais, você precisa configurar os IDs de estado da sessão do bot corretamente. Cada agente virtual deve ter seu próprio ID de estado de sessão de bot exclusivo. Isso ajuda os agentes virtuais individuais a manter o contexto da conversa da qual participam.
-
Agente virtual 1: Configure as variáveis de estado da sessão do bot conforme descrito anteriormente nesta página.
- Agente virtual 2: Configure da mesma forma, usando uma variável diferente em botSessionStateVarName (out) para manter o ID do estado da sessão do bot. Certifique-se de que, na primeira chamada para esse agente virtual, a propriedade botSessionState esteja vazia. O primeiro turno na conversa retorna um ID de estado de sessão de bot exclusivo para a variável em botSessionStateVarName (out).
- Todos os agentes virtuais subsequentes: Configure da mesma forma que para o agente virtual 2, usando uma variável exclusiva para o ID do estado da sessão do bot.
Esse método funciona para todos os provedores de agente virtual suportados, a menos que você esteja transferindo entre dois Google Dialogflow CX agentes virtuais. Nesse caso, um método diferente é necessário.