API de Rastreamento (HTTP)

Referência técnica completa dos endpoints HTTP do Mytrics para integrações server-side.

Voltar à Home
POST

POST /api/pageview

Registra um pageview. Chamado automaticamente pelo script i.js quando uma página carrega. Para SPAs, dispare manualmente após cada mudança de rota.

POST/api/pageview

Registra um pageview anônimo.

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
siteIdstringSimID do site cadastrado
urlstringSimURL completa da página
pathstringSimCaminho (ex: /produtos/camiseta)
titlestringNãoTítulo da página
referrerstringNãoURL de origem
visitorIdstringNãoID do visitante (opcional, gerado pelo servidor se omitido)
sessionIdstringNãoID da sessão
userIdstringNãoID do user logado (use mytrics.identify() no front)

Resposta

201Sucesso — Pageview registrado. Retorna visitorId e sessionId (úteis para instrumentar outros eventos).
{
  "success": true,
  "id": "pv_abc123def",
  "visitorId": "visitor_xyz789",
  "sessionId": "session_abc456"
}
POST

POST /api/event

Registra um evento customizado (conversão, interação, etc). Aceita metadata arbitrária em formato JSON.

POST/api/event

Registra um evento customizado.

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
siteIdstringSimID do site
eventNamestringSimNome do evento (snake_case)
pathstringNãoPath onde o evento ocorreu
metadataobjectNãoPropriedades arbitrárias. Sem PII.
valuenumberNãoValor monetário (em reais, não centavos)
visitorIdstringNãoID do visitante (opcional)
bash
// Exemplo de chamada via curl
curl -X POST https://analytics.mytrics.com.br/api/event \
  -H "Content-Type: application/json" \
  -d '{
    "siteId": "site_abc123",
    "eventName": "finalizou_compra",
    "path": "/checkout/success",
    "metadata": {
      "plano": "Pro",
      "cupom": "LAUNCH30"
    },
    "value": 99.90
  }'
POST

POST /api/error

Registra um erro JavaScript capturado no browser ou server-side. Use para erros try/catch ou exceptions de bibliotecas.

POST/api/error

Registra um erro.

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
siteIdstringSimID do site
namestringNãoNome do erro (ex: "TypeError")
messagestringSimMensagem do erro
stackstringNãoStack trace
filestringNãoArquivo onde o erro ocorreu
linenumberNãoLinha
severity = mediumstringNão"low" | "medium" | "high" | "critical"
type = javascriptstringNão"javascript" | "promise" | "network" | "api" | ...
browserstringNãoDetectado automaticamente
osstringNãoDetectado automaticamente
pathstringNãoPath da página
Alertas por e-mail
Erros com severity "high" ou "critical" disparam um e-mail automaticamente (cooldown 30 min por assinatura).
POST

POST /api/performance

Registra métricas de Web Vitals (LCP, INP, CLS). Chamado automaticamente pelo script em modo "full".

POST/api/performance

Registra Web Vitals.

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
siteIdstringSimID do site
pathstringNãoPath da página
loadTimenumberSimLCP em ms
interactionTimenumberNãoINP em ms
layoutStabilitynumberNãoCLS score
201Sucesso
{
  "success": true,
  "id": "perf_xyz789",
  "score": 87,
  "rating": "good"
}
POST

POST /api/ping

Heartbeat de sessão. Disparado a cada 30s pelo script para indicar que o usuário ainda está ativo. Usado para contar "online agora".

POST/api/ping

Heartbeat de sessão.

Parâmetros

CAMPOTIPOOBRIG.DESCRIÇÃO
siteIdstringSimID do site
visitorIdstringSimID do visitante
sessionIdstringSimID da sessão
200Sucesso
{ "success": true, "onlineNow": 12 }
CORS

CORS e domínios permitidos

Todos os endpoints /api/track aceitam requests de qualquer origem (CORS *). Validação adicional é feita no servidor via Origin/Referer (CSRF protection) e assinatura do siteId.

Rate limit
Aplicado por IP e por siteId. Limite generoso por padrão (300 req/10min), mas o sistema retorna 429 com header Retry-After se excedido.