All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 48s
CI / test-python-backend-compliance (push) Successful in 42s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 21s
- Neue Seiten: dsr.md, email-templates.md, banner-consent.md - rechtliche-texte.md: User-Consents & Cookie-Kategorien (Migration 028) ergaenzt - mkdocs.yml: 3 neue Nav-Eintraege unter SDK Module Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
E-Mail-Templates
Das E-Mail-Templates-Modul verwaltet Benachrichtigungs-Vorlagen fuer alle Compliance-Prozesse: DSR-Bestaetigung, Einwilligungsnachweise, Datenschutzverletzungen, Vendor-Management und mehr. Es bietet einen vollstaendigen Approval-Workflow (Draft → Review → Approved → Published), Variablen-Substitution und eine Vorschau-Funktion.
Uebersicht
| Eigenschaft | Wert |
|---|---|
| SDK-Route | /sdk/email-templates |
| Backend | backend-compliance:8002 |
| Router-Prefix | /api/compliance/email-templates |
| Paket | Betrieb (seq 4350) |
| DB-Migration | 027_email_templates.sql |
| Tests | 47 Tests (test_email_template_routes.py) |
| Status | 100% — Backend + Frontend |
Template-Typen (20)
| Typ | Kategorie | Beschreibung |
|---|---|---|
welcome |
Allgemein | Willkommens-E-Mail |
verification |
Allgemein | E-Mail-Verifizierung |
password_reset |
Allgemein | Passwort zuruecksetzen |
account_locked |
Sicherheit | Konto gesperrt |
consent_granted |
Einwilligung | Einwilligung erteilt |
consent_withdrawn |
Einwilligung | Einwilligung widerrufen |
consent_reminder |
Einwilligung | Einwilligungs-Erinnerung |
dsr_received |
DSR | Anfrage eingegangen |
dsr_processing |
DSR | Anfrage in Bearbeitung |
dsr_completed |
DSR | Anfrage abgeschlossen |
dsr_rejected |
DSR | Anfrage abgelehnt |
breach_notification |
Datenschutz | Datenschutzverletzung |
breach_authority |
Datenschutz | Meldung an Aufsichtsbehoerde |
vendor_assessment |
Vendor | Auftragsverarbeiter-Bewertung |
vendor_reminder |
Vendor | Auftragsverarbeiter-Erinnerung |
training_assigned |
Schulung | Schulung zugewiesen |
training_reminder |
Schulung | Schulungs-Erinnerung |
training_completed |
Schulung | Schulung abgeschlossen |
audit_scheduled |
Audit | Audit geplant |
audit_completed |
Audit | Audit abgeschlossen |
Approval-Workflow
graph LR
A[draft] --> B[review]
B --> C[approved]
B --> D[rejected]
D --> A
C --> E[published]
- Draft: Vorlage wird erstellt/bearbeitet
- Review: Zur Pruefung eingereicht
- Approved: Von DSB/Compliance-Beauftragtem freigegeben
- Published: Aktiv im System — wird fuer E-Mail-Versand verwendet
- Rejected: Zurueck an Autor mit Begruendung
API-Endpoints
Template-Verwaltung
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/email-templates/types |
Verfuegbare Template-Typen mit Variablen |
GET |
/email-templates |
Alle Templates (mit letzter publizierter Version) |
POST |
/email-templates |
Template erstellen |
GET |
/email-templates/{id} |
Template-Detail |
GET |
/email-templates/default/{type} |
Default-Content fuer einen Typ |
POST |
/email-templates/initialize |
Default-Templates initialisieren (20 Typen) |
Version-Management
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/email-templates/{id}/versions |
Versionen eines Templates |
POST |
/email-templates/versions |
Version erstellen |
POST |
/email-templates/{id}/versions |
Version fuer Template erstellen |
GET |
/email-templates/versions/{id} |
Version-Detail |
PUT |
/email-templates/versions/{id} |
Draft aktualisieren |
Workflow-Aktionen
| Methode | Pfad | Beschreibung |
|---|---|---|
POST |
/email-templates/versions/{id}/submit |
Zur Pruefung einreichen |
POST |
/email-templates/versions/{id}/approve |
Genehmigen |
POST |
/email-templates/versions/{id}/reject |
Ablehnen (mit Begruendung) |
POST |
/email-templates/versions/{id}/publish |
Publizieren |
Vorschau & Test
| Methode | Pfad | Beschreibung |
|---|---|---|
POST |
/email-templates/versions/{id}/preview |
Vorschau mit Test-Variablen |
POST |
/email-templates/versions/{id}/send-test |
Test-E-Mail senden (Simulation) |
Einstellungen & Logs
| Methode | Pfad | Beschreibung |
|---|---|---|
GET |
/email-templates/settings |
Globale Einstellungen (Branding) |
PUT |
/email-templates/settings |
Einstellungen speichern |
GET |
/email-templates/stats |
Statistiken (gesamt, publiziert, Entwuerfe) |
GET |
/email-templates/logs |
Send-Logs (paginiert) |
Variablen
Templates unterstuetzen Mustache-Variablen ({{variable}}), die beim Versand ersetzt werden:
| Variable | Beschreibung | Verfuegbar in |
|---|---|---|
{{user_name}} |
Name des Empfaengers | Alle |
{{company_name}} |
Unternehmensname | Alle |
{{date}} |
Aktuelles Datum | Alle |
{{request_number}} |
DSR-Antragsnummer | DSR-Templates |
{{request_type}} |
Art der Anfrage | DSR-Templates |
{{deadline}} |
Bearbeitungsfrist | DSR-Templates |
{{document_title}} |
Dokumenttitel | Consent-Templates |
{{breach_description}} |
Vorfallbeschreibung | Breach-Templates |
{{training_title}} |
Schulungstitel | Training-Templates |
{{vendor_name}} |
Auftragsverarbeiter | Vendor-Templates |
{{portal_url}} |
Link zum Portal | DSR, Consent |
DB-Tabellen (Migration 027)
| Tabelle | Beschreibung |
|---|---|
compliance_email_templates |
Template-Definitionen (type, name, is_active) |
compliance_email_template_versions |
Versionierter Content (subject, body_html, body_text, status) |
compliance_email_template_approvals |
Approval-Workflow (approve/reject mit Kommentar) |
compliance_email_send_logs |
Audit-Trail gesendeter E-Mails |
compliance_email_template_settings |
Globale Einstellungen (Logo, Farben, Absender, Footer) |
Datenmodell (Template-Version)
{
"id": "uuid",
"template_id": "uuid",
"version_number": 2,
"subject": "Ihre Betroffenenanfrage {{request_number}}",
"body_html": "<h1>Sehr geehrte/r {{user_name}}</h1>...",
"body_text": "Sehr geehrte/r {{user_name}}...",
"language": "de",
"status": "published",
"created_by": "dsb@firma.de",
"created_at": "2026-03-05T10:00:00Z",
"published_at": "2026-03-05T14:00:00Z"
}
Frontend
Route: /sdk/email-templates | Datei: app/(sdk)/sdk/email-templates/page.tsx
4 Tabs:
- Templates — Grid aller 20 Template-Typen mit Status-Badge und letzter Aenderung
- Editor — Split-View: HTML-Editor + Live-Vorschau, klickbare Variablen-Chips
- Einstellungen — Branding: Absender, Logo-URL, Primaerfarbe, Footer-Text
- Logs — Tabelle mit Send-History (Empfaenger, Template-Typ, Status, Datum)
Frontend-Proxy
| Frontend-Route | Ziel |
|---|---|
/api/sdk/v1/compliance/email-templates/* |
backend:8002/api/compliance/email-templates/* |
Nutzt den bestehenden Compliance-Catch-All-Proxy (/api/sdk/v1/compliance/[[...path]]).