Définir une URL de notification

Recevez une notification lors d'un évènement sur votre compte HelloAsso via webhook

HelloAsso vous permet de recevoir une notification (ou webhook) sur votre site internet lorsqu'une action est effectuée sur votre compte HelloAsso.

Recevoir des notifications

📘

Tester les notifications

Afin de tester en live les notifications, nous vous invitons à utiliser un site comme: https://webhook.site/ qui permet de générer des URL de notification temporaire et de voir les appels qui y sont fait.

Vous êtes une association

Rendez-vous dans votre compte HelloAsso, section Mon Compte > Intégrations et API afin d'inscrire votre URL de notification.


Vous êtes un partenaire

  • Vous pouvez définir une url de notification générale en utilisant cette URL, vous recevrez toutes les notifications de toutes les associations qui sont liées à vous par la mire d’autorisation.
  • Vous pouvez définir une url de notification spécifique pour une association en utilisant cette URL, vous ne recevrez alors que les notifications concernant cette association.

Sur ces deux points d'API il est également possible de spécifier le type de notification que vous souhaitez recevoir en spécifiant le paramètre notificationType lors de la définition de votre url de notification. (Order, Payment, Form, Organization). Si ce paramètre est laissé null alors l'URL concernera tous les types de notifications.

Vous pourrez donc avoir jusqu’à 5 Urls de notification par association ou jusqu’à 5 Urls de notification globales (qui concernent toutes les associations)

Exemple : configurer une Url de notification globale

Si vous effectuez l'appel API suivant :

