Stream EstateStream Estate
Concepts

Notifications

EventDestinations, signature webhook et journal de livraison

Quand une Alert produit un AlertEvent, Stream Estate le livre via une EventDestination (email ou webhook). Chaque tentative de livraison est consignée dans une EventNotification.

EventDestination

Endpoint racine : /account/event-destinations

ChampTypeDescription
idstring (uuid)
destinationTypeenumWEBHOOK ou EMAIL
urlstring | nullURL webhook (si WEBHOOK)
emailstring | nullEmail (si EMAIL)
isDefaultbooleanDestination par défaut pour son type
statusenumACTIVE ou SUSPENDED (circuit breaker)
signingKeystring | nullClé HMAC, retournée uniquement dans la réponse POST
createdAt / updatedAtstring | nullISO 8601

Endpoints

  • GET /account/event-destinations — lister
  • POST /account/event-destinations — créer (la réponse contient signingKey une fois)
  • GET /account/event-destinations/{uuid} — détail
  • DELETE /account/event-destinations/{uuid} — supprimer
  • POST /account/event-destinations/{uuid}/reactivate — réactiver une destination SUSPENDED
  • POST /account/webhook-signing-key/rotate — roter la clé de signature globale

Sécuriser un webhook

Chaque POST vers votre endpoint est signé avec signingKey. Vérifiez l'en-tête HMAC-SHA256 côté réception avant de traiter le payload (noms d'en-têtes exacts : consultez la réponse POST /account/event-destinations ou l'API Reference).

EventNotification (journal de livraison)

Endpoint racine : /event-notifications

ChampTypeDescription
idstring (uuid)
channelenumEMAIL ou WEBHOOK
destinationAddressstringURL ou email cible
statusenumPENDING, DELIVERED, FAILED, SUSPENDED
attemptNumberintegerNombre de tentatives
deliveredAtstring | nullTimestamp de la livraison réussie
lastErrorMessagestring | nullMessage de la dernière erreur
createdAt / updatedAtstring | nullISO 8601

Endpoints

  • GET /event-notifications — lister (filtrer par statut, canal, etc.)
  • GET /event-notifications/{uuid} — détail

Circuit breaker

Si trop d'échecs consécutifs, la destination passe en SUSPENDED et les notifications futures sont mises en SUSPENDED dans le journal. Utilisez POST /account/event-destinations/{uuid}/reactivate après avoir corrigé le problème côté receveur.

Sur cette page