Communauté

Ask a Question
Back to All

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 😀

Admin

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

Marked as answered by Léo Maisonneuve