DolaPay Developers
Codes & Erreurs
DolaPay utilise les codes de statut HTTP standards pour indiquer le succès ou l'échec d'une requête API. Le corps de la réponse contiendra toujours un JSON prévisible.
Réponses de Succès (200 OK)
Toutes les requêtes réussies retournent un code HTTP 200 OK ou 201 Created. L'objet JSON retourné contient toujours les propriétés status: "success", un message explicatif, et les données pertinentes dans l'objet data.
javascript
// Toutes les réponses réussies (HTTP 200/201) suivent cette structure JSON :
{
"status": "success",
"message": "Texte descriptif du succès",
"data": {
// L'objet principal (Session, Transaction, etc.)
}
}Gestion des Erreurs (4xx, 5xx)
En cas d'échec de la requête, l'API retourne un code HTTP de la famille 4xx (erreur client, ex: paramètre manquant) ou 5xx (erreur serveur). Le corps de la réponse contiendra toujours la propriété status: "error" et un error_code technique que vous pouvez traiter dans votre code.
Codes HTTP standards
| Code HTTP | Signification |
|---|---|
| 200 - 201 | Succès. La requête a été traitée sans problème. |
| 400 | Bad Request. Les paramètres fournis sont manquants ou invalides (ex: format du numéro de téléphone incorrect, montant invalide). |
| 401 | Unauthorized. Votre clé d'API (Authorization: Bearer ...) est manquante, invalide, ou a été révoquée. |
| 402 | Payment Required. Le compte marchand n'a pas assez de fonds (particulièrement utilisé pour les API de décaissement). |
| 404 | Not Found. La ressource demandée n'existe pas (ex: vous essayez de récupérer une session_id qui n'existe pas). |
| 429 | Too Many Requests. Rate limit dépassé. Vous effectuez trop de requêtes par seconde. Veuillez ralentir vos appels. |
| 500 - 504 | Server Error. Une erreur s'est produite du côté de DolaPay ou de l'opérateur mobile (MTN/Wave...). Ces erreurs sont généralement temporaires, vous pouvez réessayer la requête (Retry). |
Format d'erreur JSON
javascript
try {
const response = await apiCall();
} catch (error) {
// En cas d'erreur HTTP 400 ou 500, la réponse JSON est :
console.log(error.response.status); // 400
console.log(error.response.data.error_code); // "invalid_phone_number"
console.log(error.response.data.message); // "Le numéro de téléphone est invalide."
}