IBM Cloud Docs
Cómo funciona la conversación web

Cómo funciona la conversación web

El chat web proporciona una interfaz de chatbot fácil de usar que puede añadir a su sitio web sin escribir ningún código.

Después de añadir el script de chat web a su sitio web, sus clientes verán un icono de inicio en el que pueden hacer clic para abrir la ventana de chat y comenzar una conversación con el asistente. El aspecto del icono del lanzador se adapta a los navegadores de escritorio y móviles.

Cuando un cliente pulsa el lanzador, se abre la ventana de conversación web, que muestra inicialmente la pantalla de inicio. La pantalla de inicio muestra un saludo y un conjunto opcional de sugerencias para iniciar conversaciones sobre preguntas y problemas comunes. El cliente puede pulsar un iniciador de conversación o escribir un mensaje en el campo de entrada para iniciar la conversación con el asistente.

La apariencia y el comportamiento del icono del lanzador, la pantalla de inicio y la mayoría de los demás aspectos del chat web se pueden configurar y personalizar para que coincidan con el estilo y la marca de su sitio web. Para obtener más información, consulte Configuración de la conversación web.

Aspecto y comportamiento del iniciador

El iniciador de la conversación web da la bienvenida a los clientes y se da a conocer para que sepan dónde encontrar ayuda si la necesitan. De forma predeterminada, el iniciador de chat web se muestra como un círculo. Un ejemplo del iniciador inicial en la esquina inferior derecha:

Después de 15 segundos, el iniciador se expande y muestra un mensaje de bienvenida al usuario. Aun en el estado expandido, el cliente puede pulsar el iniciador para abrir la conversación web. (Si el cliente vuelve a cargar la página o navega a una página diferente antes de que se expanda el lanzador, el temporizador de 15 segundos se reinicia)

El aspecto de este estado expandido difiere ligeramente en función de si el cliente está utilizando un navegador de escritorio o un navegador móvil:

  • En los navegadores de escritorio, el iniciador expandido muestra dos botones principales que el cliente puede pulsar para abrir la conversación web y un botón Cerrar que cierra el iniciador.

    Ejemplo del iniciador de escritorio

    El iniciador expandido permanece en estado expandido aunque el cliente vuelva a cargar la página o navegue a otra página. Permanece en su estado expandido hasta que el cliente lo abre. El cliente puede abrirlo haciendo clic en uno de los dos botones principales. Cuando el cliente la cierra, vuelve a su pequeño estado inicial durante el resto de la sesión.

  • En los navegadores móviles, el iniciador muestra un único botón principal.

    Ejemplo del iniciador móvil

    El cliente puede cerrar el iniciador desplazándose por la página, deslizando hacia la derecha en el iniciador expandido o esperando 10 segundos, momento en el que el iniciador expandido retoma automáticamente el estado inicial pequeño. Si el usuario vuelve a cargar la página o navega a una página diferente mientras el lanzador está expandido, permanece en su estado expandido y el temporizador de 10 segundos se reinicia.

Después de la siguiente renovación de página, si el lanzador permanece en estado reducido sin haberlo pulsado, "salta" arriba y abajo para atraer la atención del cliente. El primer rebote ocurre 15 segundos después de la actualización de la página; si el cliente sigue sin hacer clic en el lanzador, vuelve a rebotar 60 segundos más tarde. (La temporización del segundo rebote puede verse afectada si el usuario renueva la página o navega a otra página). Si el usuario sigue sin hacer clic en el lanzador, no vuelve a rebotar.

El idioma del texto predeterminado que se muestra en el lanzador depende de la configuración regional configurada para el chat web. Si personaliza el texto del mensaje de bienvenida, el texto que proporcione se utilizará independientemente de los valores del entorno local.

Puede configurar el color del lanzador y el texto del mensaje de saludo en los ajustes del chat web. Para obtener más información, consulte Configuración de la conversación web.

Representación de la salida del asistente

