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écifiér 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/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 rafraichissement 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.

Rafraichir les jetons

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

Utilisation des SDK

Les SDK officiels gerent automatiquement l’authentification, le rafraichissement 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 à besoin
  • Utilisez des portées en lecture seule quand l’accès en ecriture n’est pas nécessaire
  • Revisez et auditez les portées regulierement
  • Vérifiez la valeur expires_in après avoir obtenu les jetons
  • Implementez le rafraichissement 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
  • Revoquez 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