Aller au contenu principal

Webhook

Fonctionnement​

Lorsqu’un événement d’Incident se déclenche, isthisthing.online envoie une requête POST avec un corps JSON vers l’URL que vous configurez. Si vous fournissez un secret de signature, chaque requête inclut un en-tête de signature HMAC-SHA256 pour que vous puissiez vérifier l’authenticité.

1. Préparer votre endpoint​

Votre serveur doit exposer un endpoint HTTP qui :

  • Accepte les requêtes POST avec Content-Type: application/json.
  • Répond 2xx dans les 10 secondes (sinon la livraison est réessayée).

2. Ajouter l’intégration​

  1. Allez dans Integrations → New Integration.
  2. Sélectionnez Webhook.
  3. Renseignez les champs :
ChampValeur
NamePar ex. Production Webhook
Webhook URLVotre endpoint, par ex. https://api.example.com/hooks/incidents
Signing SecretFacultatif. Si défini, chaque requête porte l’en-tête X-isthisthing.online-Signature.
  1. Activez les événements déclencheurs et cliquez sur Save.

3. Vérifier la signature (recommandé)​

Si vous avez défini un secret de signature, validez chaque requête entrante :

const crypto = require('crypto');

function verify(body, secret, headerValue) {
const expected = 'sha256=' +
crypto.createHmac('sha256', secret).update(body).digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(headerValue)
);
}

Schéma du payload​

{
"incidentId": "clx...",
"eventType": "incident.created",
"title": "API latency spike",
"description": "p99 latency above 2 s for 5 minutes",
"status": "OPEN",
"source": "MONITOR",
"monitorId": "clx...",
"monitorName": "Production API",
"monitorUrl": "https://api.example.com/health",
"startedAt": "2026-04-08T12:00:00.000Z",
"resolvedAt": null,
"emittedAt": "2026-04-08T12:00:01.234Z",
"workspaceId": "clx...",
"workspaceName": "Acme Corp",
"workspaceSlug": "acme",
"incidentUrl": "https://app.isthisthing.online/en/acme/incidents/clx...",
"workspaceUrl": "https://app.isthisthing.online/en/acme/dashboard"
}

Politique de nouvelle tentative​

TentativeDélai
1re tentative30 secondes
2e tentative2 minutes
3e tentative10 minutes

Après 3 échecs, l’événement passe en dead letter et n’est plus réessayé.

Sécurité​

  • Vérifiez toujours l’en-tête X-isthisthing.online-Signature.
  • Utilisez uniquement des endpoints HTTPS.
  • Faites tourner le secret de signature en cas de compromission.