Saltar al contenido principal

Conversaciones

Hilos de chat en tiempo real entre los visitantes y tu equipo de soporte.

¿Qué son las conversaciones?

Las conversaciones son sesiones de chat en hilo entre los visitantes (o los contactos) y tu equipo de soporte. Cada conversación tiene una línea de tiempo de elementos: mensajes, eventos, registros de identificación y actividad de herramientas.

Propiedades principales

Toda conversación incluye:

  • status: open, resolved o spam.
  • priority: low, normal, high o urgent.
  • participants: los agentes de soporte (personas o IA) implicados.
  • tags: etiquetas para clasificar (facturación, técnico, onboarding, etc.).
  • timeline: lista ordenada de elementos de la línea de tiempo.
  • lastTimelineItem: la actividad más reciente, para ordenar y previsualizar.

Ciclo de vida de una conversación

Creación

Las conversaciones se crean cuando:

  • Un visitante envía su primer mensaje desde el widget de soporte.
  • Tu backend crea una a través de la API.

El panel actual gestiona conversaciones existentes; no ofrece a los agentes una acción para iniciar una conversación.

Flujo de estados

open → resolved
  │       ↑
  │       │
  └→ spam └─ reopened
  • open: conversación activa que requiere atención.
  • resolved: conversación marcada como terminada (se puede reabrir).
  • spam: conversación clasificada como tráfico no deseado o abusivo.

Niveles de prioridad

Las conversaciones se pueden priorizar:

  • low: preguntas generales, comentarios sin urgencia.
  • normal: peticiones de soporte estándar (valor por defecto).
  • high: problemas importantes que afectan a la experiencia del usuario.
  • urgent: problemas críticos que exigen atención inmediata.

Los agentes de soporte pueden ajustar la prioridad según el contexto de la conversación.

Actualizaciones en tiempo real

Las conversaciones se sincronizan en tiempo real por WebSocket:

  • Los mensajes nuevos aparecen al instante.
  • Los indicadores de escritura muestran cuándo un agente está redactando.
  • Los acuses de lectura registran cuándo se leen los mensajes.
  • Los cambios de estado se difunden de inmediato.

El SDK de Fluxo gestiona todo el WebSocket automáticamente: no hay que configurar nada.

Línea de tiempo de la conversación

Cada conversación tiene una línea de tiempo de elementos:

  • Mensajes: texto y archivos de los visitantes o de los agentes.
  • Eventos: actividades del sistema (asignada, resuelta, alguien se ha unido).
  • Registros de identificación: actividad de identificación de visitantes y contactos.
  • Elementos de herramientas: registros de ejecución de la IA y de las herramientas.

La línea de tiempo ofrece un historial estructurado de la conversación. Los registros privados, borrados, filtrados u operativos pueden no aparecer para todo el mundo, así que no la trates como un registro de cumplimiento inmutable.

Ejemplo de línea de tiempo

1. [MENSAJE] Visitante: «¿Cómo restablezco mi contraseña?»
2. [EVENTO] La agente Sarah se ha unido a la conversación
3. [MENSAJE] Sarah: «¡Te ayudo! Pulsa en tu perfil...»
4. [EVENTO] Conversación marcada como resuelta
5. [MENSAJE] Visitante: «Gracias, ha funcionado»
6. [EVENTO] Conversación reabierta

Soporte con varios agentes

Una conversación puede tener varios participantes:

  • Agentes humanos: miembros del equipo de soporte.
  • Agentes de IA: asistentes automáticos.
  • Modo mixto: la IA hace el triaje inicial y escala a una persona.

Los agentes pueden:

Etiquetas y organización

Etiqueta las conversaciones para filtrarlas y hacer informes:

tags: ["billing", "urgent", "enterprise-customer"];

Las etiquetas sirven para:

  • Encaminar conversaciones a equipos especializados.
  • Generar informes y analítica.
  • Filtrar las vistas del panel.
  • Seguir los tipos de incidencia más frecuentes.

Seguimiento de lecturas

Fluxo registra cuándo vio cada participante la conversación por última vez:

  • Visitantes: la lectura se actualiza sola con el widget abierto.
  • Agentes: se registra en el panel.
  • Sin leer: se calcula por participante.

De ahí salen los indicadores de mensajes sin leer del widget y del panel.

Continuidad entre dispositivos

Para los contactos identificados, las conversaciones se sincronizan entre dispositivos y sobreviven al borrado del almacenamiento:

  • Empiezas la conversación en el escritorio.
  • Sigues en el móvil.
  • Reinstalas la aplicación o borras el almacenamiento del navegador.
  • Vuelves a iniciar sesión y te identificas con el mismo externalId o correo.
  • Mismo historial, mismo contexto.

Internamente, las conversaciones antiguas conservan el ID del visitante que las creó. Tras la identificación, cualquier visitante actual vinculado al mismo contacto puede seguir listándolas, leyéndolas y continuándolas a través del contacto compartido.

Los visitantes anónimos tienen conversaciones ligadas al dispositivo. Hasta que se identifican, Fluxo limita su historial al ID de visitante guardado en ese dispositivo y navegador.

Construir sobre las conversaciones

Usa los tipos Conversation generados en @fluxolat/types para el estado, la prioridad, el canal, la asignación, el sentimiento, las etiquetas, los participantes y el último elemento de la línea de tiempo. Para construir un flujo propio del widget, empieza por Páginas y layouts y la referencia de hooks. Las integraciones de servidor deberían usar el contrato OpenAPI generado en packages/protocol/openapi.json; las claves de API privadas se quedan en el servidor.

Más información

¿Te resultó útil esta página?

Abre una incidencia de documentación ya rellenada para que el equipo pueda actuar.