L'API Alma utilise les codes d'erreur suivants :

Code d'erreurSignification
400Bad Request - Un paramètre est manquant ou invalide.
401Unauthorized - La clé d'API est invalide.
402Payment Required - Requête valide mais problème au niveau du paiement, le plus souvent dû à un refus de la banque du client.
404Not Found - La ressource demandée n'existe pas. Vérifiez que vous utilisez la bonne clé d'API et la bonne méthode HTTP.
429Too Many Requests - Trop de requêtes sur une courte période, indiquant souvent un problème d'implémentation côté client.
500, 502Internal Server Error - Il y a un problème côté Alma, et nous avons été avertis. Arrive rarement !

Erreurs 400

Les erreurs 400 sont aussi appelées erreurs de validation et indiquent que les données envoyées lors d'un appel API ne sont pas valides. Cela peut être dû à une URL invalide, une chaîne de caractères trop longue, un champ booléen là où un nombre est attendu etc.

ChampTypeDescription
error_codestringEgal à "validation_error"
errorslistListe des erreurs de validation
errors.fieldstringNom du champ dont la valeur est incorrecte
errors.error_codestringCode d'erreur, parmi missing_field, invalid_type, invalid_value, too_short, too_long, too_many_requests, unique_violated, merchant_cant_create_payments, incompatible_parameters, unauthorized, generic_error
errors.valuevariable (optionnel)Valeur envoyée considérée comme incorrecte
errors.messagestring (optionnel)Message explicatif

Exemple d'erreur 400 (cas d'une URL invalide) :

{
  "error_code": "validation_error",
  "errors": [
    {
      "error_code": "invalid_value",
      "field": "website",
      "message": "Site web doit être une addresse Web valide",
      "value": "google"
    }
  ]
}

Erreurs 402

Une erreur 402 indique un problème avec le paiement lui-même, le plus souvent un rejet de la banque. Les autres causes possibles sont une erreur sur la carte entrée (par exemple mauvaise date d'expiration) ou une erreur lors de la vérification 3D secure.

ChampTypeDescription
classstringEgal à "payment_error"
error_codestringCode d'erreur, parmi card_declined, invalid_amount, three_d_s_impossible, incorrect_cvc, incorrect_expiration_date, incorrect_number, insufficient_funds, expired_card, missing_field, invalid_value
messagestring (optionnel)Message explicatif

Exemple d'erreur 402 (paiement rejeté par la banque) :

{
  "class": "payment_error",
  "error_code": "insufficient_funds",
  "message": "Card rejected by the bank"
}

Erreurs 404

Une erreur 404 indique que la ressource demandée n'existe pas. Il est à noter que si l'objet que vous cherchez existe mais est demandé par un autre marchand que son propriétaire, une erreur 404 est renvoyée. Ainsi, si vous êtes étonné de recevoir une erreur 404, pensez à vérifier que vous effectuez vos requêtes sur le bon environnement (production vs sandbox).

Exemple d'erreur 404 :

{
  "message": "Not found"
}