Webhooks
Vous saurez tout sur l'intégration de webhooks dans Dastra
Dernière mise à jour
Vous saurez tout sur l'intégration de webhooks dans Dastra
Dernière mise à jour
Pour faire simple, les webhooks permettent de déclencher une action suite à un événement. Ils sont généralement utilisés pour faire communiquer des systèmes. C’est la façon la plus simple de recevoir une alerte lorsque quelque chose se produit dans Dastra. L'objectif est de notifier des applications tierces (API, CRM, Fonctions serverless...) en temps réel.
Pour configurer vos webhooks, rendez-vous sur la page : https://app.dastra.eu/general-settings/webhooks
Cliquez sur créer une "url de webhook"
Renseignez l'url de réception de votre webhook. Pour en savoir plus consultez la section Comment réceptionner le webhook.
Renseignez l'espace de travail concerné
Sélectionnez le ou les évènements auxquels vous souhaitez vous abonner. Le type de données renvoyés sera différent selon le type d'évènement. Par exemple, vous pouvez déclencher le webhook lors de la création d'une nouvelle demande d'exercice de droit. Dans ce cas le body de la requête contiendra un json
Enregistrez le webhook
Vous arrivez sur l'écran de détail du webhook.
Pour réceptionner les requêtes du webhook, vous devez créer un endpoint d'API de captation de l'évènement. La requête effectuée est en POST et sera toujours structurée de cette façon. Le body de la requête contient un json avec le détail de l'évènement déclenché.
Voici la structure générale de la réponse envoyée :
Un timeout de 10 secondes est appliqué sur la requête, au delà de ce temps la requête sera en erreur. Il est nécessaire que le code de réponse soit 200.
Il peut y avoir un petit délai entre le moment où l'évènement a lieu dans l'application et le déclenchement du webhooks (ce délai est lié à la nature asynchrone de l'exécution du webhook dans notre infrastructure). Ce délai est plus ou moins important selon la charge de notre infrastructure et peut aller jusque 60-120 secondes maximum.
Il n'existe pour l'instant aucun système permettant de rejouer les webhooks qui ont échoués et donc de compenser une éventuelle indisponibilité des serveurs de réception des webhooks. Dans ce cas, nous vous recommandons d'effectuer une synchronisation manuelle des évènements qui ont échoué.
Vous allez pouvoir tester votre webhook en condition réelle en cliquant sur le bouton "Tester".
Même si ce n'est pas une obligation, il est recommandé de valider la requête entrante du webhook pour éviter les attaques potentielles d'un hackeur qui aurait sniffé le réseau et serait ainsi en capacité de poster n'importe quoi sur votre url de webhook et ainsi déclencher ou spammer la création d'éléments dans votre système.
Chaque fois qu'une requête de modification, suppression d'un élément de Dastra est effectuée, nous allons poster un objet sur toutes les urls que vous avez configurés sur l'évènement voulu. Dans chaque requête POST figurera une entête Dastra-Signature, cette entête peut être récupérée côté serveur.
Cette entête correspond à l'intégralité du JSON posté est hashé à l'aide de l'algorithme HMAC-Sha256 à l'aide de la clé de validation du webhook.
DastraSignature = HMAC256(<JSON sérialisé du POST>,<clé de validation du webhook>)
Voici quelques exemples de validation de la signature de la requête :
Le webhook sera automatiquement bloqué et considéré en erreur quand le seuil de 5 erreurs est dépassé.