REST API galapunkts

GET /v1/recap

Recap dati, kopsavilkuma rādītāji un populārākās lapas priekšiestatījumiem vai pielāgotam datumu diapazonam.

Pieprasījums

GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25

Izmantojiet Recap, ja integrācijai nepieciešams aplūkot iepriekšējos datus: vēsturiskos pārskatus, populārāko lapu eksportu, pielāgotus datumu diapazonus vai ar meklēšanu filtrētus rezultātus.

Autentifikācija

Nepieciešama API atslēga Authorization galvenē: Authorization: Bearer nm_YOUR_KEY.

Vaicājuma parametri

Nosaukums Tips Obligāts Apraksts
site string obligāts Tracker ID. API atslēgai ir jābūt piekļuvei šim tracker.
preset string neobligāts Datuma priekšiestatījums. Viena no vērtībām: today, yesterday, last7, last14, last30, last90, this_month, last_month, all_time, custom. Noklusējums: last30.
start date neobligāts Sākuma datums iestatījumam preset=custom. Formāts: YYYY-MM-DD.
end date neobligāts Beigu datums iestatījumam preset=custom. Formāts: YYYY-MM-DD.
limit integer neobligāts Maksimālais populārāko lapu skaits atbildē, tostarp lapu dalīšanas atbildēs. Vērtības tiek ierobežotas līdz 1–100. Noklusējums: 100.
q string neobligāts Meklēšanas frāze populārākajām lapām. Tiek meklēts URL, virsrakstā vai autora laukā. Alternatīvais nosaukums: search.
search string neobligāts Parametra q alternatīvais nosaukums.
offset integer neobligāts Lai sāktu dalīšanu lapās, norādiet offset=0. Vesels skaitlis no 0 līdz 2000. Nākamajām lapām nepieciešams snapshot. Ja nav norādīts offset vai snapshot, esošā atbilde paliek nemainīga.
snapshot string neobligāts Izmantojiet pagination.snapshot_id no pirmās atbildes. Atkārtojiet sākotnējos site, preset, start, end un search parametrus. Lapas izmēru var mainīt. Lai sāktu jaunu pārlūkošanu, snapshot nenorādiet.

cURL piemērs

curl -H "Authorization: Bearer nm_YOUR_KEY" \
  "https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=25"

Atbildes piemērs

{
  "site": "TRACKER_ID",
  "preset": "last30",
  "timezone": "Europe/Zurich",
  "range": {
    "from": "2026-05-28",
    "to": "2026-06-26",
    "label": "Last 30 Days",
    "days": 30
  },
  "limits": {
    "min_date": "2025-03-17",
    "max_date": "2026-06-26",
    "max_days": null
  },
  "search": {
    "query": ""
  },
  "daily": [
    {
      "date": "2026-06-25",
      "pageviews": 102400,
      "visits": 12800
    },
    {
      "date": "2026-06-26",
      "pageviews": 98450,
      "visits": 12130
    }
  ],
  "summary": {
    "total_pageviews": 3158127,
    "total_visits": 388450,
    "pages_per_visitor": 8.1
  },
  "top_pages": [
    {
      "rank": 1,
      "title": "Home page",
      "author": "",
      "pubdate": "",
      "url": "/",
      "url_full": "https://example-media.test/",
      "url_id": "5dc0a5883395e2a126e5239650d9268e",
      "thumbnail": "https://realtimemetadata.fra1.cdn.digitaloceanspaces.com/thumbnails/example.jpg",
      "pageviews": 159280
    },
    {
      "rank": 2,
      "title": "Culture desk live notes",
      "author": "Alex Morgan",
      "pubdate": "2026-06-24",
      "url": "/culture/live-notes",
      "url_full": "https://example-media.test/culture/live-notes",
      "url_id": "b35c1a5f2fd0cbb7f3c13b853c2a9d2c",
      "thumbnail": "https://realtimemetadata.fra1.cdn.digitaloceanspaces.com/thumbnails/example-2.jpg",
      "pageviews": 85632
    }
  ],
  "generated_at": "2026-06-26T12:30:00Z"
}

