Vignetim

Obravnava napak (Error Handling)

Partner API uporablja standardne HTTP statusne kode in vrača konsistentne JSON odgovore napak.

Format odgovora napak

Vse napake sledijo tej strukturi:

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

Statusne kode

KodaNapakaOpis
400Bad RequestNeveljavno telo zahteve, manjkajoča zahtevana polja ali neuspešna validacija
401UnauthorizedManjkajoče, neveljavne ali potekle avtentikacijske poverilnice
403ForbiddenVeljavne poverilnice, a nezadostna dovoljenja za to dejanje
404Not FoundZahtevani vir ne obstaja
409ConflictZaznana podvojena zahteva (npr. podvojen ključ idempotentnosti z drugačno vsebino)
429Too Many RequestsPresežena omejitev hitrosti
500Internal Server ErrorNa strežniku je prišlo do nepričakovane napake

Validacijske napake

Pri napakah 400, ki jih povzroči validacija zahteve, lahko polje message vsebuje podrobnosti o tem, katera polja niso uspela pri validaciji:

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

Najboljše prakse

  • Vedno preverite polje statusCode za določitev kategorije napake.
  • Pri napakah 401 preverite svoj API ključ, svežino časovnega žiga (znotraj 5 minut), edinstvenost nonce-a in izračun podpisa.
  • Pri napakah 409 ob ustvarjanju naročila je bilo prvotno naročilo že obdelano. Pridobite ga z uporabo ključa idempotentnosti ali zunanje reference.
  • Pri napakah 500 poskusite znova z eksponentnim povečevanjem zakasnitve. Če napaka vztraja, se obrnite na podporo.