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. Chaque tentative de livraison est consignée dans une EventNotification.

EventDestination

Endpoint racine : /account/event-destinations

ChampTypeDescription
idstring (uuid)
urlstring | nullURL webhook, HTTPS obligatoire
isDefaultbooleanDestination par défaut du compte. true promeut celle-ci et rétrograde l'ancienne. La première destination créée devient la destination par défaut automatiquement.
statusenumACTIVE ou SUSPENDED (circuit breaker)
signingKeystring | nullClé HMAC, voir ci-dessous
createdAt / updatedAtstring | nullISO 8601

Une destination peut aussi être créée à la volée depuis POST /alerts — voir Alert.

Endpoints

  • GET /account/event-destinations — lister
  • POST /account/event-destinations — créer
  • GET /account/event-destinations/{uuid} — détail
  • DELETE /account/event-destinations/{uuid} — supprimer
  • POST /account/webhook-signing-key/rotate — faire tourner la clé de signature globale

La réactivation d'une destination SUSPENDED se fait depuis la console : console.stream.estate/webhooks.

Clé de signature (signingKey)

La clé HMAC est propre au compte, pas à la destination : une seule clé signe tous vos webhooks.

Elle n'est renvoyée qu'une seule fois, dans la réponse de l'appel qui crée la toute première destination webhook du compte — que cet appel soit un POST /account/event-destinations ou un POST /alerts avec webhookUrl. Les destinations créées ensuite réutilisent la même clé et ne la renvoient plus. Stockez-la à réception : elle n'est jamais relisible.

Perdue ou compromise : POST /account/webhook-signing-key/rotate en émet une nouvelle et invalide l'ancienne.

Chaque POST vers votre endpoint est signé avec cette clé. Vérifiez l'en-tête HMAC-SHA256 côté réception avant de traiter le payload (noms d'en-têtes exacts : voir Webhooks).

EventNotification (journal de livraison)

Endpoint racine : /event-notifications

ChampTypeDescription
idstring (uuid)
destinationAddressstringURL 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, paginé via ?page=N (le filtrage par statut côté client se fait dans votre code)
  • GET /event-notifications/{uuid} — détail

Circuit breaker

Si trop d'échecs consécutifs, la destination passe en SUSPENDED et les notifications suivantes sont enregistrées avec le statut SUSPENDED dans le journal. Après avoir corrigé le problème côté récepteur, réactivez la destination depuis la console : console.stream.estate/webhooks.

Version 0.1.116Dernière mise à jour

Sur cette page