Първи стъпки
Грешки
Кодовете на състоянието следват семантиката на 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."
]
}
}