Configurer des Webhooks dans DQE One Standalone

Support DQE
Support DQE
  • Mise à jour

Un webhook permet à l'un de vos systèmes externes d'être notifié par une requête HTTP POST quand l'un de vos process se termine, sans avoir à vérifier l'application ou votre boîte mail.

Où configurer un webhook

Ouvrez My Account → Web Hooks ("Define your web hooks here"). Aujourd'hui, un seul événement est disponible : Process End.

Mettre en place un webhook

  • Process End — l'URL de votre point d'arrivée, placeholder "Your API URL". Elle doit commencer par https:// — une adresse en http:// simple est rejetée.
  • Your secret — placeholder "Your API secret". Survolez son icône d'info pour l'indice, mais la règle réelle est plus stricte qu'il n'y paraît : uniquement des lettres minuscules a–z et des chiffres 0–9, au moins 32 caractères — pas de majuscules, d'espaces ni de ponctuation.

Cliquez sur Save changes en bas de la page My Account. Une confirmation "The changes have been saved" apparaît.

Save changes revalide et réenregistre toute la page My Account d'un coup — si un autre champ de la page a une erreur, rien sur la page n'est enregistré, y compris votre webhook, et vous n'aurez aucun message d'erreur, juste du texte rouge sous le champ problématique. Parcourez la page à la recherche de ce texte avant de penser qu'autre chose a mal tourné.

Supprimer ou remplacer un webhook

Il n'y a pas d'interrupteur marche/arrêt — videz le champ URL et cliquez sur Save changes pour le supprimer. Vous ne pouvez avoir qu'une seule URL par événement : enregistrer une nouvelle URL pour Process End remplace celle qui s'y trouvait avant.

Quand il se déclenche

Un webhook Process End se déclenche à chaque fois qu'une exécution de l'un de vos process atteint Finished ou Failed — indépendamment de votre préférence email My Account → Notifications (voir Surveiller et gérer une exécution dans DQE One Standalone). Il utilise le webhook enregistré pour l'utilisateur ayant enregistré en dernier la configuration de ce process, pas forcément celui qui a démarré cette exécution précise.

Au sein d'une DataPipeline (voir Configurer une DataPipeline dans DQE One Standalone), chaque étape est elle-même une exécution de process, donc un webhook se déclenche une fois par étape qui atteint Finished ou Failed — mais il n'existe pas d'événement distinct pour l'achèvement global de la DataPipeline.

Ce qui est envoyé

Une requête POST avec un corps JSON :

{"event": "process_end", "proces_status": "Finished"}

Ce champ s'écrit vraiment proces_status (un seul "s") — ce n'est pas une coquille dans cet article, c'est bien ce qui est envoyé sur le fil.

Les en-têtes X-Hook-Signature et X-Hook-Timestamp vous permettent de vérifier la requête : la signature est un HMAC-SHA256 de l'horodatage plus le corps brut, avec votre secret. Votre point d'arrivée doit répondre avec un statut de succès (2xx) en moins de 10 secondes.

Il n'y a aucune relance automatique. Si votre point d'arrivée est hors service, dépasse le délai, ou répond avec une erreur, cette livraison est définitive — corrigez votre point d'arrivée avant que la prochaine exécution n'en déclenche une autre.

Vérifier le statut des livraisons

Seuls les échecs sont affichés, sous forme d'un message sous les champs du webhook sur My Account : "Webhook's last delivery failed. API status code: {code}. Error: {error}. Received on: {date} at {time}." (dans votre heure locale).

Une livraison réussie n'affiche rien du tout — ni confirmation, ni journal. Si vous ne voyez pas de message d'échec, considérez que ça fonctionne. Il n'y a pas non plus de bouton pour envoyer une livraison de test ; la seule façon de vérifier est de laisser tourner un vrai process.

Associé à

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0