Fragmento Estado de la sesión del bot

Se usa este snippet con acciones que tienen la propiedad botSessionState, como la Textbot Exchange y Voicebot Exchange (desde este punto, se hace referencia a las dos acciones simplemente como 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.

La propiedad botSessionState debe estar configurada con la variable que contiene el identificador único de 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 junto con la primera respuesta. El script almacena el identificador en la variable que se nombra en la propiedad botSessionStateVarName (out) de la acción Intercambio . 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.

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. Estado de la sesión del botSi 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.

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
  • botSessionState: botSessionState.asJSON()