Zum Inhalt

📖 Push-Alert-Service – Use Cases


UC-PA-001 – Push-Benachrichtigungen aktivieren

Beschreibung

Ein Benutzer aktiviert Push-Benachrichtigungen in der PWA.

Ziel

Browser-Subscription wird gespeichert; der Benutzer empfängt ab sofort Push-Nachrichten.

Akteure

  • Benutzer

Vorbedingungen

  • Benutzer ist eingeloggt
  • Browser unterstützt Web Push API
  • HTTPS-Verbindung (Voraussetzung der Push API)

Ablauf

  1. Benutzer öffnet Alert-Einstellungen in der PWA
  2. Benutzer klickt „Push-Benachrichtigungen aktivieren"
  3. Browser zeigt Berechtigungsabfrage
  4. Bei Erlaubnis: Service Worker erstellt Push-Subscription
  5. Subscription (endpoint, keys) wird ans Backend gesendet und gespeichert
  6. Bestätigung: „Push-Nachrichten aktiviert"

Fehlerfälle

  • Benutzer verweigert Berechtigung → Info-Meldung, kein Fehler
  • Browser unterstützt Push nicht → Hinweis mit Alternativbeschreibung

Abhängigkeiten

  • PA-001

UC-PA-002 – Push-Benachrichtigungen deaktivieren

Beschreibung

Ein Benutzer deaktiviert Push-Benachrichtigungen oder ein Gerät.

Ziel

Subscription wird deaktiviert; keine weiteren Push-Nachrichten an dieses Gerät.

Ablauf

  1. Benutzer öffnet Alert-Einstellungen
  2. Benutzer klickt „Deaktivieren" für ein Gerät oder global
  3. Subscription wird im Backend als inaktiv markiert

Abhängigkeiten

  • PA-001

UC-PA-003 – Manuellen Alert / Reminder erstellen

Beschreibung

Ein Benutzer legt eine Erinnerung mit Zeitpunkt, Titel und optionalem Text fest.

Ziel

Zum gewählten Zeitpunkt erhält der Benutzer eine Push-Nachricht.

Akteure

  • Benutzer

Vorbedingungen

  • Push-Subscription ist aktiv

Ablauf

  1. Benutzer öffnet Alert-Einstellungen → „Neuer Reminder"
  2. Benutzer gibt ein:
  3. Titel (Pflicht)
  4. Text (optional)
  5. Datum und Uhrzeit (Pflicht)
  6. Ziel-URL beim Klick (optional)
  7. System speichert Alert-Regel (type=manual)
  8. Zum konfigurierten Zeitpunkt sendet das Backend die Push-Nachricht

Fehlerfälle

  • Zeitpunkt in der Vergangenheit → Validierungsfehler
  • Keine aktive Subscription → Hinweis vor dem Speichern

Abhängigkeiten

  • PA-001, PA-003

UC-PA-004 – Automatischen Alert konfigurieren

Beschreibung

Ein Benutzer aktiviert oder deaktiviert automatische Alert-Regeln (z. B. Lunch-Warnung).

Ziel

Der Benutzer steuert, welche automatischen Events ihn per Push erreichen.

