Stream EstateStream Estate
Concepts

Alert

Recherche sauvegardée avec livraison email et/ou webhook

Une Alert est une recherche sauvegardée qui produit des AlertEvents quand de nouveaux listings correspondent. Les événements sont livrés via EventDestinations (email ou webhook) selon les rules configurées.

Schéma Alert

ChampTypeDescription
idstring (uuid)Lecture seule
namestring | nullNom de l'alerte
activebooleanStatut actif
searchModeenumCLASSIC ou ADVANCED
criteriaCriteriaNodeDTO | nullArbre récursif de critères
notificationConfigAlertNotificationConfigDTO | nullRègles de notification
eventDestinationIdstring | nullUUID de l'EventDestination liée (read-only)
signingKeystring | nullClé HMAC pour signer les webhooks (présent dans la réponse POST uniquement)
destinationWebhookUrlstring | nullURL webhook (pour créer/mettre à jour la destination)
destinationEmailstring | nullEmail (pour créer/mettre à jour la destination)
createdAt / updatedAtstring | nullISO 8601

Règles de notification (AlertNotificationRuleDTO)

Chaque règle cible un eventType et peut être conditionnée par un seuil :

eventTypeDéclencheur
NEW_MATCHUne property correspond pour la première fois
ADDITIONAL_LISTINGUn listing supplémentaire s'ajoute sur une property déjà matchée
PRICE_CHANGEDLe prix change (voir seuils ci-dessous)
ANY_ATTRIBUTE_CHANGEDUn attribut quelconque change
LISTING_EXPIREDUn listing expire

Seuils pour PRICE_CHANGED :

  • thresholdPercentage — déclenche si la variation dépasse X%
  • thresholdMinPercentage / thresholdMaxPercentage — plage de variation
  • thresholdDirectionINCREASE ou DECREASE
  • enabled — boolean

Endpoints

  • POST /alerts — créer (réponse contient signingKey si webhook)
  • GET /alerts — lister
  • GET /alerts/{uuid} — détail
  • PUT /alerts/{uuid} — mettre à jour
  • DELETE /alerts/{uuid} — supprimer
  • GET /alerts/{alertUuid}/events — AlertEvents produits par cette alerte
  • GET /alerts/{alertUuid}/events/{uuid} — détail d'un event

Voir aussi : Notifications pour EventDestination et la livraison.

Sur cette page