Skip to main content

Aperçu

L’API Smartbills utilisé l’authentification par jeton JWT Bearer. Chaque requête API doit inclure un jeton valide dans l’en-tête Authorization. Les jetons peuvent être obtenus via des clés API ou des flux OAuth2.
Avant de commencer : Vous avez besoin d’un compte Smartbills et de clés API pour vous authentifier. Visitez developers.smartbills.io pour commencer.

En-tête d’authentification

Incluez votre jeton dans l’en-tête Authorization de chaque requête :
Le format de l’en-tête est :
Ou {jeton} est soit :
  • Une clé API (ex. : sk_live_1234567890abcdef)
  • Un jeton d’accès OAuth2 obtenu via le point d’accès de jetons

En-tête multi-locataire

Smartbills est une plateforme multi-locataire. Vous devez inclure l’en-tête x-tenant-id pour spécifier le contexte d’entreprise :
Cet en-tête indique à l’API les données de quelle entreprise vous souhaitez accéder. Votre jeton doit avoir la permission d’accéder à l’entreprise spécifiée.

En-tête de locale

Utilisez l’en-tête Accept-Language pour recevoir des réponses localisées :
Locales supportées : en-CA, fr-CA, en-US. Consultez Localisations pour plus de détails.

En-têtes de requête complets

Une requête authentifiee complète inclut ces en-têtes :

Authentification OAuth2

Flux Client Credentials

Utilisez ce flux pour la communication serveur à serveur sans interaction utilisateur. Point d’accès : POST https://api.smartbills.io/auth/connect/token Requête :
Réponse :

Exemples de code

Flux Authorization Code

Utilisez ce flux pour les applications orientees utilisateur ou vous devez agir au nom d’un utilisateur. Étape 1 : Rediriger vers le point d’accès d’autorisation
Étape 2 : Echanger le code d’autorisation contre un jeton d’accès
Réponse :

Expiration et rafraîchissement des jetons

Les jetons d’accès expirent après une période definie (généralement 3600 secondes / 1 heure). Utilisez le champ expires_in pour savoir quand un jeton expirera.

Rafraîchir les jetons

Lorsque votre jeton d’accès expiré, utilisez le jeton de rafraîchissement pour en obtenir un nouveau :
Rotation des jetons de rafraîchissement : Chaque fois que vous utilisez un jeton de rafraîchissement, un nouveau jeton de rafraîchissement est retourné. L’ancien jeton est invalide. Stockez toujours le dernier jeton de rafraîchissement.

Utilisation des SDK

Les SDK officiels gerent automatiquement l’authentification, le rafraîchissement des jetons et la gestion des en-têtes :

Erreurs d’authentification

Bonnes pratiques de sécurité

  • Stockez les clés API et les secrets dans des variables d’environnement
  • Ne commitez jamais les identifiants dans le contrôle de version
  • N’exposez jamais les jetons dans le code côté client
  • Utilisez HTTPS pour toutes les requêtes API
  • Demandez uniquement les portées dont votre application a besoin
  • Utilisez des portées en lecture seule quand l’accès en écriture n’est pas nécessaire
  • Révisez et auditez les portées régulièrement
  • Vérifiez la valeur expires_in après avoir obtenu les jetons
  • Implémentez le rafraîchissement automatique des jetons avant l’expiration
  • Gérez les erreurs 401 en rafraichissant et en retentant
  • Effectuez la rotation des clés API tous les 90 jours
  • Révoquez immédiatement les clés compromises
  • Utilisez des clés séparées pour chaque environnement

Ressources connexes

Clés API

Créer et gérer les clés API

Environnements

Environnements bac à sable et production

Gestion des erreurs

Gérer les erreurs d’authentification

Limites de débit

Comprendre la limitation de débit