From c904641677d41737d2a6fcac73902fe1e99a8c83 Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Sat, 7 Mar 2026 00:18:27 +0000 Subject: [PATCH] fix(#28): Notification-Strategie definieren --- docs/concepts/notification-strategy.md | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/concepts/notification-strategy.md diff --git a/docs/concepts/notification-strategy.md b/docs/concepts/notification-strategy.md new file mode 100644 index 0000000..1d7f53f --- /dev/null +++ b/docs/concepts/notification-strategy.md @@ -0,0 +1,32 @@ +# Notification-Strategie + +## Ereignisse + +Die folgenden Ereignisse sind in der Anwendung definiert: + +1. **Neues Angebot** – Ein neues Angebot wurde erstellt. +2. **Gegenangebot** – Ein Gegenangebot wurde eingereicht. +3. **Deal** – Ein Deal wurde abgeschlossen. +4. **Bewertungsfenster** – Das Bewertungsfenster (2-14 Tage) für ein Angebot ist geöffnet. + +## Notification-Queue/Dispatcher-Schnittstelle + +Das Backend muss einen klaren Hook pro Kernereignis haben, um Benachrichtigungen zu versenden. Die Schnittstelle zur Notification-Queue wird wie folgt definiert: + +```ts +interface NotificationEvent { + type: 'offer' | 'counter-offer' | 'deal' | 'review-window'; + payload: any; + userId: string; + timestamp: Date; +} + +interface NotificationDispatcher { + dispatch(event: NotificationEvent): Promise; +} +``` + +## Retry- und Dedupe-Regeln + +- **Retry**: Bei einem Fehler beim Versand einer Benachrichtigung wird ein Retry-Mechanismus mit exponentiellem Backoff verwendet. +- **Dedupe**: Jede Benachrichtigung wird einmalig pro Nutzer und Ereignis versendet, um Duplikate zu vermeiden.