Vignetim

Foutafhandeling (Error Handling)

De Partner API gebruikt standaard HTTP-statuscodes en retourneert consistente JSON-foutantwoorden.

Foutantwoordformaat

Alle fouten volgen deze structuur:

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

Statuscodes

CodeFoutBeschrijving
400Bad RequestOngeldig verzoeklichaam, ontbrekende verplichte velden of validatiefout
401UnauthorizedOntbrekende, ongeldige of verlopen authenticatiegegevens
403ForbiddenGeldige inloggegevens maar onvoldoende rechten voor deze actie
404Not FoundDe gevraagde bron bestaat niet
409ConflictDubbel verzoek gedetecteerd (bijv. dubbele idempotentiesleutel met andere payload)
429Too Many RequestsSnelheidslimiet overschreden
500Internal Server ErrorEr is een onverwachte fout opgetreden op de server

Validatiefouten

Bij 400-fouten veroorzaakt door verzoekvalidatie kan het message-veld details bevatten over welke velden de validatie niet hebben doorstaan:

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

Beste praktijken

  • Controleer altijd het statusCode-veld om de foutcategorie te bepalen.
  • Bij 401-fouten, controleer uw API-sleutel, tijdstempelversheid (binnen 5 minuten), nonce-uniciteit en handtekeningberekening.
  • Bij 409-fouten bij het aanmaken van een bestelling is de oorspronkelijke bestelling al verwerkt. Haal deze op met de idempotentiesleutel of externe referentie.
  • Bij 500-fouten, probeer opnieuw met exponentiële vertraging (exponential backoff). Als de fout aanhoudt, neem contact op met de ondersteuning.