Aller au contenu principal

Référence des codes d'erreur

Liste complète des codes d'erreur de l'API MONCRENEAU.

Structure des erreurs​

Toutes les erreurs suivent ce format :

{
"error": {
"code": "INVALID_API_KEY",
"message": "La clé API fournie est invalide",
"details": {
"field": "X-API-Key",
"value": "mk_xxx"
}
}
}

Codes HTTP​

CodeSignification
200Succès
201Créé avec succès
204Supprimé avec succès (pas de contenu)
400Requête invalide
401Non authentifié
402Crédits insuffisants
403Accès interdit
404Ressource introuvable
409Conflit (doublon)
422Données invalides
429Trop de requêtes (rate limit)
500Erreur serveur interne
503Service temporairement indisponible

Erreurs d'authentification (401)​

CodeDescription
MISSING_API_KEYHeader X-API-Key absent
INVALID_API_KEY_FORMATFormat de la clé API incorrect (doit commencer par mk_live_ ou mk_test_)
INVALID_API_KEYClé API invalide, expirée ou révoquée

Erreurs d'autorisation (403)​

CodeDescription
INSUFFICIENT_SCOPEPermissions insuffisantes
ORGANIZATION_MISMATCHRessource appartient à une autre organisation
DEPARTMENT_ACCESS_DENIEDAccès au département refusé

Erreurs de paiement (402)​

CodeDescription
INSUFFICIENT_CREDITSCrédits insuffisants pour l'opération
CREDIT_CHECK_FAILEDÉchec de la vérification des crédits
PAYMENT_REQUIREDPaiement requis pour continuer

Erreurs de validation (400, 422)​

CodeDescription
INVALID_REQUESTRequête malformée
MISSING_REQUIRED_FIELDChamp requis manquant
INVALID_FIELD_VALUEValeur de champ invalide
INVALID_DATE_TIMEFormat de date/heure incorrect
INVALID_PHONE_NUMBERNuméro de téléphone invalide
INVALID_EMAILEmail invalide

Erreurs de ressource (404, 409)​

CodeDescription
APPOINTMENT_NOT_FOUNDRendez-vous introuvable
DEPARTMENT_NOT_FOUNDDépartement introuvable
USER_NOT_FOUNDUtilisateur introuvable
SLOT_NOT_AVAILABLECréneau non disponible
DUPLICATE_APPOINTMENTRendez-vous en doublon

Erreurs de rate limit (429)​

CodeDescription
RATE_LIMIT_EXCEEDEDLimite de requêtes dépassée
TOO_MANY_REQUESTSTrop de requêtes dans la fenêtre

Headers inclus dans la réponse 429 :

  • X-RateLimit-Limit: Limite par heure
  • X-RateLimit-Remaining: Requêtes restantes
  • X-RateLimit-Reset: Timestamp de réinitialisation

Erreurs serveur (500, 503)​

CodeDescription
INTERNAL_SERVER_ERRORErreur interne du serveur
DATABASE_ERRORErreur de base de données
SERVICE_UNAVAILABLEService temporairement indisponible
MAINTENANCE_MODEMode maintenance actif

Gestion des erreurs​

try {
const response = await fetch('https://mc-prd.duckdns.org/api/v1/appointments', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify(appointmentData)
});

if (!response.ok) {
const error = await response.json();

if (error.code === 'INSUFFICIENT_CREDITS') {
// Rediriger vers la page de paiement
window.location.href = '/credits/purchase';
} else if (error.code === 'SLOT_NOT_AVAILABLE') {
// Proposer un autre créneau
showAlternativeSlots();
} else {
// Afficher l'erreur à l'utilisateur
showError(error.message);
}
}
} catch (err) {
console.error('Erreur réseau:', err);
}

Voir aussi : Gestion des erreurs