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": "Authorization",
"value": "Bearer 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 Authorization absent
INVALID_API_KEYClé API invalide ou révoquée
EXPIRED_API_KEYClé API expirée
INVALID_TOKEN_FORMATFormat du token Bearer incorrect

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: {
'Authorization': 'Bearer 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