CarStat.dev
Първи стъпки

Грешки

Кодовете на състоянието следват семантиката на HTTP. Тялото е JSON в една от три форми, затова четете полето, което присъства, вместо да разчитате на едно-единствено.

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

Форми на тялото

ФормаИзползва се за
{"error": "…"}Грешки при достъп и търсене. Често връща контекст като car_id, vin, domain_id или ip.
{"errors": {"field": ["…"]}}Валидация. message присъства при някои ендпойнти и липсва при други. Съобщенията следват lang.
{"message": "…"}Грешки при лимитите на експорта (с your_value и default_value) и грешки на фреймуърка.

За публичните маршрути няма фиксиран лимит на заявки в минута, но лимитите на акаунта и на upstream услугите все пак може да важат. Винаги спазвайте 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."
    ]
  }
}