Obsluga bledow
API Partnerskie uzywa standardowych kodow statusow HTTP i zwraca spojne odpowiedzi bledow w formacie JSON.
Format odpowiedzi bledu
Wszystkie bledy maja nastepujaca strukture:
{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}
Kody statusow
| Kod | Blad | Opis |
|---|---|---|
400 | Bad Request | Nieprawidlowa tresc zapytania, brakujace wymagane pola lub blad walidacji |
401 | Unauthorized | Brakujace, nieprawidlowe lub wygasle dane uwierzytelniajace |
403 | Forbidden | Prawidlowe dane uwierzytelniajace, ale niewystarczajace uprawnienia do tej akcji |
404 | Not Found | Zadany zasob nie istnieje |
409 | Conflict | Wykryto zduplikowane zapytanie (np. zduplikowany klucz idempotentnosci z innym payloadem) |
429 | Too Many Requests | Przekroczono limit zapytan |
500 | Internal Server Error | Wystapil nieoczekiwany blad po stronie serwera |
Bledy walidacji
Dla bledow 400 spowodowanych walidacja zapytania, pole message moze zawierac szczegoly dotyczace pol, ktore nie przeszly walidacji:
{
"statusCode": 400,
"message": [
"products.0.productId must be a UUID",
"products.0.startAt must be a valid ISO 8601 date",
"payment.type must be one of: CARD, GOOGLE_PAY, APPLE_PAY, IDEAL, REVOLUT, BANCONTACT"
],
"error": "Bad Request"
}
Najlepsze praktyki
- Zawsze sprawdzaj pole
statusCode, aby okreslic kategorie bledu. - Dla bledow
401zweryfikuj swoj klucz API, aktualnosc znacznika czasu (w zakresie 5 minut), unikalnosc nonce i obliczenie podpisu. - Dla bledow
409przy tworzeniu zamowienia, oryginalne zamowienie zostalo juz przetworzone. Pobierz je za pomoca klucza idempotentnosci lub referencji zewnetrznej. - Dla bledow
500ponow probe z wykladniczym wycofaniem (exponential backoff). Jesli blad sie utrzymuje, skontaktuj sie z supportem.