Vignetim

Zpracování chyb (Error Handling)

Partner API používá standardní HTTP stavové kódy a vrací konzistentní JSON chybové odpovědi.

Formát chybové odpovědi

Všechny chyby mají tuto strukturu:

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

Stavové kódy

KódChybaPopis
400Bad RequestNeplatné tělo požadavku, chybějící povinná pole nebo selhání validace
401UnauthorizedChybějící, neplatné nebo prošlé ověřovací údaje
403ForbiddenPlatné přihlašovací údaje, ale nedostatečná oprávnění pro tuto akci
404Not FoundPožadovaný zdroj neexistuje
409ConflictZjištěn duplicitní požadavek (např. duplicitní klíč idempotence s jiným payloadem)
429Too Many RequestsPřekročen limit požadavků
500Internal Server ErrorNa serveru došlo k neočekávané chybě

Validační chyby

U chyb 400 způsobených validací požadavku může pole message obsahovat podrobnosti o tom, která pole neprošla validací:

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

Osvědčené postupy

  • Vždy zkontrolujte pole statusCode pro určení kategorie chyby.
  • U chyb 401 ověřte svůj API klíč, aktuálnost časového razítka (do 5 minut), jedinečnost nonce a výpočet podpisu.
  • U chyb 409 při vytváření objednávky byla původní objednávka již zpracována. Načtěte ji pomocí klíče idempotence nebo externí reference.
  • U chyb 500 opakujte s exponenciální prodlevou. Pokud chyba přetrvává, kontaktujte podporu.