Ablauf

  1. Benutzer öffnet Alert-Einstellungen → „Automatische Alerts"
  2. Liste der verfügbaren Trigger wird angezeigt (z. B. „Fehlende Mittagsbestellung")
  3. Benutzer aktiviert / deaktiviert einzelne Regeln per Toggle
  4. Änderungen werden sofort gespeichert

Abhängigkeiten

  • PA-001, PA-002

UC-PA-005 – Automatischer Alert ausgelöst (System)

Beschreibung

Ein interner Service-Check erkennt eine definierte Bedingung und löst eine Push-Nachricht aus.

Ziel

Der Benutzer wird proaktiv informiert, ohne die App öffnen zu müssen.

Akteure

  • System (Scheduler / Service-Check)

Ablauf

  1. Scheduler führt einen konfigurierten Check aus (z. B. täglich 07:00: Lunch-Check)
  2. Bedingung ist erfüllt (z. B. kein Mittagessen für Account X in 2+ Wochen)
  3. System prüft: Hat der Benutzer diese Regel aktiviert + aktive Subscription?
  4. System sendet Push-Nachricht über pywebpush / VAPID
  5. Versand wird in alert_history protokolliert

Fehlerfälle

  • Subscription abgelaufen (Browser hat entzogen) → Subscription deaktivieren, in History loggen
  • Push-Service nicht erreichbar → Retry nach 15 min, max. 3 Versuche

Abhängigkeiten

  • PA-001, PA-002

UC-PA-006 – Alert-Verlauf einsehen

Beschreibung

Ein Benutzer sieht alle gesendeten Push-Nachrichten der letzten 30 Tage.

Ziel

Nachvollziehbarkeit der versendeten Alerts (wann, warum, Status).

Ablauf

  1. Benutzer öffnet Alert-Einstellungen → „Verlauf"
  2. Liste der letzten Alerts wird angezeigt: Zeitpunkt, Titel, Status (sent / failed)
  3. Fehlgeschlagene Alerts sind als solche markiert

Abhängigkeiten

  • PA-004

UC-PA-007 – Klick auf Push-Nachricht

Beschreibung

Der Benutzer klickt auf eine empfangene Push-Nachricht im Browser / auf dem Gerät.

Ziel

PWA öffnet sich und navigiert zur relevanten Seite (z. B. Lunch-Übersicht).

Ablauf

  1. Browser zeigt empfangene Push-Nachricht an (auch wenn PWA geschlossen)
  2. Benutzer klickt auf die Nachricht
  3. Service Worker fängt den Klick ab und öffnet die PWA
  4. Falls url im Payload gesetzt: Navigation zur Ziel-URL

Abhängigkeiten

  • PA-001

UC-PA-008 – Internen Sofort-Alert auslösen (System) ❌ zurückgebaut

Status: Zurückgebaut am 2026-07-13, siehe PA-006 (obsolete). In der Praxis nicht praktikabel (Chrome für Android ignoriert requireInteraction). Beschreibung bleibt als Referenz stehen.

Beschreibung

Ein anderer Plattform-Service (z. B. der Trade Optimizer) löst über die interne API sofort eine Push-Nachricht mit zur Laufzeit berechnetem Inhalt aus – unabhängig vom Regel- oder Zeitplan-System.

Ziel

Der Benutzer erhält unmittelbar eine Push-Nachricht mit aktuellen Werten (z. B. Order-Daten), ohne dass zuvor eine Alert-Regel angelegt werden musste.

Akteure

  • System (aufrufender Service, im Namen des eingeloggten Benutzers)

Vorbedingungen

  • Aufrufender Service verfügt über einen gültigen JWT des Benutzers
  • Benutzer hat idealerweise eine aktive Push-Subscription (sonst kein Fehler, siehe unten)

Ablauf

  1. Aufrufender Service sendet POST /api/alerts/instant mit Titel, Text, optionalem tag/url und trigger_key
  2. Push-Alert-Service sendet die Nachricht sofort über pywebpush an alle aktiven Subscriptions
  3. Notification wird als persistent (kein Auto-Dismiss) dargestellt
  4. Versand wird in alert_history protokolliert (rule_id = null)
  5. Response enthält den tag zur späteren Referenzierung

Fehlerfälle

  • Keine aktive Subscription → Status skipped, kein Fehler an aufrufenden Service
  • Push-Service nicht erreichbar → Retry-Logik wie in PA-004

Abhängigkeiten

  • PA-001, PA-006

UC-PA-009 – Aktiven Sofort-Alert zurückziehen (System) ❌ zurückgebaut

Status: Zurückgebaut am 2026-07-13, siehe PA-007 (obsolete).

Beschreibung

Ein anderer Service zieht eine zuvor über UC-PA-008 ausgelöste Sofort-Notification zurück, z. B. weil die zugehörige Order verworfen wurde.

Ziel

Die Notification verschwindet beim Benutzer, auch wenn sie bereits zugestellt wurde – es bleiben keine veralteten Werte sichtbar.

Akteure

  • System

Vorbedingungen

  • Notification wurde zuvor über UC-PA-008 mit bekanntem tag ausgelöst

Ablauf

  1. Aufrufender Service sendet DELETE /api/alerts/instant/{tag}
  2. Push-Alert-Service sendet ein "silent close"-Signal an alle aktiven Subscriptions
  3. Service Worker im Browser schließt alle Notifications mit passendem tag

Fehlerfälle

  • Notification wurde bereits vom Nutzer manuell entfernt → kein Fehler (idempotent)
  • Gerät offline beim Versand des Close-Signals → Notification bleibt bestehen bis zur nächsten Synchronisation (bekannte Einschränkung von Web Push)

Abhängigkeiten

  • PA-001, PA-007

Changelog

Version Datum Änderungen
1.2 2026-07-13 UC-PA-008 und UC-PA-009 als zurückgebaut markiert (siehe PA-006/PA-007, obsolete)
1.1 2026-07-08 UC-PA-008 und UC-PA-009 neu – Sofort-Alerts, ausgelöst per interner Service-API (z.B. vom Trade Optimizer) und deren Zurückziehen (PA-006, PA-007)
1.0 2026-06-25 Initiale Version