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

Code d'erreur

Signification

400

Bad Request - Un paramètre est manquant ou invalide.

401

Unauthorized - La clé d'API est invalide.

402

Payment Required - Requête valide mais problème au niveau du paiement, le plus souvent dû à un refus de la banque du client.

404

Not Found - La ressource demandée n'existe pas. Vérifiez que vous utilisez la bonne clé d'API et la bonne méthode HTTP.

429

Too Many Requests - Trop de requêtes sur une courte période, indiquant souvent un problème d'implémentation côté client.

500, 502

Internal 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.

Champ

Type

Description

error_code

string

Egal à "validation_error"

errors

list

Liste des erreurs de validation

errors.field

string

Nom du champ dont la valeur est incorrecte

errors.error_code

string

Code 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.value

variable (optionnel)

Valeur envoyée considérée comme incorrecte

errors.message

string (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.

Champ

Type

Description

class

string

Egal à "payment_error"

error_code

string

Code 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

message

string (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"
}