Fragmento Estado de la sesión del bot

La información de esta página de ayuda aplica tanto a Studio como a Desktop Studio.

El fragmento Estado de sesión de bot es necesario en su secuencia de comandos cuando utiliza acciones que tienen la propiedad botSessionState. Esto incluye acciones como Textbot Exchange y Voicebot Exchange (de aquí en adelante, ambas acciones se denominarán simplemente Exchange). Debe configurarse correctamente la propiedad botSessionState para que sus agentes virtualesCerrado Una aplicación de software que maneja las interacciones del cliente en lugar de un agente humano en vivo. funcionen según lo previsto. Para ello, debes crear este fragmento en tu script y configurar las acciones correctamente como se muestra en las secciones que siguen.

La propiedad botSessionState debe configurarse con la variable que contiene el identificador único para la conversación entre el contacto y el agente virtual. El proveedor de agentes virtuales la asigna automáticamente. El identificador evita que se cree una sesión nueva con cada turno de la conversación y ayuda al agente virtual a mantener el contexto entre los turnos.

El proveedor crea el identificador cuando comienza la conversación y lo pasa al script con la primera respuesta. El script almacena el identificador en la variable nombrada en la propiedad botSessionStateVarName (out) de la acción Intercambiar. Por último, el script transmite el identificador de la propiedad botSessionStateVarName (out) del turno anterior a la propiedad botSessionState.

Sus scripts nunca se deben escribir en esta propiedad ni en su variable. Se debe configurar su script correctamente para usar el identificador de estado de la sesión del bot.

Este fragmento es obligatorio a menos que utilice Google Dialogflow CX, donde puede configurar un ID de conversación personalizado en el fragmento Carga útil personalizada que cumple el mismo propósito que el fragmento Estado de sesión del bot. Se utiliza un ID de conversación personalizado al transferir contactos de una Dialogflow instancia de CX a otra. Si no utiliza ninguno de los ID, se generará un nuevo ID de sesión para cada turno en la conversación y su agente virtual no mantendrá el contexto de la conversación. Si esto sucede, no se generan errores, pero el sistema no funcionará como se espera.

Configuración de scripts

Cuando use una acción Exchange, se requiere un mínimo de dos instancias de la acción en su script. La propiedad botSessionState se debe configurar de manera distinta en cada una de las acciones de Exchange:

  • La primera instancia de la acción Exchange se encuentra justo después de la acción Begin al inicio del script. Configúrela de esta manera: 
    • botSessionState: Esto debe quedar vacío.
    • botSessionStateVarName (out): Configure con el nombre de la variable donde desea que el script almacene el identificador.
  • La segunda acción Exchange se localiza más adelante en el script. Configúrela de esta manera:
    • botSessionState: Configure con la variable utilizada en botSessionStateVarName (out) en la primera instancia de la acción Exchange. La variable debe contener el identificador de estado de la sesión del bot en formato JSON.
    • botSessionStateVarName (out): Configure con el nombre de la variable donde desea que el script almacene el identificador.
  • La tercera instancia de la acción Exchange es opcional, así como cualquier otra posterior. Si su script contiene estas instancias, configúrelas de esta manera:
    • botSessionState: Configure con la variable utilizada en botSessionStateVarName (out) en la instancia anterior de la acción Exchange. La variable debe contener el identificador de estado de la sesión del bot en formato JSON. El identificador de estado de la sesión del bot no suele cambiar entre turnos. Sin embargo, en caso de que cambie, la acción debería estar configurada para captar el cambio.
    • botSessionStateVarName (out): Configure con el nombre de la variable donde desea que el script almacene el identificador.

Es necesaria esta configuración para todos los agentes virtuales.

Verifique que la propiedad botSessionState esté configurada correctamente

Puede utilizar un seguimiento de script para confirmar que esta propiedad esté configurada correctamente.

  1. Ejecutar un seguimiento de script en una interacción entre el agente virtual y un contacto. Puede utilizar un rastro continuo o capturar un rastro de un ANI o DNIS específico(solo para interacciones de voz).
  2. En la ventana de seguimiento, haga clic en la línea que corresponde a la primera acción Virtual Agent Hub (Voicebot Exchange o Textbot Exchange).
  3. En la lista de Variables, marque la variable botSessionState. Su valor debe ser nulo (vacío).
  4. En la ventana de seguimiento, haga clic en la siguiente línea del seguimiento después de la primera acción Virtual Agent Hub.
  5. Tenga en cuenta el valor de la variable botSessionState.
  6. En la ventana de seguimiento, haga clic en la línea del seguimiento que corresponde a cualquier acción Virtual Agent Hub posterior.
  7. Verifique el valor de la variable botSessionState. Debe ser igual que en el paso 5.

Convertir el Identificador de estado de sesión del bot en JSON

El contenido de la variable que se utiliza en la propiedad botSessionStateVarName (out) debe convertirse a JSON y transferirse a la propiedad botSessionState de la segunda acción Exchange de su script. Para hacerlo, puede incluir el código en una acción Snippet o puede configurar la propiedad directamente. Ambos enfoques son aceptables. Sin embargo, la ventaja de crear una variable en un Snippet para contener el objeto convertido es que facilita ver dónde está sucediendo la conversión.

Use una acción de fragmento

  1. Configure la propiedad botSessionStateVarName (out) de la acción Exchange con el nombre de la variable que almacenará el identificador de estado de la sesión. Por ejemplo, botSessionState.
  2. Agregue la siguiente línea a Snippet ubicado antes de la acción Exchange en su script:

    ASSIGN botSessionStateOut = botSessionStateOut.asJSON()

    Use el nombre de la variable que use en su script.

  3. Configure la propiedad botSessionState en la acción Exchange con el nombre de la variable que utilizó en la declaración ASSIGN. Por ejemplo, botSessionStateOut.

Convertir en propiedad

Si convierte la variable de la propiedad botSessionState, use la variable botSessionStateVarName (out) con la función asJSON(). Por ejemplo:

  • botSessionStateVarName (out)botSessionState
  • botSessionStatebotSessionState.asJSON()

Transferir contactos de un agente virtual a otro

Para configurar la transferencia de contactos entre agentes virtuales, debe configurar correctamente los ID de estado de la sesión del bot. Cada agente virtual debe tener su propio ID de estado de sesión de bot único. Esto ayuda a los agentes virtuales individuales a mantener el contexto de la conversación en la que participan.

  • Agente virtual 1: Configure las variables de estado de la sesión del bot como se describió anteriormente en esta página.

  • Agente virtual 2: se configura de la misma manera, utilizando una variable diferente en botSessionStateVarName (out) para contener el ID del estado de la sesión del bot. Asegúrese de que en la primera llamada a este agente virtual, la propiedad botSessionState esté vacía.  El primer turno en la conversación devuelve un ID de estado de sesión de bot único a la variable en botSessionStateVarName (out).
  • Todos los agentes virtuales posteriores: Configure lo mismo que para el agente virtual 2, utilizando una variable única para el ID del estado de la sesión del bot.

Este método funciona para todos los proveedores de agentes virtuales compatibles, a menos que esté transfiriendo entre dos Google Dialogflow CX agentes virtuales. En este caso, se requiere un método diferente.