Endpoint REST API
GET /v1/pulse
Dzisiejszy wskaźnik Pulse, porównanie z wczoraj oraz śródzienne wykresy w 15-minutowych interwałach.
Żądanie
GET
https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID
Pulse pomaga odpowiedzieć na ważniejsze pytanie niż „Ile mamy ruchu?”: czy dzisiejszy ruch jest wyższy, czy niższy od typowego dla tego dnia tygodnia i tej pory?
Uwierzytelnianie
Wymagany jest klucz API w nagłówku Authorization: Authorization: Bearer nm_YOUR_KEY.
Parametry zapytania
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
site |
string |
wymagany | Identyfikator trackera. Klucz API musi mieć dostęp do tego trackera. |
Przykład cURL
curl -H "Authorization: Bearer nm_YOUR_KEY" \
"https://api.nowmetrix.com/v1/pulse?site=TRACKER_ID"
Przykładowa odpowiedź
{
"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
}
]
}
}
}
Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
site |
string |
Identyfikator trackera użyty w żądaniu. |
updated_at |
string |
Znacznik czasu UTC wskazujący moment wygenerowania danych. |
timezone |
string |
Strefa czasowa trackera używana do ustalenia lokalnych dat. |
pulse.available |
boolean |
Informacja, czy dostępna jest wystarczająca historia do obliczenia wskaźnika Pulse. |
pulse.reason |
string|null |
Powód niedostępności wskaźnika Pulse. |
pulse.delta_percent |
integer|null |
Łączna różnica procentowa względem wartości bazowej. |
pulse.days_counted |
integer |
Liczba uwzględnionych dni bazowych. |
pulse.is_provisional |
boolean |
Informacja, czy wynik wskaźnika Pulse jest wstępny. |
pulse.minute_of_day |
integer |
Bieżąca minuta lokalnego dnia użyta do porównania. |
pulse.metrics.pageviews |
object |
Dzisiejsza liczba odsłon, średnia i delta_percent dla odsłon. |
pulse.metrics.visitors |
object |
Dzisiejsza liczba odwiedzających, średnia i delta_percent dla odwiedzających. |
pulse.metrics.active_users |
object |
Dzisiejsza liczba aktywnych użytkowników, średnia i delta_percent dla aktywnych użytkowników. |
pulse.baseline |
object |
Metadane wartości bazowej oraz dni z próby użyte do obliczenia wskaźnika Pulse. |
yesterday_vs_day_before |
object |
Porównanie zakończonych dni pod względem odsłon i odwiedzających. |
chart |
object |
Serie 15-minutowe dla dzisiaj, wczoraj i średniej, osobno dla odsłon i odwiedzających. |
Aktualność danych i buforowanie
Odpowiedzi są mikrobuforowane dla każdego trackera przez 30 sekund, a przez kolejne 90 sekund mogą być zwracane jako nieaktualne, aby chronić system przed nagłymi skokami obciążenia.
Błędy
| HTTP | Kod | Opis |
|---|---|---|
| 400 | site_required |
Brakuje wymaganego parametru site. |
| 401 | missing_token |
Brakuje nagłówka Authorization. |
| 401 | invalid_token |
Token jest nieprawidłowy lub został unieważniony. |
| 403 | site_not_authorized |
Klucz API nie ma dostępu do tego trackera. |
| 429 | rate_limit_exceeded |
Przekroczono limit zapytań. |
| 503 | redis_unavailable |
Zaplecze czasu rzeczywistego jest tymczasowo niedostępne. |
{
"error": {
"code": "invalid_token",
"message": "Bearer token is invalid or revoked."
}
}