business-api/Erreurs

Erreurs

Comprenez le format d’erreur stable et les codes renvoyés par l’API YAOKA.

Format commun

Les erreurs utilisent toujours la même enveloppe. field est présent lorsqu’un champ précis est en cause.

{
  "error": {
    "code": "validation_error",
    "message": "Invalid request body.",
    "field": "lines",
    "requestId": "req_01J..."
  }
}

Conservez error.requestId dans vos logs applicatifs. Ne journalisez jamais la clé API ni les données sensibles du document.

Codes stables

HTTPCodeSignification
401auth_requiredAucune clé API n’a été envoyée.
401auth_invalidClé invalide, expirée ou révoquée.
401auth_wrong_scopeClé incompatible avec le mode ou l’organisation demandée.
403insufficient_scopeLa clé ne possède pas le scope demandé.
404not_foundRessource absente ou inaccessible dans cette organisation.
400validation_errorParamètre, query ou corps invalide.
409conflictConflit, notamment une réutilisation incorrecte d’une clé d’idempotence.
409business_rule_violationL’opération contredit l’état métier de la ressource.
429rate_limitedLimite d’appels atteinte.
500internal_errorErreur interne YAOKA.
502pennylane_unreachablePennylane n’a pas pu être joint.

Stratégie de retry

  • Ne retentez pas automatiquement les erreurs 400, 401, 403, 404 ou 409 sans corriger la cause.
  • Pour 429, attendez le nombre de secondes indiqué dans Retry-After.
  • Pour 500 et 502, appliquez un backoff exponentiel avec jitter.
  • Pour un POST idempotent après un timeout ou une erreur serveur, réutilisez exactement la même Idempotency-Key.