Dalīšana lapās

Lai izmantotu dalīšanu lapās, pievienojiet offset=0. Katrā atbildē ir ne vairāk kā 100 rakstu, bet momentuzņēmumā — ne vairāk kā 2000. Ja nav norādīts offset vai snapshot, esošais atbildes formāts un limits paliek nemainīgi.

Katrai nākamajai lapai nosūtiet pagination.next_offset kā offset un pagination.snapshot_id kā snapshot. Atkārtojiet sākotnējos site, preset, start, end un search parametrus, tostarp pielāgotos datumus. Pārtrauciet, kad next_offset vērtība ir null. Ja offset ir vienāds ar pieejamo vienību skaitu vai lielāks par to, tiek atgriezts tukšs top_pages masīvs.

Rakstu secība, pageviews, dienas vērtības, summary un generated_at visās lapās, tostarp diapazonos, kuros ietilpst šodiena, paliek nemainīgi. Kopsavilkuma rādītāji aptver visu atlasīto diapazonu, savukārt pagination.total skaita tikai rakstus ierobežotajā momentuzņēmumā. Katram pieprasījumam joprojām nepieciešama derīga autorizācija, un tas tiek ieskaitīts tracker ātruma ierobežojumā.

Momentuzņēmumu derīguma termiņš beidzas pēc 10 minūtēm; datu lasīšana to nepagarina. Saņemot HTTP 410, atmetiet nepabeigto pārlūkošanu un sāciet no jauna ar offset=0, nenorādot snapshot. Tālāk redzamie piemēri parāda pirmo pieprasījumu, turpinājuma pieprasījumu un papildu pagination objektu.

GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=100&offset=0
GET https://api.nowmetrix.com/v1/recap?site=TRACKER_ID&preset=last30&limit=100&offset=100&snapshot=0123456789abcdef0123456789abcdef0123456789abcdef
{
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 2000,
    "max_results": 2000,
    "has_more": true,
    "next_offset": 100,
    "snapshot_id": "0123456789abcdef0123456789abcdef0123456789abcdef",
    "expires_at": "2026-06-26T12:40:00Z"
  }
}

Atbildes lauki

Lauks Tips Apraksts
site string Pieprasījumā izmantotais Tracker ID.
preset string Atbildei izmantotais noteiktais priekšiestatījums.
timezone string Tracker laika josla, kas izmantota vietējo datumu noteikšanai.
range object Noteiktais datumu diapazons ar from, to, label un dienu skaitu.
limits object Tracker pieejamās vēsturisko datu robežas.
search.query string Normalizēts meklēšanas vaicājums, kas izmantots populārāko lapu filtrēšanai.
daily[] array<object> Dienas pageviews un visits rādītāji noteiktajā diapazonā.
summary.total_pageviews integer Kopējais pageviews skaits noteiktajā diapazonā.
summary.total_visits integer Kopējais visits skaits noteiktajā diapazonā.
summary.pages_per_visitor number Pageviews skaits dalīts ar visits skaitu, noapaļots līdz vienai zīmei aiz komata.
top_pages[] array<object> Populārākās lapas, sakārtotas pēc pageviews skaita.
top_pages[].rank integer Rangs pilnajā momentuzņēmumā, izmantojot dalīšanu lapās; rangs turpinās nākamajās lapās.
top_pages[].title string Lapas virsraksts.
top_pages[].author string Autors, ja pieejams.
top_pages[].pubdate string Publicēšanas datums, ja pieejams.
top_pages[].url string Ceļš vai saīsināts URL.
top_pages[].url_full string Pilnais URL, ja pieejams.
top_pages[].url_id string Stabils URL identifikators.
top_pages[].thumbnail string Sīktēla URL, ja pieejams.
top_pages[].pageviews integer Pageviews skaits noteiktajā diapazonā.
generated_at string UTC laika zīmogs, kas norāda, kad dati tika ģenerēti.
pagination object Pieejams tikai dalīšanas lapās režīmā. Visās lapās kopā ir pieejami ne vairāk kā 2000 rakstu.
pagination.limit integer Efektīvais lapas izmērs no 1 līdz 100.
pagination.offset integer Pieprasītās lapas pozīcija, skaitot no nulles.
pagination.total integer Rakstu skaits šajā momentuzņēmumā, nepārsniedzot 2000. Tas nav visu atbilstošo URL skaits bez ierobežojuma.
pagination.max_results integer Maksimālais rakstu skaits vienā momentuzņēmumā: 2000.
pagination.has_more boolean Norāda, vai šajā momentuzņēmumā ir pieejama vēl viena lapa.
pagination.next_offset integer|null Nosūtiet šo vērtību kā offset, lai saņemtu nākamo lapu. Null nozīmē, ka sasniegtas beigas.
pagination.snapshot_id string Nepārskatāms ID nākamajiem pieprasījumiem, izmantojot snapshot parametru. Saistīts ar autentificēto lietotāju un tracker.
pagination.expires_at string Fiksētais derīguma termiņš UTC — 10 minūtes pēc saglabāšanas. Lapu lasīšana to nepagarina.

