Endpoint REST API

GET /v1/pulse

Andamento di oggi, confronto con ieri e curve intraday a intervalli di 15 minuti.

Richiesta

GET https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID

Pulse aiuta a rispondere a una domanda più utile di «Quanto traffico abbiamo?»: oggi siamo sopra o sotto l'andamento normale per questo giorno della settimana e a quest'ora?

Autenticazione

È necessaria una chiave API nell'header Authorization: Authorization: Bearer nm_YOUR_KEY.

Parametri della query

Nome Tipo Obbligatorio Descrizione
site string obbligatorio ID del tracker. La chiave API deve avere accesso a questo tracker.

Esempio cURL

curl -H "Authorization: Bearer nm_YOUR_KEY" \
  "https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID"

Esempio di risposta

{
  "site": "TRACKER_ID",
  "updated_at": "2026-06-26T12:24:30Z",
  "timezone": "Europe/Zurich",
  "pulse": {
    "available": true,
    "reason": null,
    "delta_percent": 12,
    "days_counted": 8,
    "is_provisional": false,
    "minute_of_day": 865,
    "metrics": {
      "pageviews": {
        "today": 48215,
        "avg": 43040,
        "delta_percent": 12
      },
      "visitors": {
        "today": 31890,
        "avg": 29620,
        "delta_percent": 8
      },
      "active_users": {
        "today": 128,
        "avg": 104,
        "delta_percent": 23
      }
    },
    "baseline": {
      "snapshot_time": "14:25",
      "aggregation": "median",
      "combination": "mean_of_deltas",
      "days_counted": 8,
      "samples": [
        {
          "date": "2026-06-19",
          "pageviews": 42110,
          "visitors": 29100,
          "active_users": 98
        }
      ]
    }
  },
  "yesterday_vs_day_before": {
    "yesterday": {
      "date": "2026-06-25",
      "pageviews": 77480,
      "visitors": 50195
    },
    "day_before": {
      "date": "2026-06-24",
      "pageviews": 81240,
      "visitors": 53210
    },
    "delta_percent": {
      "pageviews": -5,
      "visitors": -6
    }
  },
  "chart": {
    "interval_minutes": 15,
    "today_date": "2026-06-26",
    "yesterday_date": "2026-06-25",
    "average_basis_days": 8,
    "average_method": "median_same_weekday",
    "pageviews": {
      "today": [
        {
          "time": "08:00",
          "value": 920
        },
        {
          "time": "08:15",
          "value": 1110
        }
      ],
      "yesterday": [
        {
          "time": "08:00",
          "value": 870
        }
      ],
      "average": [
        {
          "time": "08:00",
          "value": 810
        }
      ]
    },
    "visitors": {
      "today": [
        {
          "time": "08:00",
          "value": 620
        }
      ],
      "yesterday": [
        {
          "time": "08:00",
          "value": 580
        }
      ],
      "average": [
        {
          "time": "08:00",
          "value": 540
        }
      ]
    }
  }
}

Campi della risposta

Campo Tipo Descrizione
site string ID del tracker utilizzato per la richiesta.
updated_at string Timestamp UTC dell'istante in cui è stato generato il payload.
timezone string Fuso orario del tracker utilizzato per determinare le date locali.
pulse.available boolean Indica se è disponibile una cronologia sufficiente per calcolare Pulse.
pulse.reason string|null Motivo per cui Pulse non è disponibile.
pulse.delta_percent integer|null Differenza percentuale complessiva rispetto alla baseline.
pulse.days_counted integer Numero di giorni della baseline inclusi nel calcolo.
pulse.is_provisional boolean Indica se il risultato di Pulse è provvisorio.
pulse.minute_of_day integer Minuto corrente del giorno locale utilizzato per il confronto.
pulse.metrics.pageviews object Pageview di oggi, media e delta_percent.
pulse.metrics.visitors object Visitatori di oggi, media e delta_percent.
pulse.metrics.active_users object Utenti attivi di oggi, media e delta_percent.
pulse.baseline object Metadati della baseline e giorni campione utilizzati per il calcolo di Pulse.
yesterday_vs_day_before object Confronto tra giorni completi per Pageview e visitatori.
chart object Serie a intervalli di 15 minuti per oggi, ieri e la media, suddivise tra Pageview e visitatori.

Aggiornamento e caching

Le risposte vengono memorizzate in una microcache per tracker per 30 secondi, con una finestra di 90 secondi per servire dati obsoleti e proteggere dai picchi di richieste.

Errori

HTTP Codice Descrizione
400 site_required Manca il parametro site obbligatorio.
401 missing_token Manca l'header Authorization.
401 invalid_token Il token non è valido o è stato revocato.
403 site_not_authorized La chiave API non ha accesso a questo tracker.
429 rate_limit_exceeded È stato superato il limite di richieste.
503 redis_unavailable Il backend realtime è temporaneamente non disponibile.
{
  "error": {
    "code": "invalid_token",
    "message": "Bearer token is invalid or revoked."
  }
}