Странициране
Три вида списъци използват три стила на странициране. Избирайте ендпойнта според това, от което имате нужда, а не само според набора от филтри.
| Номера на страници | Курсор за обхождане | Курсор по ID | |
|---|---|---|---|
| Ендпойнти | /search, /car-options | /cars | /countries, /locations |
| Заявка | page, perPage | Следвайте next_url | after_id, per_page |
| Размер на страницата | 2–50, по подразбиране 50 | 1–500, по подразбиране 500 | 1–1,000, по подразбиране 100 |
| Лимит на дълбочината | page × perPage ≤ 10,000 | Няма, курсорът живее 1–15 мин | Няма |
| Спрете, когато | links.next е null | scroll_id е null | meta.has_more е false |
| Използва се за | Търсене за потребители | Пълна синхронизация на инвентара | Синхронизиране на речници |
Две особености на /search, които трябва да обработите в кода. data може да съдържа с един автомобил повече от perPage (видяхме 3 автомобила при perPage=2), затова отрежете от страна на клиента, ако ви трябва точен размер. А meta.total спира на 10,000: третирайте тази стойност като „10,000 или повече“ и извикайте /search/count със същите филтри за точния брой.
Речници за автомобили и мотоциклети
Без vehicle_type се връщат автомобили; motorcycle / 2 избира мотоциклети. Запазвайте типа на всяка стъпка.
per_page е 1–100, по подразбиране 100. Използвайте page или after_id, не и двете. За страници: page × per_page ≤ 10000. За пълен обход подавайте next_after_id като after_id без page до has_more=false. Тогава total брои оставащите съвпадения.
Без пагинация /brands и /models запазват старите масиви и лимити. Изпратете per_page=100 за {data,meta}. Вложените generations запазват {name,from,to}; ID на поколенията са в /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
}
}Вземете достъп до API
Свържете ключа си, за да изпълнявате всяка заявка от тези страници с вашите данни. Още нямате ключ? Поискайте ни демо ключ: същият JSON като в платените планове.