You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Gestionar flujos de Flex

Actualmente estás leyendo documentación de mensajería antigua de Flex. Si estás empezando con una nueva implementación de Flex, considera la posibilidad de utilizar Flex Conversations.

Un flujo de Flex es la lógica que vincula una identidad de mensajería, como un nombre de Web Chat o un número de teléfono basado en SMS, a Flex. También se los puede llamar controladores de mensajes, ya que describen la forma en que una identidad de contacto debe gestionar los mensajes entrantes. Cuando configures tu contact center, cada número de teléfono, canal de chat u otra identidad de contacto del canal de mensajería necesitará un flujo de Flex correspondiente.

Los flujos de Flex se pueden gestionar a través de la interfaz de usuario de la consola de Twilio o la API de flujos de Flex.

Tipos de integración

Cuando un mensaje llega a tu flujo de Flex, Twilio necesita saber cómo manejarlo. Puedes configurar tu flujo de Flex con algunas opciones:

Studio (predeterminado)

Incoming messages are routed to a specific configured Twilio Studio flow. Studio Flows are generally invoked before the task is routed to an agent. Tasks are passed to agents via Studio’s Send to Flex widget, which creates a task and removes Studio from the engagement. For Flex Flows created via the API, Studio uses the channel type to populate the Task attributes for the current Task and render them appropriately in the Flex UI. For example, if the channelType is facebook, whatsapp, or line, the Send to Flex widget will set the Task Channel to "Programmable Chat".

For more info, see Configure pre-agent workflow with Studio and Core Concepts: Studio Flows.

Tarea de TaskRouter

Para omitir Studio y crear de inmediato una tarea de TaskRouter que se encargue de un mensaje entrante, debes establecer el integrationType del flujo de Flex en Task (Tarea); es decir, "IntegrationType=task", en una solicitud curl a la API. Al realizar la solicitud del flujo de Flex a través de la API, también debes definir las siguientes propiedades:

  • Integration.WorkspaceSid y Integration.WorkflowSid, para asignar la nueva tarea de TaskRouter a un espacio de trabajo y un flujo de trabajo en dicho espacio. Si actualizas el flujo de Flex mediante la interfaz de usuario, el SID del espacio de trabajo se establece de forma implícita.
  • La propiedad Integration.Channel para definir el canal de tareas adecuado para la tarea de TaskRouter que se creará. Es necesario definir la propiedad Integration.Channel para que Flex UI (la interfaz de usuario de Flex) muestre correctamente las conversaciones de mensajería. Si no se establece, las tareas serán visibles, pero no se mostrarán como chats. Configúralo con el SID o el nombre único del canal de tareas (el canal de tareas predeterminado es "default").
    • En el caso de SMS, configúralo como "sms".
    • En el caso de WebChat y todos los demás canales de mensajería, configúralo como "chat".

Para obtener una lista completa de propiedades y ejemplos de código en diferentes lenguajes de programación, consulta el recurso de flujos de Flex.

Widget de solicitud HTTP/Webhook externo

Los mensajes entrantes se enrutan a un webhook de tu elección. Twilio te enviará mensajes entrantes, y puedes usar la información y los metadatos para crear una integración personalizada con Flex. Por ejemplo, puedes utilizar la carga útil del mensaje entrante para alimentar el flujo de un bot interno.

Si tienes previsto utilizar un tipo de integración diferente para los mensajes entrantes y salientes (por ejemplo, los mensajes entrantes se enrutarán a través de Studio, pero los mensajes salientes crearán una tarea que se asignará automáticamente al agente), debes crear dos controladores de mensajes para los flujos de Flex.

De forma predeterminada, el proyecto tiene flujos de Flex para mensajes SMS entrantes y WebChat entrante. Si los flujos de Flex predeterminados te sirven, no tienes que preocuparte de configurar flujos nuevos.

El controlador saliente recién creado se puede configurar con enabled=false. Los canales salientes siempre se crearán con el controlador que especifique el desarrollador. Sin embargo, los flujos entrantes deben cumplir estrictas comprobaciones para confirmar que no exista un conflicto en la identidad de contacto y el tipo de integración.

