Files
breakpilot-compliance/docs-src/services/sdk-modules/email-templates.md
Benjamin Admin 451616b10e
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
docs: MkDocs-Dokumentation fuer DSR, E-Mail-Templates, Banner Consent
- 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>
2026-03-05 08:22:38 +01:00

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:

  1. Templates — Grid aller 20 Template-Typen mit Status-Badge und letzter Aenderung
  2. Editor — Split-View: HTML-Editor + Live-Vorschau, klickbare Variablen-Chips
  3. Einstellungen — Branding: Absender, Logo-URL, Primaerfarbe, Footer-Text
  4. 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]]).