Pular para o conteúdo principal
7 min de leitura

Status da instalação

Verifique se o rastreador Zenovay está funcionando sem precisar acompanhar o globo em tempo real. O endpoint Install Health retorna um retrato estruturado da atividade recente do rastreador, da acessibilidade do seu site, da configuração atual de cookieless e consentimento, além de uma lista acionável de problemas.

Você não pode abrir esta URL diretamente em um navegador. O endpoint exige um JWT Bearer — abrir a URL em uma nova aba retornará 401 Missing or invalid authorization header. As formas suportadas de ver o relatório:

  1. Painel (recomendado) — entre em app.zenovay.com, abra o seu domínio e clique em Configurações → Status da instalação.
  2. API — chame o endpoint com um JWT Bearer válido (o token de sessão do seu painel). Veja a referência da API abaixo.

Onde encontrá-lo

No painel Zenovay:

  1. Abra a página Domínios e clique no seu domínio.
  2. Abra Configurações e clique na aba Status da instalação.
  3. O relatório se atualiza automaticamente a cada 30 segundos. Use Atualizar para forçar uma nova checagem.

Lendo a resposta

Cada chamada retorna um objeto JSON com os seguintes campos:

CampoTipoSignificado
last_event_seen_atISO8601 | nullCarimbo de tempo mais recente em que o Zenovay recebeu algum evento para este site.
minutes_since_last_eventnumber | nullDerivada prática do valor acima.
last_event_count_5mnumberVisualizações de página + eventos personalizados recebidos nos últimos 5 minutos.
last_event_count_24hnumberMesma métrica nas últimas 24 horas.
script_reachableboolean | nullResultado de uma sonda HEAD no servidor para o seu domínio. null = sonda bloqueada ou ambiente sandbox; false = erro HTTP; true = site respondeu normalmente.
script_versionstring | nullVersão do rastreador que o Zenovay está servindo no momento.
csp_blocking_suspectedbooleanReservado para uma heurística futura; sempre false em V1.
cookieless_enabledbooleantrue quando ou o interruptor sem cookies do painel está ativado, ou o HTML servido contém data-cookieless="true" na tag de script do Zenovay. SPAs que injetam a tag de script a partir de um bundle JS separado (Next.js, loaders dinâmicos) não são detectados pelo scan do HTML — ative a configuração do painel explicitamente nesse caso.
consent_recording_activebooleanSe o banner de consentimento de cookies (CMP) está configurado para este site. Isto NÃO é session replay — a gravação de sessões é um recurso Pro+ separado controlado em Domínio → Configurações → Relatórios.
last_5_event_typesstring[]Os cinco tipos de eventos personalizados mais recentes recebidos.
issuesarrayItens acionáveis detectados pelo diagnóstico — veja abaixo.

Cores de status no painel

Os quatro cartões no topo da aba usam os seguintes limites:

  • Verde — eventos recebidos nos últimos 5 minutos.
  • Amarelo — eventos recebidos na última hora, mas não nos últimos 5 minutos.
  • Vermelho — silencioso por mais de uma hora ou nenhum evento jamais recebido.

Problemas comuns e correções

O array issues enumera os códigos de diagnóstico que o Zenovay pode retornar. Cada item carrega uma severity, um code estável, uma message legível e uma fix_url.

