Visión general del desarrollo de conversaciones web
Si se siente cómodo con el código JavaScript, puede personalizar y ampliar la conversación web utilizando la API de conversación web. También puede utilizar una WebView para incluir la conversación web en la aplicación móvil.
Para obtener información de referencia detallada sobre la API de conversación web, consulte la documentación del desarrolladorde la conversación web.
Para añadir el widget de conversación web a su sitio web o a una WebView en la aplicación móvil, todo lo que debe hacer es incluir un elemento de script generado en el origen HTML (para obtener más información sobre el script incorporado, consulte Incrustar la conversación web en la página). Dentro de este script de inclusión, puede utilizar la API de conversación web para personalizar o ampliar la conversación web.
La API de conversación web consta de varios componentes:
- Objeto de configuración: el script de incorporación define un objeto de configuración denominado
watsonAssistantChatOptions, que especifica objetos de configuración para el widget de conversación web. Si edita el objeto de configuración, puede personalizar el aspecto y el comportamiento de la conversación web antes de que esta se represente. Para obtener más información sobre las opciones de configuración disponibles, consulte Objeto de opciones de configuración en la referencia de API web. - Métodos de instancia: los métodos de la instancia de conversación web proporcionan un control de bajo nivel del widget de conversación web. Puede utilizar los métodos de instancia para implementar un comportamiento personalizado como, por ejemplo, cambiar el modo en que se abre el widget de conversación web, mostrar y ocultar el contenido y establecer la información de identidad. Para obtener más información sobre los métodos de instancia disponibles, consulte Lista de métodos y propiedades en la referencia de la API de conversación web.
- Sucesos: el sistema de sucesos de conversación web permite que el sitio web responda a sucesos de la conversación web (como abrir o cerrar la ventana de conversación web, enviar o recibir mensajes). Si se suscribe a sucesos, podrá implementar un comportamiento personalizado o incluso interceptar y modificar el contenido de los mensajes. Para obtener más información sobre el sistema de sucesos, consulte Sucesos en la referencia de API de conversación web.
Si desea utilizar la API de chat web para personalizar la implementación de chat web, no tiene que empezar desde cero. Hay guías de aprendizaje disponibles que muestran ejemplos de personalizaciones de conversación web comunes. Para obtener más información, consulte Guías de aprendizaje de desarrollo de conversación web.
Tareas de desarrollo
Puede utilizar la API de conversación web para personalizar y ampliar la conversación web de las formas siguientes:
- Estilo y contenido de conversación web
- Abrir, cerrar y representar la ventana de conversación web
- Personalización de la conversación
- Gestión de datos
- Seguridad y administración
Para obtener más ejemplos de integraciones de conversación web, consulte aquí.
Estilo y contenido de conversación web
- Personalización del aspecto de la conversación web
-
Si desea personalizar el estilo y el aspecto de la conversación web más allá de las opciones que están disponibles en la pestaña Estilo en los valores de conversación web, puede hacerlo eligiendo un tema diferente de Carbon Design.
Los temas soportados son temas de color definidos por IBM Carbon Design. Para establecer el tema Carbon, utilice la opción de configuración
carbonTheme.También puede establecer variables individuales dentro del tema para personalizar elementos de interfaz de usuario específicos. Por ejemplo, el texto que se visualiza en la ventana de conversación utiliza las fuentes
IBMPlexSans, Arial, Helvetica, sans-serif. Si desea utilizar un font diferente, puede especificarlo utilizando el método de instanciaupdateCSSVariables(). - Personalización de la pantalla de inicio
-
La pantalla de inicio saluda al cliente y, opcionalmente, muestra una lista de iniciadores de conversación sugeridos. Puede personalizar el estilo y el contenido de la pantalla de inicio:
-
Para añadir elementos a la pantalla de inicio, puede definir HTML personalizado utilizando la variable de tema
writeableElements.homeScreenAfterStartersElement:instance.writeableElements.homeScreenAfterStartersElement.innerHTML = '<div class="MyCustomClass">This is my custom element</div>';
Ejemplo: Para ver un ejemplo de trabajo que muestra cómo añadir elementos personalizados a la pantalla de inicio, consulte Elementos personalizados de la pantalla de inicio para watsonx Assistant conversación web. -
Para cambiar el estilo de la pantalla de inicio, utilice clases de ayudante CSS.
-
- Personalización de series
-
Puede personalizar las series que definen las diversas etiquetas y frases codificadas visualizadas por la conversación web. Para personalizar las series, utilice el método de instancia
updateLanguagePack()para sustituir las series en el paquete de idioma actual. Para obtener más información, consulte Idiomas. - Soporte para audiencias globales
-
De forma predeterminada, las series que muestra la conversación web están en inglés. Para cambiar a un idioma diferente, utilice el método de instancia
updateLanguagePack()para sustituir el paquete de idioma actual por uno de los paquetes de idioma traducidos disponibles. Para obtener más información, consulte Soporte de audiencias globales en la conversación web.
Abrir, cerrar y representar la ventana de conversación web
- Sustitución del lanzador predeterminado
-
Para una mejor integración con su sitio web, es posible que desee sustituir el icono de lanzador incorporado con un mecanismo diferente para abrir el chat web. Para ocultar el iniciador predeterminado, establezca la opción de configuración
showLauncherenfalse. Para abrir la conversación web basada en alguna otra interacción, utilice el método de instanciaopenWindow.
Guía de aprendizaje: Para ver una guía de aprendizaje que muestra cómo implementar un lanzador personalizado, consulte Utilización de un lanzador personalizado. - Mantener siempre abierto el chat web
-
Si desea mantener la conversación web siempre abierta en la página, utilice la configuración de
openChatByDefaultabierta para representar la página con la ventana de conversación abierta y la opciónhideCloseButtonpara evitar que los clientes la cierren. - Cambiar el tamaño o la posición de la conversación web
-
El diseño de su sitio web puede requerir que cambie dónde y cómo se representa la ventana de conversación web en su sitio web. Por ejemplo, es posible que desee que aparezca en una posición diferente de la página, con un tamaño diferente o anidado dentro de otro elemento de la página.
Para cambiar el tamaño de la ventana de conversación web, puede utilizar el método de instancia updateCSSVariables() para modificar el estilo CSS.
Si necesita cambiar la posición de la ventana de conversación web, o si necesita cambiar el tamaño más allá de los límites permitidos en la CSS, puede utilizar un elemento DOM personalizado para contener la ventana de conversación web. Para ello, utilice la opción de configuración
element.
Guía de aprendizaje: Para ver una guía de aprendizaje que muestra cómo representar la conversación web en un elemento personalizado, consulte Guía de aprendizaje: Personalización del tamaño y la posición de la conversación web. - Adición de la conversación web a la aplicación móvil
-
Puede utilizar un WebView con un puente JavaScript para añadir la conversación web a la aplicación móvil. Para obtener más información, consulte Adición de la conversación web a la aplicación móvil.
Personalización de la conversación
- Interceptación y modificación de mensajes
-
Al suscribirse a sucesos, el código puede interceptar mensajes que se envían y reciben entre el cliente y el asistente, e incluso modificar su contenido.
Suscríbase al suceso
pre:receivesi desea interceptar el mensaje de un cliente antes de enviarlo al asistente. Por ejemplo, es posible que desee eliminar información de identificación personal del texto del mensaje o añadir variables de contexto a la carga útil del mensaje.Suscríbase al suceso
pre:sendsi desea interceptar una respuesta entrante del asistente antes de que se muestre al cliente. Por ejemplo, es posible que desee añadir formato, enlaces u otros elementos específicos de la conversación web.
Guía de aprendizaje: para ver una guía de aprendizaje que muestra cómo utilizar el suceso pre:receivepara interceptar y modificar mensajes entrantes, consulte Guía de aprendizaje: implementación de botones de opción personalizados en la conversación web. - Representación de tipos de respuesta personalizados
-
Si su asistente envía respuestas especializadas utilizando un tipo de respuesta personalizado (
user_defined), puede implementar una vista personalizada para visualizar estas respuestas en la ventana de conversación web. Para ello, suscríbase al sucesocustomResponse, que se activa cada vez que se recibe una respuestauser_defined. En el método de manejador de sucesos, puede leer el contenido de la respuesta y representar la salida utilizando sus propios elementos.
Guía de aprendizaje: Para ver una guía de aprendizaje que muestra cómo representar un tipo de respuesta personalizado como sustitución de la respuesta de
opciones predeterminada, consulte Guía de aprendizaje: implementación de botones de opción personalizados en la conversación web. - Implementación de una integración de centro de contacto
-
Puede utilizar uno de los kits de inicio de conversación web para integrarse con una plataforma de centro de contacto (servicio de atención al usuario) distinta de las disponibles en las integraciones incorporadas de watsonx Assistant. Las implementaciones de referencia totalmente funcionales están disponibles para varias plataformas de centro de contacto; además, puede utilizar un kit de inicio para desarrollar una integración personalizada con la plataforma que elija.
Para obtener más información, consulte Adición de soporte de centro de contacto.
Gestión de datos
- Gestión de la información de identidad de usuario
-
La conversación web asocia un ID de usuario con cada mensaje que envía al asistente; este ID de usuario se utiliza para la facturación basada en el usuario y otros fines. Puede permitir que la conversación web genere un ID anónimo para cada usuario, o puede controlar el ID de usuario usted mismo.
En función de si ha habilitado la seguridad para la conversación web, puede utilizar el método de instancia
updateUserIDo el métodoupdateIdentityTokenpara especificar la información de identidad de usuario.Para obtener más información sobre cómo se especifica la información de identidad de usuario y cómo se utiliza, consulte Gestión de la información de identidad de usuario en la conversación web.
Seguridad y administración
- Protección de la conversación web
-
Para proteger la conversación web, puede utilizar JSON Web Token (JWT) para autenticar usuarios y cifrar datos privados. Para obtener más información, consulte Protección de la conversación web.
- Control de la versión de conversación web
-
El código de conversación web alojado por IBM Cloud se actualiza regularmente con mejoras y nuevas características. De forma predeterminada, el script de inclusión utiliza automáticamente la versión más reciente de la conversación web. Para evitar cambios inesperados que podrían afectar a su sitio web, es posible que desee controlar qué versión del chat web utiliza su sitio web, lo que le ofrece la oportunidad de probar cada nueva versión antes de realizar el despliegue en la producción., con el fin de evitar cambios inesperados cuando se publique una nueva versión.
Para obtener más información sobre el mantenimiento de versiones de conversación web, consulte Control de la versión de conversación web.