Fouten

Fouten

Elke fout heeft dezelfde structuur, een duidelijke code en een leesbare uitleg.

De foutstructuur

json
{
  "error": {
    "code": "validation_failed",
    "message": "The request contains invalid fields.",
    "details": [
      {
        "field": "type",
        "code": "invalid_value",
        "message": "Must be one of: company, private."
      }
    ]
  }
}

code is stabiel en bedoeld voor je code: daar schakel je op. message is bedoeld voor mensen en kan veranderen. details verschijnt bij validatiefouten en wijst per veld aan wat er mis is. Optioneel kan request_id meegestuurd worden.

HTTP-statuscodes

StatusBetekenis
200Gelukt
201Aangemaakt
204Verwijderd of succes zonder inhoud (o.a. product delete)
401Geen of ongeldige API-key
403Key mist de benodigde scope of module-toegang
404Object bestaat niet of hoort niet bij jouw omgeving
409Conflict (bijv. actor of module-voorwaarde)
422Validatiefout, verkeerd Content-Type of ongeldige JSON
429Te veel requests, zie Rate limits
500Fout aan onze kant. Probeer het later opnieuw

Error-codes

Veelvoorkomende codes:

CodeUitleg
validation_failedValidatie mislukt; zie details per veld
invalid_content_typeContent-Type is niet application/json waar dat verplicht is
not_found / *_not_foundResource niet gevonden
rate_limitedRate limit overschreden (429)
actor_requiredConflict: actor ontbreekt waar die verplicht is
online_payments_disabledConflict: online betalingen staan uit
incasso_disabledConflict: incasso staat uit
mandate_already_verifiedConflict: mandaat is al geverifieerd

Zo ga je met fouten om

  • Schakel op error.code, nooit op message.
  • Toon bij een 422 de details aan je gebruiker: die zijn er precies voor.
  • Bij een 500 of timeout: probeer opnieuw met dezelfde Idempotency-Key.