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