Saltar al contenido principal
8 min de lectura

Estado de la instalación

Verifica que tu rastreador de Zenovay funciona sin tener que vigilar el globo en tiempo real. El endpoint Install Health devuelve una instantánea estructurada de la actividad reciente del rastreador, la accesibilidad de tu sitio, la configuración actual de cookieless y consentimiento, y una lista accionable de incidencias.

No puedes abrir esta URL directamente en un navegador. El endpoint requiere un JWT Bearer — abrir la URL en una pestaña nueva devolverá 401 Missing or invalid authorization header. Las formas admitidas de ver el informe:

  1. Panel (recomendado) — inicia sesión en app.zenovay.com, abre tu dominio y haz clic en Configuración → Estado de la instalación.
  2. API — llama al endpoint con un JWT Bearer válido (el token de sesión de tu panel). Consulta la referencia de la API a continuación.

Dónde encontrarlo

En el panel de Zenovay:

  1. Abre la página Dominios y haz clic en tu dominio.
  2. Abre Configuración y haz clic en la pestaña Estado de la instalación.
  3. El informe se actualiza automáticamente cada 30 segundos. Usa Actualizar para forzar una nueva comprobación.

Lectura de la respuesta

Cada llamada devuelve un objeto JSON con los siguientes campos:

CampoTipoSignificado
last_event_seen_atISO8601 | nullMarca de tiempo más reciente en la que Zenovay recibió algún evento para este sitio.
minutes_since_last_eventnumber | nullDerivada práctica del valor anterior.
last_event_count_5mnumberVistas de página + eventos personalizados recibidos en los últimos 5 minutos.
last_event_count_24hnumberMisma métrica para las últimas 24 horas.
script_reachableboolean | nullResultado de una sonda HEAD en el servidor a tu dominio. null = sonda bloqueada o entorno sandbox; false = error HTTP; true = el sitio respondió correctamente.
script_versionstring | nullVersión del rastreador que Zenovay está sirviendo actualmente.
csp_blocking_suspectedbooleanReservado para una heurística futura; siempre false en V1.
cookieless_enabledbooleantrue cuando o bien el interruptor sin cookies del panel está activado, o bien el HTML servido contiene data-cookieless="true" en la etiqueta script de Zenovay. Las SPA que inyectan la etiqueta script desde un bundle JS independiente (Next.js, cargadores dinámicos) no se detectan al analizar el HTML — activa el ajuste del panel explícitamente en ese caso.
consent_recording_activebooleanIndica si el banner de consentimiento de cookies (CMP) está configurado para este sitio. Esto NO es session replay — la grabación de sesiones es una funcionalidad Pro+ aparte controlada en Dominio → Configuración → Informes.
last_5_event_typesstring[]Los cinco tipos de eventos personalizados más recientes recibidos.
issuesarrayElementos accionables detectados por el diagnóstico — ver más abajo.

Colores de estado en el panel

Las cuatro tarjetas en la parte superior de la pestaña usan los siguientes umbrales:

  • Verde — eventos recibidos en los últimos 5 minutos.
  • Amarillo — eventos recibidos en la última hora pero no en los últimos 5 minutos.
  • Rojo — sin actividad durante más de una hora, o sin eventos jamás.

Problemas comunes y soluciones

El array issues enumera los códigos de diagnóstico que Zenovay puede devolver. Cada entrada lleva una severity, un code estable, un message legible y una fix_url.

CódigoSeveridadSignificadoQué hacer
awaiting_first_eventinfoEl sitio se creó hace menos de 24 horas y aún no se ha recibido ningún evento.Recarga tu sitio para enviar la primera vista de página.
script_never_installederrorZenovay nunca ha recibido eventos para este código de seguimiento.Confirma que el script de seguimiento está en cada página.
silent_trackererrorEl intervalo actual entre eventos es al menos 10× más largo que el intervalo típico para este sitio (mínimo 6 horas, máximo 7 días). Solo se dispara cuando el sitio ha tenido ≥5 eventos en las últimas 24 horas — los sitios personales con una visita al día nunca lo activan por error.Comprueba si la etiqueta script sigue presente, si un bloqueador de anuncios intercepta la petición o si una Content Security Policy bloquea api.zenovay.com.
tracker_quietwarnEl intervalo actual es al menos 3× más largo que el intervalo típico para este sitio (mínimo 1 hora, máximo 24 horas). Solo se dispara cuando el sitio ha tenido ≥10 eventos en las últimas 24 horas; los sitios de bajo tráfico no se advierten deliberadamente.Abre tu sitio en una pestaña nueva para confirmar que sigue rastreando. La advertencia incluye el intervalo real y el intervalo típico para que puedas juzgar si es una caída real.
site_not_reachablewarnZenovay alcanzó tu sitio pero recibió un error HTTP.Comprueba el estado de tu proveedor de hosting.
probe_blockedinfoUna regla de red o CSP bloqueó la sonda. El rastreador puede seguir funcionando.Informativo — compara con el contador de eventos recientes.
sandbox_detectedinfoTu dominio coincide con un patrón conocido de desarrollo (localhost, *.vercel.app, *.netlify.app, etc.).Esperado para entornos de staging.

