Skip to Content
TypyPaginacja

Paginacja

Endpointy zwracające listę (tablicę w polu data) stronicują wyniki. Rozmiar strony i numer strony sterujesz parametrami żądania limit i page, a metadane bieżącego wycinka znajdziesz w polu pagination odpowiedzi.

Koperta paginacji jest spójna w całym API i została potwierdzona na żywym produkcyjnym API (api.senuto.com) na kilkudziesięciu endpointach. Akcje zwracające pojedynczy obiekt (np. dashboardy, wykresy) nie zawierają pola pagination.

Parametry żądania

NameTypeDefault
limitnumber

Rozmiar strony — liczba wierszy w data. Nieujemna liczba całkowita. Maksimum zależy od endpointu (często maxLimit = 100).

10
pagenumber

Numer strony (liczony od 1). Nieujemna liczba całkowita.

1

limit i page są opcjonalne, ale walidowane — np. przy wartościach spoza dozwolonego zakresu endpoint zwróci 418. W raportach Bazy słów kluczowych oba pola bywają przyjmowane, lecz bez efektu (akcja zwraca pojedynczy obiekt) — sprawdzaj stronę konkretnego endpointu.

Pole pagination w odpowiedzi

NameTypeDefault
page_countnumber

Łączna liczba stron dla bieżących kryteriów

current_pagenumber

Numer bieżącej strony

has_next_pageboolean

Czy istnieje kolejna strona

has_prev_pageboolean

Czy istnieje poprzednia strona

countnumber

Łączna liczba wierszy spełniających kryteria (przed stronicowaniem)

limitnumber

Rozmiar strony użyty w tym żądaniu

Pułapki typów. W części endpointów pagination.count bywa zwracane jako string (np. "94"), a nie liczba — np. w Monitoringu (rank_tracker). Rzutuj wartość po stronie klienta. Sporadycznie page_count bywa niespójne przy count: 0 (np. 1 zamiast 0) — traktuj has_next_page jako źródło prawdy o kolejnej stronie.

Przykład

fragment odpowiedzi
{ "success": true, "data": [ /* wiersze bieżącej strony */ ], "pagination": { "page_count": 97041, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 291121, "limit": 10 } }

Iterowanie po wszystkich stronach

Zwiększaj pagehas_next_page będzie false. Wzorzec:

pętla stronicowania (pseudokod)
// page = 1 // dopóki true: // wyślij żądanie z { ...params, page, limit } // przetwórz odpowiedź.data // jeśli odpowiedź.pagination.has_next_page == false → przerwij // page += 1

Aby ograniczyć liczbę żądań, ustaw limit na maksimum wspierane przez endpoint (często 100). Zwróć uwagę na limity konta — patrz Limity zapytań.

Ostatnia aktualizacja: