Vignetim

Klaidų apdorojimas

Partnerių API (Partner API) naudoja standartinius HTTP būsenos kodus ir grąžina nuoseklius JSON klaidų atsakymus.

Klaidų atsakymo formatas

Visos klaidos atitinka šią struktūrą:

{
	"statusCode": 400,
	"message": "Validation failed",
	"error": "Bad Request"
}

Būsenos kodai

KodasKlaidaAprašymas
400Bad RequestNetinkamas užklausos turinys, trūkstami privalomi laukai arba validacijos klaida
401UnauthorizedTrūkstami, neteisingi arba pasibaigę autentifikacijos kredencialai
403ForbiddenTeisingi kredencialai, bet nepakankamos teisės šiam veiksmui
404Not FoundPrašomas išteklius neegzistuoja
409ConflictAptikta dubliuota užklausa (pvz., dubliuotas idempotency raktas su skirtingais duomenimis)
429Too Many RequestsViršytas užklausų limitas
500Internal Server ErrorServeryje įvyko netikėta klaida

Validacijos klaidos

400 klaidoms, kurias sukelia užklausos validacija, message laukas gali turėti informaciją apie tai, kurie laukai nepraeina validacijos:

{
	"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"
}

Geriausia praktika

  • Visada tikrinkite statusCode lauką, kad nustatytumėte klaidos kategoriją.
  • 401 klaidoms patikrinkite savo API raktą, laiko žymos aktualumą (ne senesnė nei 5 minutės), nonce unikalumą ir parašo skaičiavimą.
  • 409 klaidoms kuriant užsakymą — pradinis užsakymas jau buvo apdorotas. Gaukite jį naudodami idempotency raktą arba išorinę nuorodą.
  • 500 klaidoms bandykite pakartotinai su eksponentiniu atsitraukimu (exponential backoff). Jei klaida kartojasi, kreipkitės į palaikymo tarnybą.