Además de texto sin formato, watsonx Assistant admite muchos tipos de respuesta que se pueden utilizar para generar elementos multimedia e interactivos. La conversación web incluye soporte incorporado para una amplia variedad de tipos de respuesta:

  • Formato de texto: El chat web admite el formato de texto que utiliza tanto HTML como " Markdown ". Para obtener más información, consulte Formato deMarkdown.
  • URL: los URL válidos (como http://example.com) se representan automáticamente como enlaces que se pueden pulsar. Cuando un cliente pulsa un enlace en la conversación web, el sitio web de destino se abre en una nueva pestaña del navegador.
  • Opciones: las respuestas de opciones (cuando el asistente solicita al cliente que seleccione entre un conjunto de opciones) se representan automáticamente como elementos interactivos. (De forma predeterminada, un conjunto de menos de cinco opciones se representa como un conjunto de botones que se pueden pulsar; cinco o más opciones se representan como una lista desplegable.)
  • Fechas: cuando el asistente solicita al cliente que especifique una fecha, la conversación web muestra un selector de fechas interactivo. El cliente puede especificar la fecha pulsando el selector de fechas o escribiendo un valor de fecha válido en el campo de entrada.
  • Respuestas multimedia: la conversación web admite todos los tipos de respuesta multimedia (audio, image y video).
  • iframe: la conversación web admite el tipo de respuesta iframe , que incorpora contenido HTML (como un formulario o mapa interactivo) directamente en la ventana de la conversación web.

Para obtener más información sobre cómo la conversación web maneja tipos de respuesta específicos, consulte Referencia de tipos de respuesta.

Formato de rebaja

En las respuestas de texto de su asistente, puede utilizar el formato Markdown para aplicar resaltado como, por ejemplo, cursiva, o para incluir elementos como párrafos y cabeceras. Algunos ejemplos comunes de formato de Markdown son:

  • Encabezamientos:

    # First-level heading
    
    ## Second-level heading
    
  • Resaltado:

    This text includes *italic* and **bold** highlighting, as well as a `code` snippet.
    
  • Listas:

    1. ordered
    2. list
    
    - bulleted
    - list
    
  • Tablas:

    | Column 1 | Column 2 |
    |----------|----------|
    | Row      | One      |
    | Row      | Two      |
    
  • Enlaces:

    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html) opens in a new tab.
    
    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html){{target=\"_self\" rel=\"noopener noreferrer\"}} opens in the same tab.
    

Para obtener más información sobre el formato Markdown, consulte la especificación CommonMark.

Transferencia de agente activo

El chat web permite transferir al cliente a un humano en situaciones que el asistente no puede manejar. Si configura una de las integraciones de centro de contacto compatibles, el chat web puede abrir una ventana de chat independiente en la que el cliente puede comunicarse con un agente en directo.

A continuación, el asistente puede iniciar una transferencia en situaciones en las que el asistente no puede manejar las solicitudes de un cliente. (Para obtener más información sobre cómo iniciar una transferencia, consulte Conexión a un agente activo.)

Para obtener información sobre cómo añadir una integración de centro de contacto a la conversación web, consulte Adición de soporte de centro de contacto.

Detalles técnicos

El chat web se muestra en su sitio web mediante un fragmento de código corto de JavaScript, que llama a un código de JavaScript adicional alojado en IBM Cloud. El código alojado se actualiza automáticamente con nuevas funciones y correcciones, por lo que, de forma predeterminada, siempre dispondrá de la última versión. (Opcionalmente, puede fijar una versión específica si prefiere controlar las actualizaciones usted mismo).

El fragmento de código que crea el widget de conversación web incluye un objeto de configuración, que puede modificar para cambiar el aspecto y el comportamiento de la conversación web. El objeto de configuración también especifica detalles que permiten que la conversación web se conecte al asistente. Si se siente cómodo escribiendo código en l JavaScript, puede personalizar el chat web modificando el fragmento de código y utilizando la API del chat web.

La conversación web utiliza la API con estado de watsonx Assistant v2 para comunicarse con el asistente. De forma predeterminada, la sesión finaliza y la conversación finaliza después de 5 minutos de inactividad. Esto significa que si un usuario deja de interactuar con el asistente, después de 5 minutos, cualquier valor de variable de contexto que se haya establecido durante la conversación anterior se establece en nulo o vuelve a sus valores iniciales. Puede cambiar el valor de tiempo de espera de inactividad en los valores del asistente (si lo permite el plan).

Accesibilidad

IBM se esfuerza por proporcionar productos con un acceso utilizable para todo el mundo, independientemente de la edad o aptitudes.

La integración de conversación web cumple con el estándar Web Content Accessibility 2.1 Nivel AA. Se realizan pruebas con lectores de pantalla y herramientas automatizadas de manera continuada.

Facturación

watsonx Assistant cargos basados en el número de usuarios activos mensuales (MAU) únicos.

De forma predeterminada, la conversación web crea un ID exclusivo y anónimo la primera vez que un usuario nuevo inicia una sesión. Este identificador se almacena en una cookie de origen, que permanece activa durante 45 días. Si el mismo usuario vuelve a acceder al sitio y vuelve a conversar con el asistente mientras esta cookie sigue activa, la integración de la conversación web reconoce al usuario y utiliza el mismo ID de usuario. Solo se le cobrará una vez al mes por el mismo usuario anónimo.

En los dispositivos Apple, la función de antirrastreo inteligente suprime automáticamente cualquier cookie del lado del cliente después de 7 días. Si un cliente anónimo accede a su sitio web y vuelve a visitarlo dos semanas después, las dos visitas se tratan como dos MAU diferentes. Para obtener información sobre cómo evitar este problema, consulte Gestión de la información de identidad de usuario en la conversación web.

Para obtener información sobre cómo personalizar el manejo de la información de identidad de usuario para fines de facturación, consulte Gestión de la información de identidad de usuario en la conversación web.

El uso se mide de forma diferente en función del tipo de plan. En los planes Lite, el uso se mide por el número de llamadas /message (API) que se envían al asistente desde la integración de conversación web. En todos los demás planes, el uso se mide por el número de usuarios activos mensuales (MAU) con los que interactúa la conversación web. El número máximo de MAU permitidos difiere en función del tipo de plan watsonx Assistant.

Detalles del plan
Plan Uso máximo
Enterprise MAU ilimitados
Premium (heredado) MAU ilimitados
Plus MAU ilimitados
Prueba MAU 5.000
Lite 10.000 API (aproximadamente 1.000 MAU)

Soporte de navegadores

El chat web admite varios dispositivos y plataformas. Por lo general, si las dos últimas versiones de un navegador representan más del 1 % de todo el tráfico de escritorio o móvil, el chat web es compatible con ese navegador.

En la lista siguiente, se especifica el software de navegador mínimo necesario para la conversación web (incluidas las dos versiones más recientes, salvo mención expresa de lo contrario):

  • Safari de Apple
  • Apple Safari Mobile
  • Google Chrome
  • Google Chrome para Android
  • Microsoft Edge (basado en Chromium y no basado en Chromium)
  • Mozilla Firefox
  • Mozilla Firefox ESR (solo el ESR más reciente)
  • Mozilla Firefox Mobile
  • Opera
  • Navegador móvil de Samsung
  • UC Browser para Android

Para obtener resultados óptimos al mostrar el chat web en dispositivos móviles, el elemento <head> de su página web debe incluir el siguiente elemento de metadatos:

<meta name="viewport" content="width=device-width, initial-scale=1" />

Cookies y GDPR

La conversación web almacena un ID para identificar la sesión actual durante la duración en la que el navegador está abierto. Esto permite que el chat web mantenga abierta la sesión a medida que los usuarios navegan por la página. Una vez que un usuario cierra el navegador, la información se elimina.

  • Si proporciona una conversación web con un userID, los únicos datos o cookies almacenados en el navegador son de la sesión actual. Este userID se puede utilizar para borrar los datos del usuario a petición, ya que también se pasa como la parte customer_id de la cabecera HTTP Watson, razón por la cual la sintaxis userID debe cumplir los requisitos para campos de cabecera definidos en RFC 7230 (todos los caracteres ASCII visibles). Más información sobre la eliminación de datos de usuario en Protección de su asistente.

  • Si no proporciona un chat web con un userID exclusivo, añadimos una cookie de primeros con un ID anónimo generado. La cookie permanece activa durante 45 días para asegurar que contamos un usuario una vez, incluso con varias visitas en el mismo mes, y no contaminar las métricas de facturación.

El chat web mantiene la analítica sobre qué características se utilizan para que podamos mejorar continuamente la experiencia del usuario. Ninguno de los datos recopilados identifica a un usuario final en IBM, y no se realiza un seguimiento de los usuarios en distintos sitios web. Solo tomamos nota del comportamiento dentro del chat web.

Soporte de idiomas

De forma predeterminada, el chat web muestra etiquetas y mensajes codificados en inglés, pero se ha incorporado soporte para todos los idiomas que admite watsonx Assistant. También puede elegir entre una amplia selección de entornos locales para personalizar la visualización de series tales como fechas y horas para audiencias globales.

Cualquiera que sea el idioma que esté utilizando, también puede personalizar el texto de las series codificadas.

Para obtener más información, consulte Soporte de audiencias globales en la conversación web.

Seguridad

De forma predeterminada, todos los mensajes que se envían entre la conversación web y el asistente se cifran con TLS (Transport Layer Security). Puede habilitar la característica de seguridad de conversación web si necesita una protección más sólida.

El script de inclusión de conversación web que incluye en el sitio web contiene identificadores exclusivos (como el ID de integración y el ID de instancia de servicio) que permiten que la conversación web se conecte con el asistente. Estos identificadores no se consideran secretos y son visibles para cualquiera que tenga acceso a su sitio web. Cualquiera que tenga estos ID puede utilizarlos para enviar mensajes a su asistente y recibir sus respuestas. Sin embargo, estos ID no se pueden utilizar para iniciar sesión en la cuenta, realizar cambios en el asistente o recuperar registros o información de análisis sobre el asistente.

Si le preocupa el acceso no autorizado a su asistente, puede habilitar la característica de seguridad de conversación web para una seguridad adicional, como verificar el origen del mensaje y autenticar usuarios. La habilitación de la característica de seguridad requiere más trabajo de desarrollo en el sitio web. Para obtener más información, consulte Seguridad de conversación web.

Actualización de políticas de seguridad del sitio

Si el sitio web utiliza una Política de seguridad de contenidos (CSP), debe actualizarla para otorgar permiso a la conversación web.

Tabla. Las propiedades de CSP listan los valores que se deben añadir al CSP.

Propiedades de CSP
Propiedad Valores
default-src 'self' *.watson.appdomain.cloud 'unsafe-inline'
connect-src *.watson.appdomain.cloud

Para default-src, si tiene un font-src independiente, debe añadir *.watson.appdomain.cloud junto con font-src.

En el ejemplo siguiente, se muestra un código de metadatos de CSP completo:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'unsafe-inline';connect-src *.watson.appdomain.cloud" />
Permitir elementos

Si su CSP utiliza un nonce para añadir elementos como etiquetas <script> y <style> a una lista de permitidos, no utilice unsafe-inline para permitir todos esos elementos. En su lugar, proporcione un valor nonce al widget de conversación web como opción de configuración. El chat web establece el nonce en cualquiera de los elementos <script> y <style> que genera dinámicamente.

Un CSP que pasa un valor nonce al widget de conversación web puede tener este aspecto:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'nonce-<server generated value>';connect-src *.watson.appdomain.cloud"
>

Puede pasar el valor nonce a la conversación web editando el script incluido como se indica a continuación:

window.watsonAssistantChatOptions = {
  integrationID: "YOUR_INTEGRATION_ID",
  region: "YOUR_REGION",
  serviceInstanceID: "YOUR_SERVICE_INSTANCE",

  cspNonce: "<server generated value>",

  onLoad: function(instance) {
    instance.render();
  }
};

Acceso a hosts de conversación web

Si el sistema que aloja el sitio web tiene acceso limitado a Internet (por ejemplo, si utiliza un proxy o un cortafuegos), asegúrese de que sea posible acceder a los URL siguientes:

  • https://web-chat.global.assistant.watson.appdomain.cloud: aloja el código del widget de la conversación web y el script incluido en el sitio web hace referencia a él.
  • https://integrations.{location}.assistant.watson.appdomain.cloud: aloja el servidor de la conversación web, que maneja la comunicación con el asistente. Sustituya {location} por la ubicación del centro de datos en el que se encuentra la instancia de servicio, que forma parte del URL de punto final de servicio. Para más información, consulte Buscar y actualizar la URL del punto final.

Revisión de la seguridad

La integración del chat web se somete a pruebas y análisis periódicos para detectar y solucionar posibles problemas de seguridad, como las vulnerabilidades de cross-site scripting (XSS).

Asegúrese de ejecutar sus propias comprobaciones de seguridad para ver cómo se adapta la conversación web con la estructura y las políticas actuales del sitio web. La conversación web está alojada en el sitio y puede heredar todas las vulnerabilidades que presente el sitio. Servir contenido a través de HTTPS, utilizar una Política de seguridad de contenidos (CSP) e implementar otras precauciones básicas de seguridad web.

Copiando estado de sesión

La integración de conversación web almacena el estado de la sesión actual como memoria caché en el navegador web del usuario. Cuando el usuario envía una consulta al asistente, el asistente responde junto con una copia del estado actual de la sesión. Cuando la sesión del asistente caduca en el servidor debido a tiempo de espera de inactividad, la conversación web crea una nueva sesión y copia el estado de la sesión anterior en la nueva sesión. Por lo tanto, los usuarios obtienen una conversación sin fisuras del usuario si la sesión caduca mientras el usuario está en medio de una conversación. Este estado sólo se conserva mientras el usuario mantenga abierta la pestaña del navegador con el chat web. Si el usuario vuelve a cargar la página, sale de la página o cierra la pestaña, este estado de sesión se pierde y obtendrá una nueva sesión con nuevo estado la próxima vez que abra el chat web. Cuando caduca la sesión en el servidor, al usuario se le presenta un aviso de que tendrá que enviar un mensaje para continuar la conversación.

El estado de sesión almacenado por la conversación web no incluye ninguna variable privada. Estas variables sólo se almacenan en el servidor. Cuando un asistente copia el estado de sesión antiguo del servidor en una sesión nueva, que se ha iniciado después de la caducidad de la sesión de servidor antigua, se perderán las variables privadas que se hayan establecido desde la sesión antigua.