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
| Koda | Napaka | Opis |
|---|---|---|
400 | Bad Request | Neveljavno telo zahteve, manjkajoča zahtevana polja ali neuspešna validacija |
401 | Unauthorized | Manjkajoče, neveljavne ali potekle avtentikacijske poverilnice |
403 | Forbidden | Veljavne poverilnice, a nezadostna dovoljenja za to dejanje |
404 | Not Found | Zahtevani vir ne obstaja |
409 | Conflict | Zaznana podvojena zahteva (npr. podvojen ključ idempotentnosti z drugačno vsebino) |
429 | Too Many Requests | Presežena omejitev hitrosti |
500 | Internal Server Error | Na 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
statusCodeza določitev kategorije napake. - Pri napakah
401preverite svoj API ključ, svežino časovnega žiga (znotraj 5 minut), edinstvenost nonce-a in izračun podpisa. - Pri napakah
409ob ustvarjanju naročila je bilo prvotno naročilo že obdelano. Pridobite ga z uporabo ključa idempotentnosti ali zunanje reference. - Pri napakah
500poskusite znova z eksponentnim povečevanjem zakasnitve. Če napaka vztraja, se obrnite na podporo.