S'authentifier pour utiliser l'API 💳

Après avoir obtenu une clé API, vous devez obtenir un token d'accès pour réaliser vos appels.


Afin d'authentifier vos appels, nous avons implémenté le système OAuth 2.0 Client Credentials Grant Type. Pour faire vos appels, vous devez donc obtenir un access_token. Celui-ci pourra être rafraichi grâce au refresh_token.


Demande d'un access_token

Pour obtenir un access_token, procédez à l'appel suivant :

Route : POST https://api.helloasso.com/oauth2/token

Header

KeyValue
Content-Typeapplication/x-www-form-urlencoded

Body

  • Format: x-www-form-urlencoded
KeyValueRequired/Optional
client_idYour Client IdRequired
client_secretYour Client SecretRequired
grant_typeclient_credentialsRequired

Resultat

  • Format: JSON
KeyInformation
access_tokenThe JWT token to use in future requests
refresh_tokenToken used to refresh the token and get a new JWT token after expiration
token_typeToken Type : always "bearer"
expires_inThe lifetime in seconds of the access token

Exemple

curl -X POST \
  https://api.helloasso.com/oauth2/token \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&client_id=9fdc22226bf24ff99b875f4a7c503715&client_secret=AvUYelYH1aSZZ3QNBiZOybmBlZTpUcNSonsufB5txuw='

Rafraichir l'access token

Lorsque l'access_token est expiré (30min) vous pouvez le rafraichir en utilisant le refresh_token.

Route : POST https://api.helloasso.com/oauth2/token

Header

KeyValue
Content-Typeapplication/x-www-form-urlencoded

Body

  • Format: x-www-form-urlencoded
KeyInformationRequired/Optional
client_idYour Client IdRequired
grant_typerefresh_tokenRequired
refresh_tokenYour Refresh TokenRequired

Resultat

  • Format: JSON
KeyInformation
access_tokenThe JWT token to use in future requests
refresh_tokenToken used to refresh the token and get a new JWT token after expiration
token_typeToken Type : always "bearer"
expires_inThe lifetime in seconds of the access token

Exemple

curl -X POST \
  https://api.helloasso.com/oauth2/token \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'grant_type=refresh_token&client_id=9fdc22226bf24ff99b875f4a7c503715&refresh_token=REFRESH_TOKEN'

Validité des tokens

access_token

Une fois que vous disposez d'un access_token, vous pouvez effectuer des appels API pendant une demi-heure. (1799 secondes)

Une fois ce laps de temps écoulé, vous devrez rafraîchir votre access_token en utilisant le refresh_token.

❗️

Non utilisation du refresh_token

Il n'est pas permis de générer un nouvel access_token à partir de votre client_id et secret_id à chaque appel. Veuillez utiliser le refresh_token pour prolonger la durée de validité de votre access_token.

Nous avons limité à 20 le nombre de d'access_token par clé API.


refresh_token

Le refresh_token est lui valide pour une durée de 30 jours. A chaque fois qu'un appel pour rafraichir votre acces_token est effectué, un nouvel refresh_token vous est aussi renvoyé.

Il vous faut donc faire un moins un rafraichissement de token tous les 30 jours.


Précision sur la validité des tokens

Lorsqu'un refresh token A est utilisé, un nouveau refresh token B est renvoyé. A cette instant A et B sont donc valides.

Si une nouvelle utilisation du refresh token A est faite, alors un nouveau refresh_token C est créé et B est révoqué.

Si le refresh token B est utilisé, alors un nouveau refresh_token D est créé et A est révoqué.