# 6. Preisbenachrichtigungen

Das Plugin kann Kunden automatisch per E-Mail benachrichtigen, wenn Produkte auf ihren Wunschlisten im Preis sinken. Dafür sind zwei Voraussetzungen notwendig:

1. Die Funktion ist in den Plugin-Einstellungen **global aktiviert** (Standardmäßig aktiv).
2. Im **Flow Builder** ist ein Flow eingerichtet, der die E-Mail versendet.

## Wie die Preiserfassung funktioniert

Beim Hinzufügen eines Produkts zur Wunschliste speichert das Plugin automatisch den aktuellen Bruttopreis (Einzelpreis) und die Währungs-ID des Artikels. Dieser gespeicherte Preis dient als Referenz für spätere Preisvergleiche.

Ein **geplanter Hintergrundjob** (Scheduled Task) prüft regelmäßig alle Wunschlisten-Artikel auf Preisänderungen. Fällt der aktuelle Preis unter den gespeicherten Preis (abzüglich des konfigurierten Schwellenwerts), wird ein Flow Builder-Event ausgelöst.

> **Hinweis:** Der Scheduled Task Worker muss aktiv sein. Andernfalls werden keine Prüfungen durchgeführt und keine Benachrichtigungen versendet.

## Schwellenwert konfigurieren

In den [Plugin-Einstellungen](https://docs.momocode.de/shopware-6/erweiterte-wunschlisten/3.-konfiguration) unter **Preissenkungsbenachrichtigungen** können Sie festlegen:

* **Schwellenwerttyp** — `Prozentsatz` oder `Absoluter Wert`
* **Mindestpreissenkungsschwelle** — z. B. `5` für 5 % oder 5 €

Nur Preissenkungen, die den Schwellenwert überschreiten, lösen eine Benachrichtigung aus. Damit werden Mikroschwankungen (z. B. durch gerundete Währungsumrechnungen) herausgefiltert.

## Flow Builder einrichten

Das Plugin stellt das Event **„Wunschliste Preissenkungsbenachrichtigung"** (im Flow Builder: **„Wishlist Price Drop"**, technisch: `momo_advanced_wishlists.price_drop`) für den Flow Builder bereit.

### Schritt 1: Flow anlegen

1. Navigieren Sie zu **Marketing → Flow Builder**.
2. Klicken Sie auf **Flow erstellen**.
3. Geben Sie dem Flow einen aussagekräftigen Namen (z. B. „Preissenkungsbenachrichtigung").

### Schritt 2: Trigger auswählen

1. Klicken Sie auf **Trigger hinzufügen**.
2. Suchen Sie nach **Wishlist Price Drop** oder scrollen Sie in der Kategorie „Wunschliste".
3. Wählen Sie das Event aus.

### Schritt 3: Aktion hinzufügen

1. Klicken Sie auf **Aktion hinzufügen**.
2. Wählen Sie **E-Mail senden**.
3. Wählen Sie einen E-Mail-Empfänger — für Kundenbenachrichtigungen: **Kunde (Wunschliste)**.
4. Wählen Sie eine E-Mail-Vorlage oder erstellen Sie eine neue. Das Plugin legt bei der Installation automatisch die Vorlage **„Wunschliste Preissenkungsbenachrichtigung"** an — diese können Sie direkt auswählen und verwenden.

### Schritt 4: E-Mail-Vorlage gestalten

In der E-Mail-Vorlage stehen die folgenden Variablen aus dem Preissenkungsevent zur Verfügung:

| Variable                | Inhalt                                   |
| ----------------------- | ---------------------------------------- |
| `{{ customer }}`        | Kundenobjekt (Name, E-Mail-Adresse etc.) |
| `{{ priceDropItems }}`  | Array der betroffenen Artikel (s. u.)    |
| `{{ currencyIsoCode }}` | Währungscode (z. B. `EUR`)               |

Jedes Element in `priceDropItems` enthält:

| Schlüssel           | Inhalt                              |
| ------------------- | ----------------------------------- |
| `productName`       | Produktname                         |
| `productId`         | Produkt-ID                          |
| `oldPrice`          | Ursprünglicher Preis (Float)        |
| `newPrice`          | Aktueller Preis (Float)             |
| `savingsAmount`     | Ersparnis (absoluter Betrag, Float) |
| `savingsPercentage` | Ersparnis (Prozentwert, Float)      |
| `productUrl`        | URL zum Produkt in der Storefront   |

**Beispiel-Twig für die E-Mail-Vorlage:**

```twig
Hallo {{ customer.firstName }},

folgende Produkte auf Ihrer Wunschliste sind günstiger geworden:

{% for item in priceDropItems %}
- {{ item.productName }}
  Vorher: {{ item.oldPrice }} {{ currencyIsoCode }}
  Jetzt:  {{ item.newPrice }} {{ currencyIsoCode }}
  Sie sparen: {{ item.savingsAmount }} {{ currencyIsoCode }} ({{ item.savingsPercentage }}%)
  Zum Produkt: {{ item.productUrl }}
{% endfor %}

Viele Grüße,
Ihr Shop-Team
```

### Schritt 5: Flow aktivieren

Stellen Sie sicher, dass der Flow auf **Aktiv** gesetzt ist, bevor Sie speichern.

## Kunden-Opt-in

Damit ein Kunde Benachrichtigungen erhält, muss er die Funktion pro Wunschliste **selbst aktivieren**:

1. Die Wunschlisten-Detailseite in der Storefront öffnen.
2. Im Bereich **Preissenkungsbenachrichtigungen** den Umschalter aktivieren.

Kunden können den Umschalter jederzeit wieder deaktivieren. Ist die Funktion global in den Plugin-Einstellungen deaktiviert, ist der Umschalter in der Storefront ausgeblendet.

## Häufige Fragen

**Werden Benachrichtigungen für alle Preissenkungen versendet?** Nein. Nur Preissenkungen, die den konfigurierten Schwellenwert überschreiten, lösen eine Benachrichtigung aus.

**Wird eine Benachrichtigung versendet, wenn der Preis mehrfach sinkt?** Ja, bei jeder Prüfung, bei der der Preis unter den gespeicherten Referenzpreis fällt, wird ein Event ausgelöst. Der Referenzpreis wird dabei nicht automatisch aktualisiert.

**Was passiert, wenn ein Produkt aus dem Sortiment entfernt wird?** Artikel ohne auflösbaren Preis werden bei der Prüfung übersprungen. Es wird keine Benachrichtigung und keine Fehlermeldung ausgelöst.
