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
Key | Value |
---|---|
Content-Type | application/x-www-form-urlencoded |
Body
- Format: x-www-form-urlencoded
Key | Value | Required/Optional |
---|---|---|
client_id | Your Client Id | Required |
client_secret | Your Client Secret | Required |
grant_type | client_credentials | Required |
Resultat
- Format: JSON
Key | Information |
---|---|
access_token | The JWT token to use in future requests |
refresh_token | Token used to refresh the token and get a new JWT token after expiration |
token_type | Token Type : always "bearer" |
expires_in | The 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
Key | Value |
---|---|
Content-Type | application/x-www-form-urlencoded |
Body
- Format: x-www-form-urlencoded
Key | Information | Required/Optional |
---|---|---|
client_id | Your Client Id | Required |
grant_type | refresh_token | Required |
refresh_token | Your Refresh Token | Required |
Resultat
- Format: JSON
Key | Information |
---|---|
access_token | The JWT token to use in future requests |
refresh_token | Token used to refresh the token and get a new JWT token after expiration |
token_type | Token Type : always "bearer" |
expires_in | The 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 votreclient_id
etsecret_id
à chaque appel. Veuillez utiliser lerefresh_token
pour prolonger la durée de validité de votreaccess_token
.Nous avons limité à 20 le nombre de d'access_token valides en simultané 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é.
Updated 11 days ago