Paginacja
Trzy rodzaje list używają trzech stylów paginacji. Wybieraj endpoint według tego, czego potrzebujesz, a nie tylko według zestawu filtrów.
| Numery stron | Kursor przewijania | Kursor ID | |
|---|---|---|---|
| Endpointy | /search, /car-options | /cars | /countries, /locations |
| Żądanie | page, perPage | Podążaj za next_url | after_id, per_page |
| Rozmiar strony | 2–50, domyślnie 50 | 1–500, domyślnie 500 | 1–1000, domyślnie 100 |
| Limit głębokości | page × perPage ≤ 10 000 | Brak, kursor żyje 1–15 min | Brak |
| Zakończ, gdy | links.next ma wartość null | scroll_id ma wartość null | meta.has_more ma wartość false |
| Zastosowanie | Wyszukiwanie dla użytkowników | Synchronizacja całej oferty | Synchronizacja słowników |
Dwie osobliwości /search, które trzeba obsłużyć w kodzie. data może zawierać o jeden samochód więcej niż perPage (widzieliśmy 3 samochody dla perPage=2), więc przytnij wynik po stronie klienta, jeśli potrzebujesz dokładnego rozmiaru. Ponadto meta.total zatrzymuje się na 10 000: traktuj tę wartość jako "10 000 lub więcej" i wywołaj /search/count z tymi samymi filtrami, aby uzyskać dokładną liczbę.
Słowniki samochodów i motocykli
Bez vehicle_type zwracane są samochody; motorcycle / 2 wybiera motocykle. Zachowaj typ na każdym kroku.
per_page wynosi 1–100, domyślnie 100. Użyj page lub after_id, nigdy obu. Dla stron: page × per_page ≤ 10000. Dla pełnego przeglądu podawaj next_after_id jako after_id bez page do has_more=false. Wtedy total liczy pozostałe wyniki.
Bez paginacji /brands i /models zachowują poprzednie tablice i limity. Podaj per_page=100 dla {data,meta}. Zagnieżdżone generations zachowują {name,from,to}; ID generacji są w /generations/{model_id}.
{
"links": {
"first": "https://api.carstat.dev/search?perPage=2&page=1",
"last": "https://api.carstat.dev/search?perPage=2&page=5000",
"prev": null,
"next": "https://api.carstat.dev/search?perPage=2&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5000,
"path": "https://api.carstat.dev/search",
"per_page": 2,
"to": 3,
"total": 10000
}
}{
"data": [
"…3 countries…"
],
"meta": {
"per_page": 3,
"has_more": true,
"next_after_id": 3
}
}Uzyskaj dostęp do API
Podłącz klucz, aby uruchamiać każde zapytanie z tych stron na własnych danych. Nie masz jeszcze klucza? Poproś nas o klucz demo: ten sam JSON co w planach płatnych.