CarStat.dev
Підключити ключ
Початок роботи

Помилки

Коди статусу відповідають семантиці HTTP. Тіло — це JSON в одному з трьох форматів, тож читайте те поле, яке присутнє, а не покладайтеся на одне.

СтатусЗначенняПовторювати?
200Успіх. Порожній результат — теж 200 з data: [] або count: 0.—
400Пошуковий рушій відхилив запит, або limit/scroll_time експорту перевищує максимум.Ні, виправте запит
403Проблема з ключем, підпискою, IP або доступом до джерела. Також недійсний курсор експорту.Ні
404Автомобіль, оголошення чи запис довідника не знайдено у ваших джерелах, або курсор експорту прострочено.Ні
422Помилка валідації. errors називає кожне поле.Ні, виправте поля
503Пошук тимчасово недоступний. Дотримуйтеся Retry-After (у секундах).Так, після затримки
429 / 5xxЗбій вищестоящого сервісу чи інфраструктури. Тіло може бути HTML.Так, з обмеженою затримкою між спробами

Формати тіла

ФорматВикористовується для
{"error": "…"}Помилки доступу й пошуку. Часто повторює контекст, наприклад car_id, vin, domain_id або ip.
{"errors": {"field": ["…"]}}Валідація. message присутнє на одних ендпоінтах і відсутнє на інших. Повідомлення відповідають lang.
{"message": "…"}Помилки лімітів експорту (з your_value і default_value) та збої фреймворку.

На публічних маршрутах немає фіксованого ліміту запитів на хвилину, але ліміти акаунта та вищестоящих сервісів усе одно можуть діяти. Завжди дотримуйтеся Retry-After, якщо він присутній.

Обробка помилок із повторними спробами
# --retry repeats 429 and 5xx responses and honors Retry-After.
# --fail-with-body exits non-zero on 4xx/5xx but still prints the JSON.
curl -sg --fail-with-body --retry 3 \
  "https://api.lotarius.com/search?perPage=1&api_key=$CARS_API_KEY" \
  -H "Accept: application/json"
422 · perPage=1Наживо
{
  "errors": {
    "perPage": [
      "The per page field must be at least 2."
    ]
  }
}