Création d'un Webhook

Les Webhooks sont des pages Web développées par vos soins qui prennent en charge le traitement des informations des alertes envoyées par Hitflow. Lorsque vous créez un contact susceptible de recevoir les alertes, vous avez la possibilité de choisir l'envoi via "Webhook". En choisissant cette option, vous devrez indiquer l'URL de la page qui traitera automatiquement l'alerte.

  • Sommaire

Liste des alertes

À ce jour, un Webhook peut recevoir des données pour les événements suivants :

  • L'état de disponibilité d'un site Web (ou serveur) indiquant s'il est perturbé ou à nouveau fonctionnel.
  • Les informations sur l'utilisation des ressources d'un serveur lorsqu'un seuil est dépassé.
  • L'état d'un certificat SSL suite à une modification de sa validité ou d'un attribut le composant.
  • L'expiration prochaine d'un nom de domaine ou la modification du registre.

Pour chaque événement, un certain nombre de données sont transmises vous permettant un traitement adapté à chaque type d'alertes.

Sécurité des échanges

Pour sécuriser l'accès à la page recevant les événements, nous vous recommandons, d'une part, d'utiliser le protocole HTTPS avec un certificat SSL valide et d'autre part, limiter l'accès à cette page grâce au jeton d'authentification disponible dans l'entête de la requête.

Jeton d'authentification du webhook

Le jeton d'authentification du contact sera généré lorsque vous aurez enregistré une URL pour une méthode de type "webhook". Cette chaîne de 32 caractères est alors disponible dans la section "Paramétrage des alertes" du formulaire d'édition du contact.

Lors de l'envoi d'une alerte au webhook, le jeton d'authentification sera envoyé dans l'entête "Hitflow-Webhook-Token" de la requête.

Si vous ajoutez plusieurs Webhook à un contact, notez que le jeton sera le même pour tous.

Comment générer un nouveau jeton ?

Dans le cas où vous souhaitez générer un nouveau jeton d'authentification pour le contact, vous devez retirer toutes les méthodes de type "webhook" et enregistrer une première fois.

Une fois la modification prise en compte, ajoutez une nouvelle méthode de type "Webhook", renseignez l'adresse URL et sauvegardez la modification. Un nouveau token d'authentification sera alors généré et disponible dans le formulaire du contact dans la section "Paramétrage des alertes".

Données envoyées au webhook

Les données envoyées au Webhook sont stockées dans un objet au format JSON. La structure de l'objet peut varier suivant le type d'événement envoyé.

Ce type est défini dans l'attribut nommé "event_type" et peut avoir les valeurs suivantes :

  • uptime : alertes de disponibilités
  • server : alertes de serveurs
  • certificate : alertes de certificats SSL
  • domain : alertes de noms de domaines

Pour chaque événement, un certain nombre de données sont transmises vous permettant un traitement adapté à chaque type d'alertes.

Alertes de disponibilités

À la suite d'un test de disponibilité, une alerte avec les données ci-dessous peut être envoyée au Webhook.

Nom Type Description
event_type String La valeur de cet attribut est toujours "uptime"
event_status String La valeur est “down” pour un service indisponible et “up” lorsque l'accès est à nouveau possible
id String Identifiant du test dans notre base de données
name String Nom du test défini dans votre manager
type String Type de test du service : ICMP, TCP, HTTP, HTTPS
host String Adresse IP ou nom de domaine
port Int Port de connexion
status Int Code numérique indiquant l'état du service
down_since Int Date et heure (timestamp) à partir duquel le service a été détecté comme indisponible
up_since Int Date et heure (timestamp) à partir duquel le service est à nouveau en ligne
message String Contiens le message d'alerte envoyé au contact

Alertes de serveurs

Les alertes concernant un serveur sont envoyées lorsque le rapport d'un serveur est reçu et que l'état du serveur est changé ou lorsqu'aucun rapport n'a été reçu depuis trop longtemps.

Nom Type Description
event_type String La valeur de cet attribut est toujours est "server"
event_status String La valeur est “down” pour un serveur indisponible et “up” lorsque l'accès est à nouveau possible
id String Identifiant du serveur dans notre base de données
name String Nom du serveur défini dans votre manager
os String Système d'exploitation du serveur
remote_addr String Adresse IP du serveur
status Int Code numérique indiquant l'état du serveur
down_since Int Date et heure (timestamp) à partir duquel le serveur a été détecté comme en erreur
up_since Int Date et heure (timestamp) à partir duquel le serveur est à nouveau opérationnel
message String Contiens le message d'alerte envoyé au contact

Alertes de certificats SSL

Dans le cas d'un changement d'état d'un certificat (valide/invalide), d'une modification d'un attribut qui compose le certificat SSL est modifié ou que le certificat va ou a expiré, une alerte est alors envoyée au webhook.

Nom Type Description
event_type String La valeur de cet attribut est toujours est "certificate".
event_status String La valeur peut être :
  • invalid : lorsqu'une erreur rend le certificat invalide
  • valide : lorsqu'un certificat est à nouveau valide
  • expired : lorsque la date de validité est dépassée
  • reminder : lorsque la date de validité du certificat SSL atteint un seuil d'alerte défini par l'utilisateur
id String Identifiant du test du certificat SSL dans notre base de données
name String Nom du test de certificat SSL défini dans votre manager
url String URL avec laquelle le test est effectué
status Int Code numérique indiquant l'état du certificat SSL
down_since Int Date et heure (timestamp) à partir duquel le certificat SSL a été détecté en erreur
up_since Int Date et heure (timestamp) à partir duquel le certificat SSL est à nouveau valide
message String Contiens le message d'alerte envoyé au contact

Dans le cas où “event_status” a pour valeur “reminder”, les attributs “down_since” et “up_since” n'existent pas et sont remplacés par “time_expire” indiquant la date à laquelle le nom de domaine va expirer

Alertes de noms de domaines

Une alerte est envoyée au webhook dans les cas où un nom de domaine voit un de ses attributs modifiés, qu'il va ou a expiré ou qu'un problème relatif à sa résolution est détecté.

Nom Type Description
event_type String La valeur de cet attribut est toujours est "domain"
event_status String La valeur peut être :
  • ok : lorsque le nom de domaine est à nouveau dans un état “valide”
  • onchange : lorsqu'un ou plusieurs attributs du certificat ont été modifiés
  • reminder : lorsque la date de validité du nom de domaine atteint un seuil d'alerte défini par l'utilisateur
id String Identifiant du test du nom de domaine dans notre base de données
name String Nom du test de nom de domaine défini dans votre manager
domain_name String Nom de domaine sur lequel est effectué le test
status Int Code numérique indiquant l'état du nom de domaine
down_since Int Date et heure (timestamp) à partir duquel le nom de domaine a été détecté en erreur
up_since Int Date et heure (timestamp) à partir duquel le nom de domaine est à nouveau dans un état “Ok"
message String Contiens le message d'alerte envoyé au contact

Dans le cas où “event_status” a pour valeur “reminder”, les attributs “down_since” et “up_since” n'existent pas et sont remplacés par “time_expire” indiquant la date à laquelle le nom de domaine va expirer