Communauté
Code 403
Bonjour,
J'essaie de créer un formulaire de checkout depuis l'API mais il me renvoie continuellement un code 403.
<Response [403]>
{"message":"Forbidden - insufficient Privileges"}
Est-il possible de paramétrer les droits des clés d'API ?
Voici le code que j'utilise (j'ai conscience qu'il est horrible c'est juste pour faire des essais ^^)
import requests
import json
url1 = "https://api.helloasso.com/oauth2/token"
payload1 = {
"grant_type": "client_credentials",
"client_id": "xxx",
"client_secret": "xxx"
}
headers1 = {
"accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url1, data=payload1, headers=headers1)
key = json.loads(response.text)["access_token"]
url2 = "https://api.helloasso.com/v5/organizations/apel-college-savio-lambersart/forms/Checkout/action/quick-create"
payload2 = "{\"tierList\":[{\"label\":\"Cookies chocolat\",\"price\":1},{\"label\":\"Cookies lait\",\"price\":1},{\"label\":\"Cookies blancs\",\"price\":1}],\"banner\":\"Vente de cookies\",\"description\":\"Vente de cookies de l'Apel Savio\",\"title\":\"VenteCookies\",\"acceptOpenDonation\":true,\"acceptOpenMonthlyDonation\":true,\"amountVisible\":false}"
headers2 = {
"accept": "application/json",
"content-type": "application/*+json",
"authorization": f"Bearer {key}"
}
response = requests.post(url2, data=payload2, headers=headers2)
print(key)
print(response)
print(response.text)
Merci par avance pour votre réponse 😀
Bonjour,
Afin de générer un lien vers un formulaire de checkout, il faut utiliser le endpoint [POST {SLUG_ASSOCIATION}/checkout-intents](https://dev.helloasso.com/reference/post_organizations-organizationslug-checkout-intents)
De plus, le payload2
ne correspond pas au payload attendu par ce point d'API, il vous faut donc le modifier pour que cela fonctionne.
Si vous souhaitez utiliser l'API de HelloAsso en Python, nous avons mis à disposition un SDK pour vous: https://github.com/HelloAsso/helloasso-python
Bon courage pour l'implémentation et bonne journée