Webhooks
Un webhook avertit l’un de vos systèmes dès qu’un événement se produit dans goPrevina : un incident est enregistré, une session de formation est terminée ou le statut d’une exigence de conformité change. goPrevina envoie l’événement à l’URL que vous indiquez, signé en HMAC-SHA256 dans l’en-tête X-Webhook-Signature.
1. Ce qui figure à l’écran
Le bloc « Créer un webhook » avec « Nom », « URL cible » et la liste des « Événements » pouvant être envoyés : « incident.created » (incident enregistré), « training.session.completed » (session de formation terminée) et « compliance.status.changed » (statut de conformité modifié). En dessous figurent les webhooks créés ; s’il n’y en a aucun, le message « Aucun webhook pour l'instant. » s’affiche.
2. Créer un webhook
1. Saisissez un « Nom » et l’« URL cible » (l’adresse HTTPS de votre système qui recevra les événements).
2. Cochez au moins un événement.
3. Cliquez sur « Créer un webhook ».
4. Le secret de signature apparaît avec l’avertissement « Copiez ce secret de signature maintenant — il ne sera plus affiché : ». Stockez-le dans votre système : grâce à lui, votre système vérifie que chaque requête provient de goPrevina en calculant le HMAC-SHA256 du corps et en le comparant à l’en-tête X-Webhook-Signature.
3. Contrôler les envois et désactiver
Chaque webhook de la liste dispose de « Historique des envois » (événement, statut, tentatives, code de réponse et date de chaque envoi), « Activer / désactiver » et « Supprimer ». Si votre URL échoue 5 fois de suite, goPrevina la marque « désactivé automatiquement » et cesse les envois : corrigez votre système, consultez l’historique et réactivez-le.
4. Ce que reçoit votre système
Chaque événement arrive sous forme de requête POST avec un corps JSON et deux en-têtes : X-Webhook-Event, avec le nom de l’événement, et X-Webhook-Signature, avec la signature. Votre système doit répondre avec un code 2xx ; toute autre réponse compte comme un échec, fait l’objet de nouvelles tentatives et apparaît dans l’« Historique des envois ».