Skip to main content

Gestion des Erreurs

Le SDK Python Smartbills lève des exceptions structurées pour chaque échec API. Chaque classe d’exception correspond à un code de statut HTTP spécifique et inclut des informations contextuelles pour le débogage.

Hiérarchie des erreurs

Toutes les erreurs du SDK héritent de SmartbillsApiError :

SmartbillsApiError (base)

Chaque erreur inclut ces attributs :

Types d’erreurs

SmartbillsValidationError (400)

Levée lorsque le corps de la requête échoué la validation côté serveur. Inclut une liste d’erreurs par champ.

SmartbillsAuthenticationError (401)

Levée lorsque le jeton d’accès est manquant, expiré ou invalide.

SmartbillsPermissionError (403)

Levée lorsque l’utilisateur n’a pas les permissions pour l’action demandée.

SmartbillsNotFoundError (404)

Levée lorsque la ressource demandée n’existe pas.

SmartbillsConflictError (409)

Levée lorsque la requête entre en conflit avec l’état actuel de la ressource.

SmartbillsRateLimitError (429)

Levée lorsque la limite de débit API est dépassée.

SmartbillsQuotaError (402/403)

Levée lorsque l’entreprise à dépassé son quota de forfait.

Gestionnaire d’erreurs complet

Patron de tentatives

Le SDK à des tentatives intégrées pour les erreurs transitoires (429, 5xx, erreurs réseau). Pour un contrôle supplémentaire, implementez votre propre logique de tentatives :

Comportement des tentatives automatiques

Le SDK retente automatiquement les scénarios suivants : Les erreurs non-retentables (400, 401, 403, 404, 409) sont levées immédiatement sans tentative. Le nombre maximal de tentatives et le délai de base sont configurés via SmartbillsClientOptions :

Inspecter les réponses brutes

Toutes les erreurs incluent le corps de réponse brut et les en-têtes pour le débogage :