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
| Code | Fout | Beschrijving |
|---|---|---|
400 | Bad Request | Ongeldig verzoeklichaam, ontbrekende verplichte velden of validatiefout |
401 | Unauthorized | Ontbrekende, ongeldige of verlopen authenticatiegegevens |
403 | Forbidden | Geldige inloggegevens maar onvoldoende rechten voor deze actie |
404 | Not Found | De gevraagde bron bestaat niet |
409 | Conflict | Dubbel verzoek gedetecteerd (bijv. dubbele idempotentiesleutel met andere payload) |
429 | Too Many Requests | Snelheidslimiet overschreden |
500 | Internal Server Error | Er 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.