Solución de problemas y lista de comprobación
Los problemas más comunes al insertar reactive.chat: no aparece el botón, no hay conexión, origen rechazado, identidad sin confirmar, webhooks o datos de clientes que no llegan, con causas, comprobaciones y una lista antes de la puesta en marcha.
Herramientas
- Herramientas de desarrollo → Red:
loader.js,core.<hash>.js, la conexión WebSocket (la pestaña «Mensajes» o «Tramas» muestrainit,init_ok,error) o las solicitudes de la alternativa HTTP (h/auf,…/sse,…/tx). - Activar el diagnóstico:
data-rc-debug="true"en la etiqueta del cargador olocalStorage.setItem('rc_debug','1')en la consola; después, recargue. - Consola:
ReactiveChat('getSession'),ReactiveChat('getEndpoint'),ReactiveChat('isOpen'),ReactiveChat.version.
No se ve el botón del chat
- Falta la clave del sitio o no es válida. En ese caso, el cargador se detiene en silencio. Compruebe
data-rc-site-key(entre 8 y 64 caracteres deA–Z a–z 0–9 _ -) en la etiqueta ejecutada: los gestores de etiquetas y las herramientas auxiliares de los frameworks a veces omiten atributos. type="module"en la etiqueta de script: el cargador no puede encontrar su etiqueta. Insértelo como script clásico.data-rc-hide-launcher="true", o «Solo mediante sus propios enlaces (sin icono de chat)» configurado en su cuenta.- Sin color de marca en el código de inserción: sin un color
data-rc-brandválido, el botón solo aparece cuando se establece la conexión. Vuelva a copiar el código de su cuenta. - Proyecto pausado o clave del sitio desconocida: el servidor responde con
unknown_site_key(cierre 4002); en esta pestaña, el widget no lo vuelve a intentar durante diez minutos. - El núcleo no carga: la consola muestra
[reactive.chat] core.js …. A menudo,script-srco un bloqueador de anuncios bloquea la dirección; véase Dominio propio.
El botón aparece, pero no llega ningún mensaje
loader.jsservido desde su infraestructura sindata-rc-ws-url: el widget busca el servidor de chat en su dominio. En la pestaña de red verá intentos fallidos de conexión awss://ws.<your-domain>/rc_wss/. Solución:data-rc-ws-url="wss://ws.reactive.chat/rc_wss/".origin_denied, cierre 1008: falta el dominio de la página en Orígenes permitidos. Introduzca el dominio del sitio web, no el subdominio del chat.- La CSP bloquea: la consola muestra un mensaje de CSP sobre
wss://…ohttps://…/rc_wss/h/auf. Añada ambas formas aconnect-src. - Red corporativa sin WebSocket: tras dos intentos fallidos, el widget cambia a la alternativa HTTP. Si tampoco funciona, compruebe si hay proxies que interrumpan las solicitudes en menos de 30 segundos o almacenen las respuestas en búfer (Transporte).
- Bloqueo por la protección contra abusos (cierre 1008
blocked): habitual detrás de un proxy propio sin clave de proxy válida, porque todos los visitantes tienen entonces la misma dirección. - Mensaje demasiado largo: el widget no envía textos que superen el límite del plan (1000 o 4000 caracteres).
Un usuario con sesión iniciada se considera anónimo
La trama error contiene auth_failed con detail.reason:
- no_hash – falta
userHashenidentify. - no_secret – no se ha configurado ningún secreto en el proyecto.
- bad_exp –
expestá en milisegundos en lugar de segundos o no es un entero. - expired – la página lleva mucho tiempo abierta o el reloj del servidor es incorrecto; calcule un hash nuevo al cargar la página.
- exp_too_far – más de 24 horas en el futuro.
- bad_hash – el secreto, el orden (
userId + "." + exp) o el juego de caracteres no coinciden; el secreto es la clave como cadena, no como bytes descodificados. Si incluye una dirección de correo, debe firmarla exactamente como la transmite.
Detalles: Identificar visitantes.
No llegan los datos de clientes
- El asistente pide al usuario que inicie sesión aunque ya lo haya hecho: falta
expo ha caducado; sinexpno hay datos de clientes. - Probar la conexión en su cuenta indica el motivo (
http_401,zeitueberschreitung,umleitung,adresse_privat…). La cadena firmada esX-RC-Zeit + "." + raw body: verifíquela con los bytes recibidos, no con JSON recodificado. - Falta un campo en la respuesta del asistente: no está habilitado en su cuenta o está en la lista de campos que nunca se incorporan.
Detalles: Endpoint de datos de clientes.
No llegan los webhooks
- ¿Está activada la integración y seleccionado el evento (sin selección = todos)? Espere hasta 15 segundos después de activarla.
- Su endpoint tarda más de 10 segundos en responder o responde con una redirección.
- Su endpoint respondió una vez con 410: esto desactiva la integración. Vuelva a activarla.
- La firma no coincide: calcúlela sobre el cuerpo sin procesar y
X-RC-Timestamp + "." + body; tenga en cuenta el prefijosha256=. - Falta contenido en
data: en Webhooks se enumeran los campos de cada evento; un evento que no esté seleccionado no llega en absoluto.
API de servidor
- 401
auth_failed: clave revocada, mal escrita o la persona que la creó ya no es administradora. - 403
insufficient_scope: el alcance no es suficiente;required_scopeindica el necesario. - 429: se han superado las 120 solicitudes por minuto; respete
Retry-After. - 415/413: falta
Content-Type: application/jsono el cuerpo supera los 64 KiB.
No aparece el texto de privacidad
- Falta el cargador en la página o la plataforma de consentimiento lo bloquea: inserte
datenschutz.jsdirectamente. - El sitio web no figura como dominio en el proyecto o el proyecto está pausado.
data-rc-privacy-state="error"en el elemento indica una solicitud fallida.
Lista de comprobación antes de la puesta en marcha
- Todos los dominios del sitio web incluidos en Orígenes permitidos.
- Código de inserción de su cuenta sin cambios en todas las páginas donde deba aparecer el chat, incluida la página de privacidad.
- CSP:
script-srccon el host de distribución,connect-srcconwss://yhttps://,img-srcpara imágenes. - Consentimiento:
data-rc-consento plataforma de consentimiento (TCF v2 / consented.eu) comprobados, con y sin consentimiento. - Política de privacidad ampliada (
<div data-rc-privacy>o texto preparado). - Identidad:
userHashconexpcalculado en el servidor, secreto solo en el entorno del servidor,init_ok.identity.verifiedestrue. - Áreas con texto confidencial marcadas con
data-rc-private. - Con dominio propio: los cinco pasos de comprobación en «OK», clave de proxy solo en su configuración,
/rc_wss/h/fuera del registro de acceso. - Webhooks: firma y marca de tiempo verificadas, duplicados detectados mediante
X-RC-Delivery, respuesta 2xx rápida. - Alternativa HTTP probada una vez con
data-rc-transport="http". - Vista móvil (por debajo de 480 píxeles, el chat se abre a pantalla completa) y manejo con teclado comprobados.
Sist oppdatert: