Dans le domaine du développement web, un webhook est une méthode permettant d'augmenter ou de modifier le comportement d'une page web ou d'une application web à l'aide de rappels personnalisés. Ces rappels peuvent être maintenus, modifiés et gérés par des utilisateurs et des développeurs tiers qui ne sont pas nécessairement affiliés au site web ou à l'application d'origine.
Accéder à l'interface des Webhooks
Tout d'abord, nous vous guiderons vers la bonne page.
Cliquez sur Configurations > Intégrations et outils > Webhooks pour accéder à la page Webhooks via la navigation sur le côté gauche.
Configuration des Webhooks
Cliquez sur
dans le coin supérieur droit.
Dans le champ Webhook urls, ajoutez une URL et cliquez sur
.
Sélectionnez un ou plusieurs types d'événements, vous avez le choix entre
Événements de la facture
Événements de l'abonnement
Événements clients
Ajoutez une adresse électronique dans la boîte des courriels d'alerte et cliquez sur
.
Entrez un nom d'utilisateur et un mot de passe dans la case Credentials.
Vous pouvez copier la clé secrète en cliquant sur
.
Activez le crochet web à l'aide du commutateur
.
Cliquez sur
.
Explication des web hooks en attente
Parfois, les Webhooks restent en attente et il semble qu'ils ne soient même pas envoyés à votre serveur.
Sommaire :
Premier rentré, premier sorti
Tous les web hooks sont envoyés dans l'ordre FIFO (first in, first out) groupés pour chaque client.
Cela signifie que vous pouvez vous attendre à recevoir des événements pour chaque client dans le bon ordre.
Exemple: Vous n'obtenez pas CUSTOMER_UPDATED avant CUSTOMER_CREATED.
Note
Si votre service ne renvoie pas un code HTTP compris entre 200 et 299:
nous considérons que le webhook a échoué
nous bloquerons les prochains Webhooks pour ce client spécifique
Considérations pour les web hooks
Votre point d'accès doit répondre dans les 30 secondes.
Une réponse avec le code HTTP 2XX est considérée comme réussie. Toutes les autres réponses sont considérées comme des échecs.
Le contenu d'un crochet web notifie un événement dans le système de paiement Billwerk+, les ressources concernées et le type d'événement, mais ne comporte pas d'état en soi. Il est recommandé d'utiliser ensuite l'API pour obtenir l'état actualisé d'une ressource.
Votre point de terminaison doit être idempotent, permettant plusieurs invocations du même crochet web avec le même résultat qu'une seule invocation.
En effet, des erreurs de communication peuvent conduire à ce que les paiements Billwerk+ considèrent qu'une invocation a échoué alors qu'elle a été reçue. Nous réessayerons les invocations qui ont échoué. Voir ci-dessous.
Dans les scénarios d'échec, les crochets web peuvent être livrés dans le désordre. C'est pourquoi il faut toujours utiliser l'API pour obtenir l'état réel d'une ressource.
Un exemple est l'annulation d'un abonnement suivie d'un désabonnement. Le web hook d'annulation pourrait être reçu après l'annulation.
Meilleure pratique
Billwerk+ ¨Payments enverra 10 demandes de Webhook maximum à votre serveur à la fois.
Une bonne pratique consiste à décharger les événements dans une file d'attente locale de votre côté et à renvoyer 200 OK à chaque.
Cela signifie que vous réagirez rapidement et qu'aucun événement ne se bloquera mutuellement. Vous pouvez ensuite traiter chaque événement de votre file d'attente et mettre à jour vos actifs sans aucun problème.