Canales de chat y sesiones de proxy

Cuando una conversación finaliza después de que un agente presiona el botón End Chat (Finalizar chat), ocurren las siguientes dos cosas:

  1. El canal de chat se marca como inactivo.
  2. Se elimina la sesión proxy.

Flex UI (la interfaz de usuario de Flex) activa estas acciones y debe estar abierta para que se produzca la eliminación.

En ocasiones, el agente cierra Flex UI mientras todavía hay una tarea activa. Si la tarea permanece activa durante 24 horas, se agotará el tiempo de espera y se eliminará.

Esto elimina la tarea de la lista de tareas del agente. Sin embargo, como la interfaz de usuario se cerró durante el proceso, no se pudieron activar las dos acciones de limpieza, por lo que persisten tanto la sesión de proxy como el canal de chat.

  1. Esto se convierte en un problema si el mismo cliente vuelve a escribir:
    la sesión de proxy asociada con ese número de teléfono sigue activa, por lo que el proxy agrega este mensaje a la sesión de proxy existente.
  2. El chat lo agrega al canal de chat existente y se envía para que se muestre en la interfaz de usuario del agente.
  3. Sin embargo, se eliminó la tarea asociada a la conversación original. Por lo tanto, no hay representación visual de ello en la interfaz de usuario del agente. El mensaje no se muestra en ningún lugar y es como si se hubiera "perdido".

Para resolver este problema, podrías utilizar Flex Channel Janitor (el limpiador de canales de Flex).

Limpiador de canales

Cuando se habilita en la API o en la consola de Twilio, el Limpiador de canales detecta los siguientes eventos de TaskRouter:

  • task.canceled
  • task.wrapup
  • task.completed
  • task.system-deleted

Si se produce alguno de estos eventos y el limpiador de canales está activado, entonces limpiará el canal de chat y la sesión de proxy, y mantendrá el estado sincronizado con TaskRouter.

Ten en cuenta que task.deleted no se incluye en la lista de eventos que activan la limpieza automática. Desafortunadamente, este evento no se puede limpiar después, ya que algunas personalizaciones de Flex dependen de su envío en situaciones en las que es necesario conservar el canal de chat.

Si esto causa un problema en tu cuenta de Flex, utiliza System Checkup (Evaluación del sistema) para limpiar los canales de chat y las sesiones de proxy obsoletos.

El limpiador de canales marca el canal de chat como inactivo para que se ignore en futuras conversaciones. Aún puedes acceder al historial de mensajes. Sin embargo, la sesión de proxy se eliminará por completo.

Si gestionas tu propia orquestación de mensajería, no es necesario que utilices el limpiador de canales a la hora de crear un nuevo flujo de Flex.

Canales de larga duración

Cuando se habilita con la API, los canales de chat de larga duración permiten que el historial de mensajes de los clientes persista entre varias interacciones; por ejemplo, un cliente podría chatear con un agente y, un día después, volver y chatear con otro agente, que podrá ver el historial de mensajes. Puedes utilizar los canales de larga duración y el limpiador de canales juntos. El limpiador de canales borrará las sesiones de proxy de la forma habitual, pero dejará intactos los canales de chat. Cuando llegue un nuevo mensaje, la orquestación de mensajería de Flex buscará el canal de chat existente y lo utilizará para la interacción.

El uso de canales de chat de larga duración, aunque resulta útil para la experiencia del agente, podría presentar problemas de seguridad y rendimiento a escala. Consulta cómo escalar y proteger una aplicación de chat para conocer consideraciones útiles para mantener los canales de chat de larga duración.

Próximos pasos

Calificar esta página:

¿Necesitas ayuda?

Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.

Gracias por tus comentarios.

Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

Enviando tus comentarios…
🎉 Gracias por tus comentarios.
Se produjo un error. Inténtalo de nuevo.

Gracias por tus comentarios.

thanks-feedback-gif