Vignetim

Gestion des erreurs (Error Handling)

L'API Partenaire utilise les codes de statut HTTP standards et retourne des reponses d'erreur JSON coherentes.

Format des reponses d'erreur

Toutes les erreurs suivent cette structure :

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

Codes de statut

CodeErreurDescription
400Bad RequestCorps de requete invalide, champs obligatoires manquants ou echec de validation
401UnauthorizedIdentifiants d'authentification manquants, invalides ou expires
403ForbiddenIdentifiants valides mais permissions insuffisantes pour cette action
404Not FoundLa ressource demandee n'existe pas
409ConflictRequete en doublon detectee (par ex., cle d'idempotence en doublon avec une charge utile differente)
429Too Many RequestsLimite de debit depassee
500Internal Server ErrorUne erreur inattendue s'est produite sur le serveur

Erreurs de validation

Pour les erreurs 400 causees par la validation de la requete, le champ message peut contenir des details sur les champs ayant echoue a la validation :

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

Bonnes pratiques

  • Verifiez toujours le champ statusCode pour determiner la categorie de l'erreur.
  • Pour les erreurs 401, verifiez votre cle API, la fraicheur de l'horodatage (dans les 5 minutes), l'unicite du nonce et le calcul de la signature.
  • Pour les erreurs 409 lors de la creation de commande, la commande originale a deja ete traitee. Recuperez-la en utilisant la cle d'idempotence ou la reference externe.
  • Pour les erreurs 500, reessayez avec un backoff exponentiel (exponential backoff). Si l'erreur persiste, contactez le support.