Webhooks
Les webhooks fonctionnent comme des notifications, alertant une application lorsqu'un événement spécifique se produit dans une autre. Ce système permet une communication fluide entre différents logiciels, améliorant ainsi l'interaction et la réactivité en temps réel.
Webhooks dans WebinarGeek
Les webhooks de WebinarGeek sont conçus pour collecter des informations en temps réel. Ils fonctionnent comme des alertes personnalisées qui déclenchent des actions spécifiques en fonction des événements survenant dans notre application. Par exemple, si vous organisez un webinaire et qu'une personne s'inscrit, notre fonctionnalité de webhook vous envoie instantanément un ensemble de données claires et structurées concernant l'inscrit, directement à l'URL que vous avez configurée. Vous restez ainsi informé et pouvez réagir dynamiquement aux interactions, sans avoir à vérifier constamment les mises à jour manuellement. Nos webhooks sont là pour simplifier votre flux de travail et vous permettre de rester connecté à l'essentiel dans votre application.
Création d'une intégration Webhook
Étiquette personnalisée
Ajoutez une étiquette personnalisée à un webhook pour faciliter la distinction entre vos webhooks dans le menu des intégrations. Ce champ est obligatoire.
URL
Les URL des webhooks doivent comporter un schéma, un hôte et un chemin. Seules les URL HTTPS sont acceptées. Ce champ est obligatoire.
URL valide :
https://hooks.zapier.com/hooks
URL invalides :
hooks.zapier.com/ (schéma manquant)
https://.com/ (hôte manquant)
https://hooks.zapier.com/ (chemin manquant)
http://hooks.zapier.com/hooks (http au lieu de https)
Secrète
Configurer le webhook avec un secret permettant de valider l'origine de la requête est facultatif. Pour comprendre pourquoi l'utilisation d'un secret est recommandée, consultez la section correspondante. Validation des livraisons de webhookCe champ est facultatif.
En-têtes
Type de contenu : « application/json »
Agent utilisateur : « WebinarGeek »
ID : Identifiant unique de l'événement
Signature : Cet en-tête est envoyé si le webhook est configuré avec un secret. Il s’agit du condensé HMAC hexadécimal du corps de la requête, généré à l’aide de la fonction de hachage SHA-256 et du secret comme clé HMAC.
Charge utile
La charge utile du webhook est composée d'informations sur l'événement qui déclenche le
requête et données pour l'entité à laquelle l'événement est associé.
Informations concernant l'événement :
ID : ID de l'événement
Événement : Nom de l'événement
Horodatage : Horodatage de la requête en temps UNIX
Type d'entité : le type d'objet que contient la clé d'entité
Entité : l’objet auquel l’événement est associé. Nous ne prenons actuellement en charge que les abonnements. Nos webhooks sérialisent les abonnements de la même manière que notre API.
https://webinargeek.docs.apiary.io/#reference/0/subscriptions/retrieve-a-subscription
Vous trouverez ci-dessous un exemple de ce à quoi ressemble une requête.
POST /payload HTTP/2
> Type de contenu : application/json
> User-Agent : WebinarGeek
> ID : 11111111
> Signature : sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d
> {
> "id": "2222222",
> "événement": "webinaire_abonné",
> "horodatage" : 1238716248712,
> "entity_type": "Abonnement"
> "entité": {
> ...
> }
> }
Veuillez noter! Le client doit pouvoir répondre aux requêtes HEAD.
Validation des livraisons de webhook
Lorsque votre serveur est configuré pour recevoir des données, il écoute les charges utiles envoyées au point de terminaison que vous avez défini. Afin de garantir la légitimité de ces charges utiles et leur intégrité, il est fortement recommandé de valider leurs signatures. Ce processus de validation contribue à protéger contre les sources non autorisées et les menaces de sécurité potentielles, telles que les attaques de type « homme du milieu ».
Étapes de la validation
Créez un jeton secret pour votre webhook :
Ce jeton doit être une chaîne de caractères aléatoire à haute entropie.
Vous pouvez soit créer un nouveau webhook avec ce jeton, soit l'ajouter à un webhook existant.
Stockez le jeton secret en toute sécurité :
Conservez le jeton dans un endroit sûr et accessible à votre serveur.
Évitez d'intégrer le jeton en dur ou de l'exposer publiquement de quelque manière que ce soit.
Valider les charges utiles des webhooks entrants :
Chaque charge utile doit être accompagnée d'une signature de hachage, que l'on trouve dans l'en-tête « Signature ».
Utilisez votre jeton secret pour calculer un hachage et comparez-le avec la signature envoyée avec la charge utile.
Points clés de la validation :
Le hachage est un condensé hexadécimal HMAC.
La signature commence par un préfixe comme sha256=.
Le hachage est généré à l'aide du jeton secret de votre webhook et du contenu de la charge utile.
Traitez la charge utile comme de l'UTF-8, surtout si elle contient des caractères Unicode.
À titre de comparaison, utilisez des méthodes sécurisées comme secure_compare ou crypto.timingSafeEqual pour éviter les vulnérabilités liées aux attaques temporelles.
Test de validation de la charge utile du webhook
Vous pouvez utiliser les valeurs secrètes et de charge utile suivantes pour vérifier que votre implémentation est correcte :
secret : « C'est un secret »
charge utile : « \"Hello World!\" » (au format JSON)
Si votre implémentation est correcte, les signatures que vous générez doivent correspondre aux valeurs de signature suivantes :
Signature : sha256=a6353e505082e0614d4f1760c1d25e523ee34141bd2d2e5ef1e4648fc1ed128b
Mise à jour des paramètres du webhook
L'étiquette personnalisée, l'URL et le secret d'une intégration Webhook active peuvent être modifiés depuis le menu des intégrations.
Journaux des événements Webhook déclenchés
Les journaux de tous les événements déclenchés par un déclencheur donné se trouvent sur la page du journal des déclencheurs, accessible via un déclencheur dans le menu des intégrations.
Liste des déclencheurs disponibles
Les déclencheurs suivants sont disponibles avec les webhooks :
Nouvelle inscription
Désinscription au webinaire
Nouveau paiement pour webinaire
Nouveau spectateur
Nouveau spectateur en direct
New replay viewer
Un nouveau spectateur a commencé à regarder
Absent
Évaluation réussie
Le webinaire est terminé.
Diffusion annulée
Nouvelle question-réponse
Nouveau formulaire d'évaluation
Nouveau sondage
Nouvelle réponse au quiz
Nouvel appel à l'action
Nouveau message de la boîte à questions du webinaire
Un nouvel appel à l'action spécifique est soumis ou cliqué.
Vous pouvez consulter notre Article « Déclencheurs » pour plus d'informations sur ces déclencheurs.
Utilisation de Zapier pour votre intégration de webhook
Créer un webhook pour transférer les informations d'un événement de WebinarGeek vers Zapier vous permet de connecter facilement votre compte WebinarGeek à plus de 6 000 applications. La procédure est expliquée ci-dessous.
Créer un Zap
Ouvrir Zapier.
Connectez-vous au site web ou créez un compte si vous n'en avez pas encore.
Cliquez sur « Créer » > « Zaps ».
Cliquez sur « Déclencher ».
Recherchez « Webhooks » et sélectionnez « Webhooks by Zapier ».
Sous « Événement », sélectionnez « Catch Hook » pour travailler uniquement avec la charge utile (recommandé) ou « Catch Raw Hook » si vous souhaitez utiliser les en-têtes et la charge utile (avancé).
Si vous utilisez « Catch Raw Hook », l’option « Pick off a Child Key » vous permet de choisir si vous souhaitez travailler avec la totalité de la charge utile ou une sous-section.
Zapier générera une URL destinée à recevoir les requêtes WebinarGeek. Copiez cette URL et conservez-la précieusement avant de passer à l'étape suivante.
Connectez le webhook dans WebinarGeek
Ouvrez WebinarGeek et connectez-vous à votre compte.
Allez dans « Compte » > « Intégrations ».
Sélectionnez « Webhooks » et collez l'URL de Zapier dans le champ URL.
Appuyez sur « Se connecter ».
Créer le webhook
Après avoir connecté WebinarGeek aux webhooks Zapier, cliquez sur « Ajouter un déclencheur ».
Sélectionnez le déclencheur souhaité pour votre webhook.
Cliquez sur « Ajouter un déclencheur ».
Test du webhook
Zapier a besoin d'un enregistrement de test pour configurer le traitement des données. C'est pourquoi nous devrons déclencher le webhook une fois avant de continuer.
Complétez l'action que vous avez choisie sur WebinarGeek (par exemple, si vous avez sélectionné « Nouvelle inscription », inscrivez-vous à un webinaire en tant qu'abonné test), puis retournez sur Zapier.
Finir le Zap
De retour sur Zapier, cliquez sur « Tester le déclencheur ».
Une fois le test terminé et réussi, cliquez sur « Continuer avec l'enregistrement sélectionné ».
Sélectionnez le logiciel qui doit recevoir les données du webhook.
Le reste du Zap dépend de vous ! N'oubliez pas de consulter notre Documentation Zapier pour des conseils et astuces.

