Pierwsze kroki
Błędy
Kody statusu są zgodne z semantyką HTTP. Treść to JSON w jednym z trzech kształtów, więc odczytuj pole, które jest obecne, zamiast polegać na jednym.
| Status | Znaczenie | Ponawiać? |
|---|---|---|
200 | Sukces. Pusty wynik to nadal 200 z data: [] lub count: 0. | — |
400 | Wyszukiwarka odrzuciła zapytanie albo limit/scroll_time eksportu przekracza maksimum. | Nie, popraw żądanie |
403 | Problem z kluczem, subskrypcją, IP lub dostępem do źródła. Także nieprawidłowy kursor eksportu. | Nie |
404 | Nie znaleziono pojazdu, ogłoszenia lub wpisu słownika w zakresie Twoich źródeł albo kursor eksportu wygasł. | Nie |
422 | Walidacja nie powiodła się. errors wskazuje każde pole. | Nie, popraw pola |
503 | Wyszukiwanie jest chwilowo niedostępne. Respektuj Retry-After (w sekundach). | Tak, po odczekaniu |
429 / 5xx | Awaria usługi nadrzędnej lub infrastruktury. Treść może być w HTML. | Tak, z ograniczonym backoffem |
Kształty treści
| Kształt | Zastosowanie |
|---|---|
{"error": "…"} | Błędy dostępu i wyszukiwania. Często zwraca kontekst, np. car_id, vin, domain_id lub ip. |
{"errors": {"field": ["…"]}} | Walidacja. message występuje w niektórych endpointach, a w innych go brak. Komunikaty są zgodne z lang. |
{"message": "…"} | Błędy limitów eksportu (z your_value i default_value) oraz awarie frameworka. |
Publiczne trasy nie mają stałego limitu żądań na minutę, ale nadal mogą obowiązywać limity konta i usług nadrzędnych. Zawsze respektuj Retry-After, jeśli jest obecny.
Obsługa błędów z ponawianiem
# --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=1Na żywo
{
"errors": {
"perPage": [
"The per page field must be at least 2."
]
}
}