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
| Code | Signification |
|---|---|
200 | Succès |
201 | Créé avec succès |
204 | Supprimé avec succès (pas de contenu) |
400 | Requête invalide |
401 | Non authentifié |
402 | Crédits insuffisants |
403 | Accès interdit |
404 | Ressource introuvable |
409 | Conflit (doublon) |
422 | Données invalides |
429 | Trop de requêtes (rate limit) |
500 | Erreur serveur interne |
503 | Service temporairement indisponible |
Erreurs d'authentification (401)
| Code | Description |
|---|---|
MISSING_API_KEY | Header Authorization absent |
INVALID_API_KEY | Clé API invalide ou révoquée |
EXPIRED_API_KEY | Clé API expirée |
INVALID_TOKEN_FORMAT | Format du token Bearer incorrect |
Erreurs d'autorisation (403)
| Code | Description |
|---|---|
INSUFFICIENT_SCOPE | Permissions insuffisantes |
ORGANIZATION_MISMATCH | Ressource appartient à une autre organisation |
DEPARTMENT_ACCESS_DENIED | Accès au département refusé |
Erreurs de paiement (402)
| Code | Description |
|---|---|
INSUFFICIENT_CREDITS | Crédits insuffisants pour l'opération |
CREDIT_CHECK_FAILED | Échec de la vérification des crédits |
PAYMENT_REQUIRED | Paiement requis pour continuer |
Erreurs de validation (400, 422)
| Code | Description |
|---|---|
INVALID_REQUEST | Requête malformée |
MISSING_REQUIRED_FIELD | Champ requis manquant |
INVALID_FIELD_VALUE | Valeur de champ invalide |
INVALID_DATE_TIME | Format de date/heure incorrect |
INVALID_PHONE_NUMBER | Numéro de téléphone invalide |
INVALID_EMAIL | Email invalide |
Erreurs de ressource (404, 409)
| Code | Description |
|---|---|
APPOINTMENT_NOT_FOUND | Rendez-vous introuvable |
DEPARTMENT_NOT_FOUND | Département introuvable |
USER_NOT_FOUND | Utilisateur introuvable |
SLOT_NOT_AVAILABLE | Créneau non disponible |
DUPLICATE_APPOINTMENT | Rendez-vous en doublon |
Erreurs de rate limit (429)
| Code | Description |
|---|---|
RATE_LIMIT_EXCEEDED | Limite de requêtes dépassée |
TOO_MANY_REQUESTS | Trop de requêtes dans la fenêtre |
Headers inclus dans la réponse 429 :
X-RateLimit-Limit: Limite par heureX-RateLimit-Remaining: Requêtes restantesX-RateLimit-Reset: Timestamp de réinitialisation
Erreurs serveur (500, 503)
| Code | Description |
|---|---|
INTERNAL_SERVER_ERROR | Erreur interne du serveur |
DATABASE_ERROR | Erreur de base de données |
SERVICE_UNAVAILABLE | Service temporairement indisponible |
MAINTENANCE_MODE | Mode 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