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
POSTavecContent-Type: application/json. - Répond
2xxdans les 10 secondes (sinon la livraison est réessayée).
2. Ajouter l’intégration
- Allez dans Integrations → New Integration.
- Sélectionnez Webhook.
- Renseignez les champs :
| Champ | Valeur |
|---|---|
| Name | Par ex. Production Webhook |
| Webhook URL | Votre endpoint, par ex. https://api.example.com/hooks/incidents |
| Signing Secret | Facultatif. Si défini, chaque requête porte l’en-tête X-isthisthing.online-Signature. |
- 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
| Tentative | Délai |
|---|---|
| 1re tentative | 30 secondes |
| 2e tentative | 2 minutes |
| 3e tentative | 10 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.