Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Las variables almacenan las respuestas de sus clientes a las preguntas de su agente. Por ejemplo, puede guardar el nombre de un cliente en una variable llamada UserName. El agente puede dirigirse al cliente por su nombre a lo largo de la conversación.
De forma predeterminada, solo puede usar el valor de una variable en el tema donde creó la variable. Sin embargo, es posible que quiera reutilizar un valor en varios temas. Por ejemplo, en un tema de Bienvenida, el bot solicita el nombre y el correo electrónico del cliente. En el tema Reserva de citas, quiere que el agente recuerde lo que el cliente ya ha proporcionado y no vuelva a preguntárselo.
Puede reutilizar una variable pasando la variable de un tema a otro. También puede hacer que la variable sea global en el ámbito. En este artículo se tratan las variables globales. Las variables globales se llaman así porque están disponibles en todos los temas, de todo el agente. El agente también puede configurarlos a partir de fuentes externas.
Las variables globales se aplican durante una sola sesión de usuario. Debe especificar qué variables son globales para distinguirlas de las variables de nivel de tema.
Crear una variable global
Puede crear una variable global cambiando el alcance de una variable de tema.
Nota:
El nombre de una variable global debe ser único en todos los temas.
Cree una variable o utilice el panel de Variables para abrir una variable existente.
En el panel Propiedades de variable, seleccione Global (cualquier tema puede acceder). El nombre de la variable obtiene el prefijo
Global.para diferenciarlo de las variables de nivel de tema. Por ejemplo, la variableUserNamese convierte enGlobal.UserName.Guarde el tema.
Uso de variables globales
Al redactar un mensaje en un nodo Mensaje o en un nodo Pregunta , seleccione el icono {x} para ver las variables a las que puede acceder el tema. También puede usar variables globales en nodos de herramientas que llaman a mensajes o flujos de trabajo. Las variables globales aparecen en la pestaña Personalizado junto con cualquier variable de tema. Las variables se enumeran en orden alfabético.
Buscar todos los temas que usan una variable global
Puede encontrar dónde se define una variable global y qué otros temas lo usan. Esta característica es útil si está trabajando en un nuevo agente o si tiene varias variables y bifurcación de temas complejos.
Seleccione la variable global que desee en el lienzo de creación o en el panel Variables .
En el panel Propiedades de la variable, en la sección Referencia , seleccione Ver todas las referencias.
Cambie a la pestaña Otros y seleccione cualquier tema en el que se utilice la variable para ir directamente a ese tema y nodo.
Eliminación de variables globales
Si quita una variable global que se usa en otros temas, las referencias a esa variable en los temas se muestran como Unknown. Recibirá una advertencia sobre cómo eliminar la variable global antes de confirmar la operación.
Los nodos que contienen referencias a la variable global eliminada le indicarán que contienen una variable desconocida.
Los temas con nodos que contienen referencias a variables globales eliminadas pueden dejar de funcionar. Asegúrese de eliminar o corregir todos los temas que estaban usando la variable eliminada, antes de publicar su agente.
Ciclo de vida de las variables globales
De forma predeterminada, un valor de variable global persiste hasta que finaliza la sesión . El nodo Borrar valores de variable restablece los valores de las variables globales. El tema Reset Conversation system (Restablecer sistema de conversación ) usa este nodo. Cuando una redirección desencadena ese tema (o cuando el usuario escribe una frase como "Empezar de nuevo"), se restablecen todas las variables globales.
Establecer variables globales desde orígenes externos
Para asegurarse de que el agente inicia una conversación con algún contexto, use una variable global y establezca su valor desde un origen externo. Supongamos que el sitio requiere que los usuarios inicien sesión. Si almacena el nombre de un usuario en una variable global y se lo pasa al agente, este podrá saludar a los clientes por su nombre antes de que empiecen a escribir su primera pregunta. Otro escenario de ejemplo es pasar el contexto de Dynamics 365 Customer Service a un agente para que pueda iniciar la conversación con el conocimiento de lo que el cliente quiere lograr.
Para evitar una latencia no deseada, especifique cuánto tiempo puede esperar el agente para un valor. También puede establecer un valor predeterminado para usar cuando la fuente externa no responda de manera oportuna.
Nota:
Los agentes publicados en el canal de Dynamics 365 Contact Center para casos de uso de IVR no admiten valores de tiempo de espera configurados para variables globales establecidas por orígenes externos.
Cree un tema dedicado para contener la configuración de todas las variables destinadas a establecerse desde fuentes externas. Podría llamar a este tema "Establecer variables de contexto", por ejemplo. Este tema no sirve para ningún otro propósito, por lo que no es necesario que tenga frases desencadenadoras establecidas.
Agregue un nodo Establecer valor de variable al tema dedicado.
En Establecer variable, abra el selector de variable y seleccione Crear una nueva variable.
Seleccione el nombre predeterminado de la nueva variable. Aparece el panel de Propiedades de variables.
Reemplace el nombre predeterminado por uno que coincida exactamente con el nombre de la variable que se pasa desde el sistema externo.
En Uso, seleccione Global (cualquier tema puede acceder) y Fuentes externas pueden establecer valores.
En Referencia, seleccione los tres puntos (⋮) en la esquina superior derecha y seleccione Obtener valor de este nodo si está vacío.
(Opcional) Establezca un retraso de tiempo de espera, en milisegundos. Este valor determina cuánto tiempo puede esperar el agente a que una fuente externa establezca la variable antes de agotar el tiempo de espera y continuar con el valor predeterminado establecido en el nodo Establecer valor de variable. Esta configuración es pertinente en escenarios en los que la variable depende de un proceso asincrónico o de larga duración, pero el agente debe respetar una latencia máxima para garantizar una buena experiencia de usuario.
En el caso de las variables procedentes de Omnichannel para customer Service, use un valor de 10 segundos (10 000 ms) como tiempo de espera máximo.
En el nodo Establecer valor de variable , escriba el valor predeterminado que se usará si se alcanza el tiempo de espera. En tiempo de ejecución, el agente espera valores con el mismo tipo de datos. Si desea que este valor predeterminado sea una cadena vacía, use
Text("")como fórmula.
Para cualquier otro valor que espere que provenga de un sistema externo, agregue más nodos Establecer valor de variable a su tema dedicado y configure las variables globales requeridas de la misma manera.
Al configurar el agente de esta manera, está listo para probarlo. Cuando se invoca el agente, en lugar de esperar indefinidamente a que se rellenen todas las variables, el agente puede comenzar a enviar inmediatamente cualquier mensaje que no dependa de las variables que se pasan. Cuando el agente intenta acceder a una variable que se define externamente, queda en pausa hasta que llega el valor o se agota el tiempo de espera. Obtenga más información en Optimización de agentes para minimizar la latencia.
Importante
Durante el flujo normal de una conversación, si el agente establece una variable que de otro modo provendría de un valor externo, prevalece el valor establecido desde dentro del agente. Cualquier valor pasado en contexto es ignorado. Esta regla evita que el agente sobrescriba los valores establecidos intencionalmente en los temas.
Establecer variables globales en un agente incrustado
Si va a insertar el agente en una página web sencilla, puede anexar variables y sus definiciones a la URL del agente. O, si desea tener un poco más de control, puede usar un bloque de código <script> para llamar y usar variables programáticamente.
El nombre de la variable en la cadena de consulta de la URL debe coincidir con el nombre de la variable global, sin el prefijo Global.. Por ejemplo, para una variable Global.UserName global, use solo UserName en la consulta.
En los ejemplos siguientes se usa una declaración básica para las variables. En un escenario de producción, puede pasar otra variable que ya ha almacenado el nombre del usuario (por ejemplo, si tiene el nombre de usuario de un script de inicio de sesión) como parámetro de consulta o definición de variable.
Anexe las variables y sus definiciones a la URL del agente como parámetros de cadena de consulta con el formato botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.
Por ejemplo:
- Tiene una variable global llamada
Global.UserName. - La dirección URL de su agente es https://web.powerva.microsoft.com/webchat/bots/12345.
- Para pasar el nombre de usuario al iniciar una conversación de agente en un sitio web, asocie la cadena de consulta
UserName=como: https://web.powerva.microsoft.com/webchat/bots/12345?UserName=Ana.
El nombre del parámetro no distingue mayúsculas de minúsculas: username=Ana también funciona en este ejemplo.
Añadir variables globales a un lienzo personalizado
También puede agregar la variable a un lienzo personalizado.
En la sección
<script>de la página en la que está el agente, defina las variables de la siguiente manera, sustituyendovariableName1por el nombre de la variable sin el prefijoGlobal.yvariableDefinition1por la definición. Separe múltiples variables con comas (,).const store = WebChat.createStore({}, ({ dispatch }) => next => action => { if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') { dispatch({ type: "WEB_CHAT/SEND_EVENT", payload: { name: "pvaSetContext", value: { "variableName1": "variableDefinition1", "variableName2": "variableDefinition2" } }, }); } return next(action); });En la sección
<script>, llame astoreal insertar el agente, como en el siguiente ejemplo en el que se llama astorejusto antes de donde se llama astyleOptions(debe reemplazarBOT_IDpor su identificación de agente):const BOT_ID = "12345-5678"; const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID; fetch(theURL) .then(response => response.json()) .then(conversationInfo => { window.WebChat.renderWebChat( { directLine: window.WebChat.createDirectLine({ token: conversationInfo.token, }), store, styleOptions }, document.getElementById('webchat') ); }) .catch(err => console.error("An error occurred: " + err));
Variables globales relacionadas con la autenticación
Dependiendo de la configuración de la autenticación del agente, tendrá disponible un conjunto de variables globales asociadas con el proveedor de autenticación seleccionado. Para obtener detalles sobre qué conjunto de variables están disponibles y cómo usarlas, consulte el tema de la documentación Agregar autenticación de usuario a temas.