Синтаксис фільтрів пошуку
Фільтри — це параметри запиту у форматі PHP з квадратними дужками. Ті самі фільтри працюють у /search і /search/count; /cars приймає domains[] і is_leasing.
| Тип | Синтаксис |
|---|---|
| Список ID | fuels[]=2&fuels[]=3 — повторюйте ключ; значення через кому не розділяються |
| Марка + моделі | brands[0][id]=88&brands[0][models][]=573 |
| Кілька марок | brands[0][id]=88&brands[1][id]=13 |
| Діапазон | year_from=2018&year_to=2022 — обидві межі включно |
| Прапорець | has_inspections=1 — надсилайте 1 або 0; true повертає 422 |
| Лізинг | is_leasing=0 — також відповідає оголошенням без прапорця |
| Ціна | price_from=10000¤cy=eur — фільтрує в цій валюті |
| Локація | countries[0][id]=208&countries[0][regions][]=1841610 |
- Категорійні фільтри приймають числові ID. Усі ID див. у розділі Значення enum.
currencyвпливає лише на фільтрацію та сортування за ціною. Ціни оголошень завжди повертаються в початковій валюті.- Для точного VIN використовуйте
/cars/vin/{vin}. Фільтрvinу/searchшукає часткові збіги. - Не передавайте фільтри, які не використовуєте. Порожні значення проходять валідацію і можуть повернути 422.
is_auction приймає true, false, 1 або 0 на /search, /search/count та /cars. False включає false, null і відсутні поля. Без параметра фільтр вимкнено; порожнє або неправильне значення повертає 422. is_auction та is_leasing мають збігатися в одному активному оголошенні доступного/вибраного джерела. Інші оголошення можуть залишатися в listings[]. Для /cars задайте фільтр у першому запиті та дотримуйтеся next_url без змін. Додавання або зміна під час scroll чи явне значення за відсутності стану кешу повертає 422. sort=auction_nearest вимагає auction_at >= now; передавайте той самий sort у /search/count.
Фільтр за типом транспорту й конфігурацією
vehicle_type=automobile / 1 — типово; motorcycle / 2 вибирає мотоцикли в /search, /search/count і /cars. У довідниках використовуйте той самий тип.
Повна вкладеність: brands[] → models[] → generations[] → variants[] / trims[]. У кожного об’єкта бренду, моделі й покоління обов’язковий id. Між сусідами та значеннями variants/trims — АБО; між умовами однієї гілки — І. Відсутній або порожній дочірній список означає будь-яких нащадків. До 100 елементів у масиві. Невідомі або несумісні ID дають порожній результат; неправильний формат — 422.
Попередній brands[0][models][]=573 працює. Для нащадків використовуйте brands[0][models][0][id]=573. Приберіть попереднє поле додавання ID перед об’єктами моделей цього бренду, інакше PHP перезапише індекс 0.
vehicle_type=motorcycle&brands[0][id]=101&brands[0][models][0][id]=201&brands[0][models][0][generations][0][id]=301&brands[0][models][0][generations][0][variants][]=501&brands[0][models][0][generations][0][trims][]=401ID вигадані: замініть значеннями з довідників. Для конкретних пар variant/trim використовуйте окремі гілки поколінь.
Відповіді містять vehicle_type, generation_id, variant_id і trim_id; відсутні необов’язкові ID дорівнюють null. Поля беруть участь у hash. Використовуються лише збережені ID машини: без нормалізованого ID відповідного збігу немає.
У /cars тип і вся ієрархія фіксуються на час прокрутки. Дотримуйтеся next_url без змін або передавайте лише scroll_id. Порядок еквівалентних фільтрів можна змінити; нові умови або явні фільтри без збереженого стану дають 422. Почніть нову прокрутку. Старі курсори без нових параметрів зберігають попередній запит.
Додаткові поля оголошень
Завантажте /listing-fields після перевірки ключа. Визначення, обмеження, оператори й пояснення джерел стосуються лише цього ключа та вибраних доменів.
Рядки: eq, in, exists. Числа й дати також gt, gte, lt, lte. Boolean: eq або exists. Використовуйте eq, in, exists чи діапазон; exists окремо. До 20 полів і 100 значень у in.
Усі умови, вибрані домени й активність мають збігтися в одному оголошенні. Нуль і false є значеннями. Масив збігається за відповідним елементом. Невідомі або недоступні поля/оператори повертають 422.
Фільтрація лише для filterable. Індексовані значення: listings[].custom_fields; решта: listings[].source_data. Публікація вмикає фільтри, наступні звичайні імпорти заповнюють значення. Старі документи окремо не оновлюються.
У /cars умови зберігаються на весь scroll. Несумісне визначення чи втрачене збережене налаштування потребують нового scroll. Сортування й агрегації не підтримуються.
Замініть FIELD_KEY ключем доступного каталогу. Для грошових порівнянь також задайте валюту оголошення; конвертація Buy Now тут не застосовується.
Історичні ринкові оцінки джерела — довідкові неіндексовані значення. Вони описують порівнювані продажі, а не ціну, ставку або резерв цього оголошення. Перевіряйте опис поля, критерії порівняння та дату розрахунку; валюту оголошення підставляти не можна. Зареєстровані числові поля можуть бути null, якщо оцінки немає.
custom_fields[FIELD_KEY][gte]=2
custom_fields[FIELD_KEY][in][]=a&custom_fields[FIELD_KEY][in][]=b
custom_fields[FIELD_KEY][eq]=false
custom_fields[FIELD_KEY][lte]=15000&custom_fields[FIELD_KEY][currency]=cadДодаткові поля оголошень
Підключіть ключ, щоб побачити поля доступних доменів.
curl -g "https://api.auctionsapi.com/search?brands[0][id]=88&brands[0][models][]=573&year_from=2018&fuels[]=1&fuels[]=3&price_to=30000¤cy=eur&has_inspections=1&sort=newest&perPage=20&api_key=$CARS_API_KEY" \
-H "Accept: application/json"Отримайте доступ до API
Підключіть ключ, щоб виконувати будь-який запит із цих сторінок на своїх даних. Ключа ще немає? Попросіть у нас демо-ключ: той самий JSON, що й у платних планах.