SDK de chat en vivo

Instalación e inserción

Agrega una etiqueta script antes de </body> y la burbuja de HellouOne aparece en la página. A partir de ahí, cada opción se controla mediante un único objeto de configuración global.

1. Copia el snippet

Abre el panel de HellouOne, elige la bandeja de entrada que quieres insertar y abre la pestaña Configuración. El snippet que aparece ya incluye tu websiteToken — cópialo tal cual.

<!-- Pega esto justo antes de </body> -->
<script>
  (function(d,t) {
    var BASE_URL="https://one.hellou.ai";
    var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
    g.src=BASE_URL+"/packs/js/sdk.js";
    g.defer = true;
    g.async = true;
    s.parentNode.insertBefore(g,s);
    g.onload=function(){
      window.hellouOne.run({
        websiteToken: 'YOUR_WEBSITE_TOKEN',
        baseUrl: BASE_URL
      });
    }
  })(document,"script");
</script>

2. Configura el widget

Define window.hellouOneSettings antes de que se cargue el SDK (encima del snippet, o en línea al principio de este). El SDK lee el objeto una sola vez durante run() y aplica los valores a la burbuja de chat.

<script>
  window.hellouOneSettings = {
    position: 'right',
    type: 'expanded_bubble',
    launcherTitle: 'Chat with us',
    darkMode: 'auto',
    useBrowserLanguage: true
  };
</script>

Ajustes del panel y opciones del snippet

Casi todo el aspecto del lanzador — lado, ícono, texto, tema, distancia a los bordes, redondeo de las esquinas, lanzador oculto — se define por bandeja en el panel, en Ajustes → Bandejas de entrada → Constructor de Widget, y llega a cada widget instalado en su siguiente carga de página sin cambiar el código. Una opción que definas en hellouOneSettings tiene prioridad sobre el panel; lo que no definas sigue al panel.

Los códigos de inserción anteriores se generaban con position: 'right', type: 'standard' y launcherTitle: 'Chat with us' (o 'Chatea con nosotros') escritos. Esos valores exactos cuentan como no definidos, así que los snippets pegados antes del Constructor de Widget siguen al panel. Para fijar uno a propósito, usa cualquier otro valor — por ejemplo position: 'left'.

Opciones disponibles

ClaveTipoValor predeterminadoQué controla
position 'left' | 'right' Constructor de Widget En qué lado de la ventana se ubica el lanzador.
type 'standard' | 'expanded_bubble' Constructor de Widget Burbuja redonda o píldora con una etiqueta de texto.
launcherTitle string Constructor de Widget Texto que se muestra dentro de la píldora cuando type es 'expanded_bubble'.
widgetStyle 'standard' | 'flat' 'standard' Forma de la superficie del panel de chat.
darkMode 'light' | 'dark' | 'auto' Constructor de Widget Esquema de color. 'auto' sigue la preferencia del sistema operativo del visitante.
hideMessageBubble boolean Constructor de Widget Inicia con el lanzador oculto. Usa un botón propio y llama tú mismo a toggle().
showPopoutButton boolean false Muestra el control “abrir en una ventana nueva” dentro del panel de chat.
showUnreadMessagesDialog boolean true Muestra una pequeña vista previa cuando llega un mensaje nuevo de un agente con el panel cerrado.
locale string (código ISO) — Idioma inicial de la interfaz, por ejemplo 'en', 'es', 'fr'.
useBrowserLanguage boolean false Reemplaza locale por navigator.language al arrancar.
baseDomain string dominio de la página Alcance de las cookies. Defínelo con tu dominio raíz para compartir la sesión entre subdominios.

3. Espera a que el SDK esté listo

La etiqueta script es asíncrona: el widget no está disponible en el instante en que se ejecuta el snippet. Si necesitas llamar a métodos al arrancar, escucha primero hellouone:ready.

window.addEventListener('hellouone:ready', function () {
  window.$hellouOne.toggle('open');
});

Consulta Eventos del SDK para ver la lista completa, y Métodos del SDK para conocer la API en tiempo de ejecución que puedes llamar una vez que el widget esté activo.

Alcance de las cookies

El SDK guarda dos cookies en el navegador del visitante: cw_conversation (el token de autenticación de la conversación, 365 días) y cw_user_<websiteToken> (un hash del contenido de la llamada más reciente a setUser, que se usa para evitar llamadas de red redundantes). Ambas se definen con SameSite=Lax. Define baseDomain en tu configuración si quieres compartirlas entre subdominios.

Entre dominios

Las cookies no se pueden compartir entre dominios registrables distintos. Si tu visitante pasa de shop.com a help.shop.io, el SDK los tratará como dos sesiones separadas.