Aller au contenu principal

Types d'événements webhook

Open in QuickMonitoring→ Sites → [Votre site] → Paramètres → Webhooks

QuickMonitoring déclenche différents types d'événements webhook (scan.completed, uptime.down, uptime.recovered, ssl.expiring) — abonnez-vous uniquement aux événements qui vous concernent.

Types d'événements disponibles​

scan.completed​

Déclenché lorsqu'une analyse complète se termine avec succès. Ce type est utile pour :

  • alimenter un tableau de bord de qualité en temps réel,
  • déclencher un rapport dans votre outil de gestion de projet,
  • notifier votre équipe dans Slack après chaque analyse automatique.

Exemple de payload :

{
"event": "scan.completed",
"timestamp": "2025-05-19T14:32:00Z",
"site": {
"id": "site_abc123",
"name": "Mon site",
"url": "https://example.com"
},
"scan": {
"id": "scan_xyz789",
"started_at": "2025-05-19T14:28:00Z",
"completed_at": "2025-05-19T14:32:00Z",
"pages_crawled": 24,
"summary": {
"errors": 3,
"validation_issues": 7,
"broken_links": 1,
"spell_errors": 12
}
}
}

uptime.down​

Déclenché dès qu'une vérification de disponibilité échoue et qu'un incident d'indisponibilité est enregistré. Ce type est idéal pour :

  • créer automatiquement un incident dans PagerDuty ou OpsGenie,
  • envoyer une alerte dans un canal Slack dédié aux incidents,
  • déclencher une action corrective dans votre système d'orchestration.

Exemple de payload :

{
"event": "uptime.down",
"timestamp": "2025-05-19T09:15:00Z",
"site": {
"id": "site_abc123",
"name": "Mon site",
"url": "https://example.com"
},
"incident": {
"id": "incident_001",
"detected_at": "2025-05-19T09:15:00Z",
"error_type": "HTTP_503",
"error_message": "Service Unavailable"
}
}

uptime.recovered​

Déclenché dès que le site répond à nouveau après un incident d'indisponibilité. Ce type est utile pour :

  • résoudre automatiquement un incident dans PagerDuty,
  • notifier votre équipe que la crise est terminée,
  • enregistrer la durée de l'interruption dans votre système de reporting.

Exemple de payload :

{
"event": "uptime.recovered",
"timestamp": "2025-05-19T09:45:00Z",
"site": {
"id": "site_abc123",
"name": "Mon site",
"url": "https://example.com"
},
"incident": {
"id": "incident_001",
"detected_at": "2025-05-19T09:15:00Z",
"recovered_at": "2025-05-19T09:45:00Z",
"duration_minutes": 30
}
}

ssl.expiring​

Déclenché lorsque la surveillance SSL détecte qu'un certificat expire dans 30 jours ou dans 7 jours. Ce type est utile pour :

  • créer automatiquement un ticket de renouvellement dans votre outil de gestion de projet,
  • notifier le responsable technique du client directement via un webhook,
  • intégrer la surveillance SSL dans votre processus de maintenance mensuelle.

Exemple de payload :

{
"event": "ssl.expiring",
"timestamp": "2025-05-19T06:00:00Z",
"site": {
"id": "site_abc123",
"name": "Mon site",
"url": "https://example.com"
},
"ssl": {
"expires_at": "2025-06-18T12:00:00Z",
"days_remaining": 30,
"issuer": "Let's Encrypt"
}
}

S'abonner à des événements spécifiques​

Lors de la création ou de la modification d'un webhook, vous pouvez sélectionner individuellement les types d'événements qui déclencheront ce webhook. Vous pouvez créer plusieurs webhooks avec des abonnements différents — par exemple :

  • Un webhook « Incidents » (URL PagerDuty) abonné à uptime.down et uptime.recovered
  • Un webhook « Rapports d'analyse » (URL Slack) abonné à scan.completed
  • Un webhook « Maintenance SSL » (URL système interne) abonné à ssl.expiring

Condition de validation​

Dans Paramètres → Webhooks, configurez un webhook avec au moins un type d'événement sélectionné et enregistrez-le. Tous les types d'événements disponibles doivent avoir été consultés dans l'interface de configuration.

Problèmes courants​

Mon endpoint reçoit des événements que je n'ai pas demandés. Vérifiez la liste des types d'événements abonnés dans les paramètres du webhook. Si vous avez sélectionné « Tous les événements » lors de la création initiale, décochez les types non souhaités et enregistrez à nouveau.

Je veux filtrer les événements en fonction du contenu du payload. QuickMonitoring envoie tous les événements auxquels vous êtes abonné sans filtrage additionnel côté plateforme. Implémentez le filtrage dans votre propre endpoint ou utilisez un outil d'orchestration comme Make ou Zapier pour router les événements en fonction de leur contenu.

Le payload de l'événement scan.completed ne contient pas assez de détails. Le payload webhook contient un résumé de haut niveau. Pour accéder aux détails complets (liste exhaustive des erreurs, résultats page par page), utilisez l'API REST de QuickMonitoring avec l'identifiant scan.id retourné dans le payload.