CódigoSeveridadeSignificadoO que fazer
awaiting_first_eventinfoO site foi criado há menos de 24 horas e o Zenovay ainda não viu nenhum evento.Recarregue seu site para enviar a primeira visualização de página.
script_never_installederrorO Zenovay nunca recebeu eventos para este código de rastreamento.Confirme que o script de rastreamento está em todas as páginas.
silent_trackererrorO intervalo atual entre eventos é pelo menos 10× maior do que o intervalo típico para este site (mínimo 6 horas, máximo 7 dias). Só dispara quando o site recebeu ≥5 eventos nas últimas 24 horas — sites pessoais com uma visita por dia nunca o disparam por engano.Verifique se a tag de script ainda está presente, se um bloqueador de anúncios intercepta a requisição ou se uma Content Security Policy bloqueia api.zenovay.com.
tracker_quietwarnO intervalo atual é pelo menos 3× maior do que o intervalo típico para este site (mínimo 1 hora, máximo 24 horas). Só dispara quando o site recebeu ≥10 eventos nas últimas 24 horas; sites de baixo tráfego não recebem aviso deliberadamente.Abra seu site em uma nova aba para confirmar que continua rastreando. O aviso inclui o intervalo real e o intervalo típico para você julgar se é uma falha real.
site_not_reachablewarnO Zenovay alcançou seu site, mas recebeu um erro HTTP.Verifique o status do seu provedor de hospedagem.
probe_blockedinfoUma regra de rede ou CSP bloqueou a sonda. O rastreador pode ainda estar funcionando.Informativo — compare com o contador de eventos recentes.
sandbox_detectedinfoSeu domínio corresponde a um padrão conhecido de desenvolvimento (localhost, *.vercel.app, *.netlify.app etc.).Esperado para ambientes de staging.

Precisa ver exatamente o que está sendo enviado? Ative o Debug Overlay e acrescente ?zenovay_debug=1 a qualquer URL do seu site. Você verá os últimos 20 eventos enviados pelo rastreador com os dados pessoais mascarados — útil quando o Install Health relata tracker_quiet e você quer confirmar se uma página específica está disparando eventos.

Alertas por e-mail (opt-in por domínio)

Quando o diagnóstico dispara um erro silent_tracker para o seu domínio, o Zenovay envia um e-mail único para o proprietário do site. Quando os eventos voltam, você recebe um único e-mail de "tudo certo". Máximo de um e-mail por incidente — cinco camadas de deduplicação previnem spam:

  1. O cron executa a cada 6 horas, não a cada minuto.
  2. O próprio limite silent_tracker exige um intervalo de no mínimo 6 horas.
  3. Sites com menos de 5 eventos nas últimas 24 horas nunca disparam um alerta (um blog pessoal com uma visita por dia nunca lhe enviará um e-mail).
  4. Uma máquina de estados interna dispara apenas em transições (saudável → silencioso ou silencioso → saudável), nunca em execuções de cron consecutivas.
  5. A chave de idempotência do log de e-mails é ancorada no carimbo de tempo do primeiro silêncio do incidente — nem um bug na máquina de estados pode enviar dois e-mails silenciosos por incidente.

Domínios de sandbox/desenvolvimento (localhost, *.vercel.app, *.netlify.app, *.pages.dev, *.workers.dev, *.test, *.local) são totalmente excluídos dos alertas.

Ative ou desative os alertas por domínio em Domínio → Configurações → Status da instalação → Alertas por e-mail. Ativo por padrão.

Referência da API

GET/api/install-health/:trackingCode

Diagnóstico autenticado para um único site.

URL: https://api.zenovay.com/api/install-health/<SEU_CODIGO> — substitua <SEU_CODIGO> pelo seu código (ex.: ZV_AbCdEf...). A definição da rota usa a notação Express :trackingCode, mas o dois-pontos inicial não faz parte da URL real.

Autenticação: JWT Bearer (token de sessão do seu painel).

Cache: As respostas são armazenadas em cache por 30 segundos na borda para manter o polling do painel leve.

Privacidade: Nenhum dado pessoal (endereços IP, strings user-agent ou valores de referrer) aparece na resposta — apenas contadores, flags e nomes de tipos de evento.

Exemplo de requisição

curlBash
# A URL NÃO leva dois-pontos no início — substitua ZV_SEU_CODIGO
# pelo seu código real em app.zenovay.com → Domínio → Configurações.
# O JWT Bearer é obrigatório; copie-o de uma sessão logada do painel
# via DevTools → Rede → /api/auth/user.
curl https://api.zenovay.com/api/install-health/ZV_SEU_CODIGO \
-H "Authorization: Bearer $SEU_JWT"

Exemplo de resposta

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": []
}

O endpoint é intencionalmente autenticado. Os códigos de rastreamento são essencialmente públicos (estão embutidos no HTML do seu site), então um diagnóstico sem autenticação precisaria de sua própria lógica antiabuso. Use o JWT do seu painel.

Esta página foi útil?