Vignetim

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

KodBladOpis
400Bad RequestNieprawidlowa tresc zapytania, brakujace wymagane pola lub blad walidacji
401UnauthorizedBrakujace, nieprawidlowe lub wygasle dane uwierzytelniajace
403ForbiddenPrawidlowe dane uwierzytelniajace, ale niewystarczajace uprawnienia do tej akcji
404Not FoundZadany zasob nie istnieje
409ConflictWykryto zduplikowane zapytanie (np. zduplikowany klucz idempotentnosci z innym payloadem)
429Too Many RequestsPrzekroczono limit zapytan
500Internal Server ErrorWystapil 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 401 zweryfikuj swoj klucz API, aktualnosc znacznika czasu (w zakresie 5 minut), unikalnosc nonce i obliczenie podpisu.
  • Dla bledow 409 przy tworzeniu zamowienia, oryginalne zamowienie zostalo juz przetworzone. Pobierz je za pomoca klucza idempotentnosci lub referencji zewnetrznej.
  • Dla bledow 500 ponow probe z wykladniczym wycofaniem (exponential backoff). Jesli blad sie utrzymuje, skontaktuj sie z supportem.