Vai al contenuto

Canal Widget — Visión general

El canal Widget recibe solicitudes de asistencia y presupuesto desde el sitio web. Los visitantes abren un chat en el sitio; los mensajes llegan a Quoting24 como tickets y los operadores responden desde la interfaz habitual, con la misma lógica que los demás canales.

La interfaz va en un iframe. El sitio anfitrión solo necesita un script y, cuando los datos ya se conocen, una llamada a init(). No hacen falta Angular, un cliente de Supabase ni acceso directo a la base de Quoting24.


Qué integración hace falta

Asociar una empresa y recuperar el historial son operaciones distintas. external_id, company_name, name, phone y email no autorizan el acceso a las conversaciones de otra persona. Un usuario ya autenticado en el sitio sigue siendo un invitado del widget hasta que el sitio pase una credencial de restauración válida.

Caso Qué implementar Continuidad Sección
Sitio público, visitante desconocido Solo el script. El visitante rellena el formulario de contacto. Sesión de invitado en el mismo navegador Widget B2C
Sitio que ya conoce el perfil y la empresa Script e init() con el perfil y los datos de la empresa Sesión de invitado precargada y asociación de empresa Widget B2C
Portal con historial personal entre dispositivos También una integración de backend para external_user_id y restore_id Historial personal en el canal widget autorizado Widget B2B
Contrato de campos, CSP, login/logout, provisioning Guía para desarrolladores — Integración técnica

Qué hace el widget

  • Muestra un botón flotante o un chat incrustado en la página
  • Para un visitante nuevo abre el formulario con las etiquetas Teléfono y Nombre. En init() los campos se llaman phone y name; el correo, si el sitio lo conoce, se llama email
  • Si el sitio llama a init(), usa los datos ya disponibles y puede vincular el contacto a una empresa mediante external_id (web_code). Si la empresa no existe y también llega company_name, puede crearla
  • Abre una conversación gestionada en Quoting24 como los demás canales
  • Acepta adjuntos PDF, DOC/DOCX, JPG/JPEG y PNG, hasta 10 MiB por archivo y 100 MiB de adjuntos referenciados por conversación
  • Muestra el saludo, el mensaje de bienvenida y, fuera de horario, el banner configurado. La redacción de mensajes sigue disponible

El loader guarda la credencial de invitado en el localStorage del sitio, separada por clave de widget. Si el almacenamiento está bloqueado, la continuidad puede limitarse a la página actual. La sesión de invitado permite releer la conversación más reciente después de cerrarla, en el mismo navegador. Otro dispositivo exige la restauración autenticada.


Dónde se configura en Quoting24

  1. Abre Configuración → Canales (Impostazioni → Canali)
  2. Selecciona el canal Widget
  3. Abre la configuración

Desde ahí se definen:

  • logotipo, color principal, posición del botón
  • mensaje de saludo, mensaje de bienvenida, mensaje fuera de horario
  • dominios permitidos
  • código de inserción (URL completa del script y clave pública del widget)

Los horarios del canal determinan el banner fuera de horario.

Pide al administrador el código de inserción y los dominios autorizados, incluidos pruebas y desarrollo local. Usa la URL y la clave del mismo entorno. En los ejemplos, sustituye HOST_WIDGET y CLAVE_PUBLICA_WIDGET por los valores recibidos.

Los dominios autorizados son nombres de host, por ejemplo shop.example.com o localhost, sin https://, puerto, ruta ni prefijo *.. example.com autoriza también sus subdominios. Una lista vacía no aplica restricciones de dominio. Para la prueba local sirve la página por HTTP: abrirla como archivo no basta.

El logotipo, el color, la posición y los mensajes se configuran en Quoting24. El company_name pasado a init() es la razón social del cliente, no el título del widget. No existe un parámetro público language o locale: la interfaz actual está en italiano.


Dos formas de mostrarlo en el sitio

Botón flotante

El script añade el botón después de cargar los ajustes gráficos. Al hacer clic se abre el chat. En el móvil el chat flotante puede ocupar el viewport.

Ver Widget B2C.

Chat incrustado

El chat ocupa un contenedor de la página, con altura explícita. No hay botón flotante: el diseño y el título los pone el sitio. En este modo open(), close() y toggle() no tienen efecto. El sitio controla la altura y la anchura del contenedor.

Ver Widget B2C.

Una sola instancia por página: el loader expone un único window.Quoting24Widget. Un segundo script no crea un segundo widget.


Clave pública y secretos

Valor Dónde está Para qué sirve
Clave pública del widget URL del script Selecciona el canal. Es pública: no es una credencial personal ni un secreto de integración de backend
Secreto privado de la integración Solo en el backend del sitio Autoriza crear y reutilizar restore_id
restore_id Almacén privado por usuario, en el backend Credencial con la que se restaura el historial de esa persona en ese widget
Credencial de sesión de invitado localStorage del sitio, gestionada por el loader Continuidad de invitado en el mismo navegador, por clave de widget

Flujo para el operador

  1. El visitante abre el chat en el sitio y envía un mensaje
  2. En Quoting24 nace o continúa un ticket en el canal Widget
  3. Si la inicialización resolvió un external_id, el contacto queda vinculado a la empresa con ese web_code. Una empresa recién creada por el widget tiene razón social y, si se envió, correo; una empresa ya existente no se renombra con init()
  4. El operador gestiona la solicitud y responde desde el chat
  5. El cliente ve las respuestas en el widget

Los mensajes del widget solo se eliminan para todos.

El dato llega desde el navegador y el visitante puede modificarlo. El vínculo con la empresa no demuestra la identidad y no abre el historial de los demás contactos de esa empresa.


Por dónde empezar

  1. Configura aspecto, horarios y dominios en Configuración → Canales → Widget
  2. Sitio público o portal que precarga el perfil: Widget B2C
  3. Historial de la misma persona en otro navegador: Widget B2B
  4. Campos, creación de empresa, CSP y lista de comprobación: Integración técnica