¿Necesitas ver exactamente qué se está enviando? Activa el Debug Overlay y añade ?zenovay_debug=1 a cualquier URL de tu sitio. Verás los últimos 20 eventos salientes del rastreador con los datos personales enmascarados — útil cuando Install Health informa tracker_quiet y quieres confirmar si una página concreta está enviando eventos.

Alertas por correo electrónico (opt-in por dominio)

Cuando el diagnóstico activa un error silent_tracker para tu dominio, Zenovay envía un correo único al propietario del sitio. Cuando los eventos vuelven, recibes un correo único de "todo en orden". Máximo un correo por incidencia — cinco capas de deduplicación previenen el spam:

  1. El cron se ejecuta cada 6 horas, no cada minuto.
  2. El umbral silent_tracker en sí requiere un intervalo de al menos 6 horas.
  3. Los sitios con menos de 5 eventos en las últimas 24 horas nunca disparan una alerta (un blog personal con una visita al día nunca te enviará un correo).
  4. Una máquina de estados interna se activa solo en transiciones (sano → silencioso o silencioso → sano), nunca en ejecuciones de cron consecutivas.
  5. La clave de idempotencia del registro de correos está anclada a la marca de tiempo del primer silencio de la incidencia — ni siquiera un error en la máquina de estados puede enviar dos correos silenciosos por incidencia.

Los dominios sandbox/desarrollo (localhost, *.vercel.app, *.netlify.app, *.pages.dev, *.workers.dev, *.test, *.local) están totalmente excluidos de las alertas.

Activa o desactiva las alertas por dominio en Dominio → Configuración → Estado de la instalación → Alertas por correo. Activado por defecto.

Referencia de la API

GET/api/install-health/:trackingCode

Diagnóstico autenticado para un único sitio web.

URL: https://api.zenovay.com/api/install-health/<TU_CODIGO> — reemplaza <TU_CODIGO> por tu código (p. ej. ZV_AbCdEf...). La definición de ruta usa la notación Express :trackingCode, pero los dos puntos iniciales no forman parte de la URL real.

Autenticación: JWT Bearer (token de sesión de tu panel).

Caché: Las respuestas se almacenan en caché durante 30 segundos en el edge para aliviar el polling del panel.

Privacidad: Ningún dato personal (direcciones IP, cadenas user-agent o valores de referrer) aparece en la respuesta — solo contadores, indicadores y nombres de tipos de evento.

Ejemplo de petición

curlBash
# La URL NO lleva dos puntos al inicio — reemplaza ZV_TU_CODIGO
# por tu código real desde app.zenovay.com → Dominio → Configuración.
# El JWT Bearer es obligatorio; cópialo desde una sesión iniciada del
# panel vía DevTools → Red → /api/auth/user.
curl https://api.zenovay.com/api/install-health/ZV_TU_CODIGO \
-H "Authorization: Bearer $TU_JWT"

Ejemplo de respuesta

200 OKJSON
{
"last_event_seen_at": "2026-05-02T21:15:42.110Z",
"minutes_since_last_event": 0,
"last_event_count_5m": 12,
"last_event_count_24h": 1843,
"script_reachable": true,
"script_version": "v2.0.1",
"csp_blocking_suspected": false,
"cookieless_enabled": true,
"consent_recording_active": false,
"last_5_event_types": ["pageview", "click", "scroll", "form_submit", "outbound_click"],
"issues": []
}

El endpoint está autenticado intencionadamente. Los códigos de seguimiento son esencialmente públicos (van incrustados en el HTML de tu sitio), así que un diagnóstico sin autenticación necesitaría su propia lógica anti-abuso. Usa el JWT de tu panel.

¿Fue útil esta página?