# Erinnerungen und Rückfrage

Automatische E-Mails vor dem Event und die Rückfrage, ob Gäste kommen.

## Hinweise für KI-Agenten

- API-Basisadresse: `https://api.eventwerk.eu/api/v1`
- OpenAPI 3.1: `https://api.eventwerk.eu/openapi.json` und `/api/v1/openapi.json`. Daraus lassen sich Clients und Typprüfungen generieren.
- Anmeldung: `Authorization: Bearer ew_...`
- Schlüssel: Einstellungen unter `/dashboard/einstellungen`, nur mit Eventwerk Plus und nur für Eigentümer. Der volle Schlüssel wird nur einmal angezeigt. Name und Zeitpunkt der letzten Nutzung werden geführt und ausgegeben.
- Zeiten: Alle Zeitpunkte kommen in UTC mit Suffix `Z`. Die Zeitzone des Events steht getrennt in `timezone` als IANA-Name, Standard `Europe/Vienna`. Clients rechnen selbst um.
- Paginierung: Die Event- und Anmeldelisten liefern `{items, has_more, next_cursor}` mit `limit` (Standard 50, höchstens 200), `cursor` und `updated_since`.
- Grenzen: 200 Anfragen pro Minute je Schlüssel. Der Zähler liegt im Speicher je Instanz, ist hinter mehreren Instanzen ein Vielfaches und beginnt nach einem Deploy neu. Bei Überschreitung antwortet die API mit 429, `rate_limited` und `Retry-After`.
- Gastgrenzen: Anmelde-Link 20 je Stunde je IP-Adresse, Anmeldung 60 je Stunde je IP-Adresse und 3 je Stunde je E-Mail-Adresse und Event.
- Fehler: JSON mit `code` und `message`, optional mit `details`.

Erinnerungen verschicken vor einem Event automatisch E-Mails an bestätigte Gäste. Die Rückfrage fragt dieselben Gäste, ob sie kommen. Beides gehört zu einem Event.

## Erinnerungen

Neue Events starten mit zwei Erinnerungen: 24 Stunden und 1 Stunde vor Beginn. Beide sind normale Einträge und lassen sich ändern oder deaktivieren. Die Oberfläche bietet für sie kein Löschen an.

- Je Event sind höchstens 10 Erinnerungen erlaubt. Mehr ergeben Status 409 und `reminder_limit`.
- Der Vorlauf liegt zwischen 5 und 100000 Minuten.
- Der Betreff ist Pflicht und höchstens 200 Zeichen lang.
- Der Text ist Pflicht und höchstens 20000 Zeichen lang.
- Empfänger sind bestätigte Anmeldungen ohne Check-in.
- Nur aktive Erinnerungen werden versendet.
- Versendet wird nur, solange das Event veröffentlicht und noch nicht vorbei ist.
- Der Versand zählt zum wöchentlichen Empfängerkontingent.
- Jede Anmeldung erhält jede Erinnerung höchstens einmal.

Im Betreff und im Text ersetzen Platzhalter die Angaben des Events und des Gasts: `{{titel}}`, `{{name}}`, `{{start}}`, `{{ort}}`, `{{rsvp}}`, `{{ticket}}` und `{{link}}`.

## Rückfrage

Die Erinnerung enthält Links auf `/rsvp?token=<token>` mit `answer=yes` oder `answer=no`, solange die Antwort noch offen ist. Der Token gehört zu einer Anmeldung und ist ein Geheimnis. Die Seite trägt `noindex` und wird nicht zwischengespeichert.

- Die Antwort `yes` speichert die Zusage. Der Anmeldestatus bleibt unverändert.
- Die Antwort `no` storniert eine offene, bestätigte oder wartende Anmeldung. Bei einer offenen oder bestätigten Anmeldung wird der Platz für die Warteliste frei.
- Eine bereits stornierte oder abgelehnte Anmeldung bleibt unverändert.

## Endpunkte

| Methode | Pfad | Zweck |
| --- | --- | --- |
| GET | /api/events/{eventID}/reminders | Erinnerungen eines Events lesen. |
| POST | /api/events/{eventID}/reminders | Erinnerung anlegen. |
| PATCH | /api/events/{eventID}/reminders/{reminderID} | Erinnerung ändern. |
| DELETE | /api/events/{eventID}/reminders/{reminderID} | Erinnerung löschen. |
| GET | /api/public/rsvp?token=<token> | Rückfrage lesen. |
| POST | /api/public/rsvp | Antwort speichern, Rumpf mit token und answer. |

Die POST-Antwort auf eine Rückfrage enthält `answer`, `released` und `message`.

> **Hinweis:** Die Erinnerungsendpunkte brauchen ein Sitzungs-Token und die Rolle Eigentümer oder Verwaltung. Die Rückfrage ist öffentlich und braucht nur den Token.

> **Warnung:** Die Erinnerungen und die Rückfrage sind gebaut. SMS, Push und WhatsApp sind als weitere Kanäle geplant, aber noch nicht gebaut.
