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 deSmartbillsApiError :
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 :