El cliente registra todo lo que comunica en la consola del navegador, con el prefijo [Entase API]. Abre primero la consola.
El checkout se abre como ventana emergente en lugar de como panel
Estas son las causas habituales, en el orden en que conviene comprobarlas:
- El dominio no es un origen de confianza. Añádelo en Configuración → Integraciones, respetando el prefijo
www.que utiliza realmente tu sitio – consulta Integraciones y personalización del checkout. - La página no se sirve mediante HTTPS. El checkout integrado nunca se utiliza en una página insegura.
- No hay clave publicable. Sin
pk, el cliente no puede comprobar si se permite el checkout integrado, por lo que se mantiene la ventana emergente. book()se ejecutó demasiado pronto. La comprobación de permisos es asíncrona y el modo es de ventana emergente hasta que responde. Un checkout abierto automáticamente al cargar la página puede adelantarse a ella – consulta Modos de checkout.connect-srcestá bloqueado por tu Política de Seguridad de Contenido, por lo que la comprobación nunca termina. La consola mostrará la solicitud bloqueada.
entase.getCheckoutMode() informa del modo resuelto y es la forma más rápida de distinguir los problemas de configuración de los de temporización.
"Pane checkout mode enabled for localhost"
Es lo esperado durante el desarrollo. El cliente asume el modo de panel en localhost y 127.0.0.1 para que puedas desarrollar con el diseño integrado, y muestra una advertencia porque esa suposición no dice nada sobre producción. Añade tu dominio real a los orígenes de confianza antes de publicar.
La ventana emergente está bloqueada
Los navegadores solo permiten abrir una ventana durante una acción del usuario. Llama a book() de forma síncrona dentro del controlador de clics, no después de un await, un fetch o un setTimeout. Consulta Modos de checkout.
El panel se abre vacío
El iframe del checkout fue bloqueado. Permite https://www.entase.com en la directiva frame-src de tu Política de Seguridad de Contenido – consulta Instalación del cliente.
"Entase is not defined"
El script no había terminado de cargarse cuando se ejecutó tu código. Esto ocurre cuando client.js se carga con async o defer, o se coloca después del script que lo utiliza. Espera al evento entase:ready – consulta Instalación del cliente.
"Trying to book an event after the Client has been destroyed"
Se llamó a destroy() en la instancia y ya no se puede utilizar. En una aplicación de página única, esto normalmente significa que un componente eliminó su cliente mientras seguía existiendo una referencia compartida. Crea una nueva instancia para la nueva vista.
"Entase frame initialization failed. Container not found."
Solo para el widget incrustado. El código obj de la configuración no coincide con ningún elemento de la página. El id del contenedor debe ser entase_ seguido del mismo código, y debe existir en el DOM antes de que se inicialice el widget – comprueba si hay una errata o si tus propios scripts renderizan el contenedor más tarde.
Solo se ejecuta el último listener de eventos
on() mantiene una devolución de llamada por nombre de evento, y registrar una segunda sustituye a la primera. Regístrala una vez y distribuye desde dentro de esa devolución de llamada – consulta Eventos.
La ventana emergente se abre en la pantalla equivocada
El punto central se calcula al crear la instancia y no se actualiza cuando el visitante mueve la ventana del navegador. Vuelve a calcularlo antes de reservar con setTopWindowCenter() – consulta Referencia de métodos.
Faltan parámetros de seguimiento en los pedidos
El cliente independiente no lee la URL de tu página. Transmite tú mismo los parámetros a tprm – consulta Seguimiento y consentimiento. Ten en cuenta que setTracking() sustituye el objeto completo en lugar de combinarlo, por lo que una llamada posterior puede eliminar silenciosamente parámetros anteriores.