Datu aktualitāte un kešatmiņa

Pieprasījumiem bez dalīšanas lapās tiek izmantota esošā 60 sekunžu mikrokešatmiņa un vēsturisko datu rezerves avots. Dalīšanas lapās režīmā nemainīgs momentuzņēmums tiek glabāts vietējā Stats Redis 600 sekundes, ar automātisku noilgšanu un bez slīdošas termiņa pagarināšanas. Vienādi viena lietotāja sākuma pieprasījumi 60 sekunžu laikā var atkārtoti izmantot momentuzņēmumu, tādēļ par termiņu jāuzskata expires_at. Turpinājuma pieprasījumi nekad neizveido datus no jauna un kā rezerves risinājumu neizmanto citu momentuzņēmumu.

Kļūdas

HTTP Kods Apraksts
400 site_required Trūkst obligātā site parametra.
401 missing_token Trūkst Authorization galvenes.
401 invalid_token Tokens nav derīgs vai ir atsaukts.
403 site_not_authorized API atslēgai nav piekļuves šim tracker.
429 rate_limit_exceeded Pārsniegts pieprasījumu ātruma ierobežojums.
503 redis_unavailable Reāllaika aizmugursistēma īslaicīgi nav pieejama.
503 clickhouse_unavailable Vēsturiskie dati īslaicīgi nav pieejami.
500 encoding_failed Recap atbildi neizdevās kodēt.
400 invalid_pagination Dalīšanas lapās vaicājuma parametriem jābūt skalārām vērtībām.
400 invalid_offset Offset jābūt veselam skaitlim no 0 līdz 2000.
400 invalid_snapshot Snapshot ID formāts nav derīgs.
400 snapshot_required Offset vērtībām, kas lielākas par nulli, nepieciešams snapshot ID. Sāciet ar offset=0.
400 snapshot_mismatch Priekšiestatījums, datumi vai meklēšanas parametri atšķiras no sākotnējā pieprasījuma.
410 snapshot_expired Momentuzņēmumam beidzies derīguma termiņš vai tas vairs nav pieejams šī lietotāja un tracker kontekstā. Sāciet no jauna ar offset=0, nenorādot snapshot.
503 snapshot_storage_unavailable Momentuzņēmuma krātuvi nevar nolasīt vai tajā nevar ierakstīt. Mēģiniet vēlreiz; esošajam snapshot ID jāpaliek nemainīgam.
503 recap_unavailable Pašlaik nevar izveidot jaunu momentuzņēmumu ar pilnīgiem datiem. Pēc neilga laika mēģiniet vēlreiz.
{
  "error": {
    "code": "invalid_token",
    "message": "Bearer token is invalid or revoked."
  }
}