curl --request PUT \
     --url https://api.helloasso.com/v5/partners/me/api-notifications \
     --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYmQzYzJjODM3ZGM0N2FiOTY3ZDQ3NWZlMzlmN2E1ZCIsImNwcyI6WyJBY2Nlc3NQdWJsaWNEYXRhIiwiQWNjZXNzVHJhbnNhY3Rpb25zIiwiQ2hlY2tvdXQiLCJGb3JtT3BlbkRpcmVjdG9yeSIsIkdyYW50QXV0aG9yaXphdGlvbkNvZGUiLCJPcmdhbml6YXRpb25PcGVuRGlyZWN0b3J5IiwiUmVmdW5kTWFuYWdlbWVudCJdLCJwYXIiOiJIZWxsb0Fzc29UZXN0IiwibmJmIjoxNzE3NDA4MTk3LCJleHAiOjE3MTc0MDk5OTcsImlzcyI6Imh0dHBzOi8vYXBpLmhlbGxvYXNzby1zYW5kYm94LmNvbSIsImF1ZCI6ImJmYjViYWI4ZjBkYTQ1ZWJhZjg2OTY3MjY2MGFmY2JkIn0.I52VRcpHiG8KoLLM90Xb6WV6FqW9hKZchdYtyFKjnLrqRDq5yqk4iOrLdQwoFiuwZfpJxhcQVlfPyZtlPpaKVcsYPOTmA6kEAoLLjOR-Zv948hW2GEZquuYDGD61ybvcozO0YW6KsVDj7ptpml0prvYW-S211KFMHSsa2PCn8j6ikLx1iQMPxOsDNhwcX5gVScHp7l7F0L9csKpjd1aNwqAah09x9T1RdhsEXiGo7S0DnpYEtHb-kBUMXkdWbi4BMT-1dXusy5GVhnAG_TzVgjMcpB3BqBEMELVlCOmFEAWjtKxdYSAyNLv3W-9lComu42vYkqCkXSUdHW5N94GP3Q' \
     --header 'content-type: application/*+json' \
     --data '
{
  "url": "https://www.notification.com"
}
'

La "NotificationType" n'étant pas spécifié l'URL de notification défini concernera toutes les notifications.

Si vous faites ensuite cet appel API :

curl --request PUT \
     --url https://api.helloasso.com/v5/partners/me/api-notifications \
     --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYmQzYzJjODM3ZGM0N2FiOTY3ZDQ3NWZlMzlmN2E1ZCIsImNwcyI6WyJBY2Nlc3NQdWJsaWNEYXRhIiwiQWNjZXNzVHJhbnNhY3Rpb25zIiwiQ2hlY2tvdXQiLCJGb3JtT3BlbkRpcmVjdG9yeSIsIkdyYW50QXV0aG9yaXphdGlvbkNvZGUiLCJPcmdhbml6YXRpb25PcGVuRGlyZWN0b3J5IiwiUmVmdW5kTWFuYWdlbWVudCJdLCJwYXIiOiJIZWxsb0Fzc29UZXN0IiwibmJmIjoxNzE3NDA4MTk3LCJleHAiOjE3MTc0MDk5OTcsImlzcyI6Imh0dHBzOi8vYXBpLmhlbGxvYXNzby1zYW5kYm94LmNvbSIsImF1ZCI6ImJmYjViYWI4ZjBkYTQ1ZWJhZjg2OTY3MjY2MGFmY2JkIn0.I52VRcpHiG8KoLLM90Xb6WV6FqW9hKZchdYtyFKjnLrqRDq5yqk4iOrLdQwoFiuwZfpJxhcQVlfPyZtlPpaKVcsYPOTmA6kEAoLLjOR-Zv948hW2GEZquuYDGD61ybvcozO0YW6KsVDj7ptpml0prvYW-S211KFMHSsa2PCn8j6ikLx1iQMPxOsDNhwcX5gVScHp7l7F0L9csKpjd1aNwqAah09x9T1RdhsEXiGo7S0DnpYEtHb-kBUMXkdWbi4BMT-1dXusy5GVhnAG_TzVgjMcpB3BqBEMELVlCOmFEAWjtKxdYSAyNLv3W-9lComu42vYkqCkXSUdHW5N94GP3Q' \
     --header 'content-type: application/*+json' \
     --data '
{
  "url": "https://www.notification.com",
  "notificationType": "Order"
}
'

Vous allez définir une URL de notification supplémentaire ou ne seront envoyés que les notifications de type "Order".

Exemple : configurer Url de notification dédié à une association

Si vous effectuez l'appel API suivant :

curl --request PUT \
     --url https://api.helloasso.com/v5/partners/me/api-notifications/organizations/club-foot-bordeaux \
     --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYmQzYzJjODM3ZGM0N2FiOTY3ZDQ3NWZlMzlmN2E1ZCIsImNwcyI6WyJBY2Nlc3NQdWJsaWNEYXRhIiwiQWNjZXNzVHJhbnNhY3Rpb25zIiwiQ2hlY2tvdXQiLCJGb3JtT3BlbkRpcmVjdG9yeSIsIkdyYW50QXV0aG9yaXphdGlvbkNvZGUiLCJPcmdhbml6YXRpb25PcGVuRGlyZWN0b3J5IiwiUmVmdW5kTWFuYWdlbWVudCJdLCJwYXIiOiJIZWxsb0Fzc29UZXN0IiwibmJmIjoxNzE3NDA4MTk3LCJleHAiOjE3MTc0MDk5OTcsImlzcyI6Imh0dHBzOi8vYXBpLmhlbGxvYXNzby1zYW5kYm94LmNvbSIsImF1ZCI6ImJmYjViYWI4ZjBkYTQ1ZWJhZjg2OTY3MjY2MGFmY2JkIn0.I52VRcpHiG8KoLLM90Xb6WV6FqW9hKZchdYtyFKjnLrqRDq5yqk4iOrLdQwoFiuwZfpJxhcQVlfPyZtlPpaKVcsYPOTmA6kEAoLLjOR-Zv948hW2GEZquuYDGD61ybvcozO0YW6KsVDj7ptpml0prvYW-S211KFMHSsa2PCn8j6ikLx1iQMPxOsDNhwcX5gVScHp7l7F0L9csKpjd1aNwqAah09x9T1RdhsEXiGo7S0DnpYEtHb-kBUMXkdWbi4BMT-1dXusy5GVhnAG_TzVgjMcpB3BqBEMELVlCOmFEAWjtKxdYSAyNLv3W-9lComu42vYkqCkXSUdHW5N94GP3Q' \
     --header 'content-type: application/*+json' \
     --data '
{
  "url": "https://www.notification.com"
}
'

La "NotificationType" n'étant pas spécifié l'URL de notification défini concernera toutes les notifications et seulement l'association "club-foot-bordeaux"

Si vous faites ensuite cet appel API :

curl --request PUT \
     --url https://api.helloasso.com/v5/partners/me/api-notifications/organizations/club-foot-bordeaux \
     --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYmQzYzJjODM3ZGM0N2FiOTY3ZDQ3NWZlMzlmN2E1ZCIsImNwcyI6WyJBY2Nlc3NQdWJsaWNEYXRhIiwiQWNjZXNzVHJhbnNhY3Rpb25zIiwiQ2hlY2tvdXQiLCJGb3JtT3BlbkRpcmVjdG9yeSIsIkdyYW50QXV0aG9yaXphdGlvbkNvZGUiLCJPcmdhbml6YXRpb25PcGVuRGlyZWN0b3J5IiwiUmVmdW5kTWFuYWdlbWVudCJdLCJwYXIiOiJIZWxsb0Fzc29UZXN0IiwibmJmIjoxNzE3NDA4MTk3LCJleHAiOjE3MTc0MDk5OTcsImlzcyI6Imh0dHBzOi8vYXBpLmhlbGxvYXNzby1zYW5kYm94LmNvbSIsImF1ZCI6ImJmYjViYWI4ZjBkYTQ1ZWJhZjg2OTY3MjY2MGFmY2JkIn0.I52VRcpHiG8KoLLM90Xb6WV6FqW9hKZchdYtyFKjnLrqRDq5yqk4iOrLdQwoFiuwZfpJxhcQVlfPyZtlPpaKVcsYPOTmA6kEAoLLjOR-Zv948hW2GEZquuYDGD61ybvcozO0YW6KsVDj7ptpml0prvYW-S211KFMHSsa2PCn8j6ikLx1iQMPxOsDNhwcX5gVScHp7l7F0L9csKpjd1aNwqAah09x9T1RdhsEXiGo7S0DnpYEtHb-kBUMXkdWbi4BMT-1dXusy5GVhnAG_TzVgjMcpB3BqBEMELVlCOmFEAWjtKxdYSAyNLv3W-9lComu42vYkqCkXSUdHW5N94GP3Q' \
     --header 'content-type: application/*+json' \
     --data '
{
  "notificationType": "Order",
  "url": "https://www.notification.com"
}
'

Vous allez définir une URL de notification supplémentaire ou ne seront envoyés que les notifications de type "Order" et concernera seulement l'association "club-foot-bordeaux"

Type de notification

Vous recevrez une notification lorsque l'un des événements suivants se produira, utilisez le champs eventType pour connaitre le type de notification.

ÉvènementeventType
Une campagne est créée (exemple)Form
Une commande est créée (exemple)Order
Un paiement (unique ou par échéances) est autorisé (exemple)Payment
Un remboursement est effectué (exemple)Payment
Un paiement est contesté par le payeur auprès de sa banque (exemple)Payment
Un paiement par échéance est refuséPayment
Une association change de nom, son slug est donc changé (exemple)Organization
Un remboursement échouePayment

Indisponibilité de votre site

Si HelloAsso n'a pas un retour 200 lors de l'envoi de la notification, nous allons réessayer plusieurs fois de la délivrer.

L’intervalle du retry utilise la formule : min(48h, 3 * 2 ** attempt)

Le delais de ce retry commence à 3s et se termine, au bout de 16 retry, à 27h.


What’s Next

Vérifier l'authenticité de ces notifications