Email Signatures API
Die Email-Signatures API verwaltet mehrsprachige E-Mail-Signaturen, die an ausgehende Ticket-E-Mails angehängt werden. Signaturen werden pro Mailbox zugeordnet oder fallen auf eine Default-Signatur zurück, unterstützen Inline-Bilder (CID-embedded) und Variablen-Platzhalter.
🔐 Auth: Nur für angemeldete Benutzer (Cookie-Session); API-Keys werden abgelehnt. Rechte über emailSignatures.*. Siehe RBAC →.
Endpunkte
| Method | Endpoint | Beschreibung | Permission |
|---|---|---|---|
GET | /api/email-signatures | Liste — { data, pagination } (Pagination, Suche) | view |
GET | /api/email-signatures/:id | Einzelne Signatur | view |
GET | /api/email-signatures/:id/preview | Gerenderte Vorschau (Query language?) | view |
POST | /api/email-signatures | Erstellen (201) | create |
PUT | /api/email-signatures/:id | Aktualisieren | edit |
DELETE | /api/email-signatures/:id | Soft-Delete → 204 | delete |
POST | /api/email-signatures/:id/set-default | Als Default setzen (die bisherige Default-Signatur wird zurückgesetzt) → Signatur-Objekt | setDefault |
POST | /api/email-signatures/:id/activate | Aktivieren → Signatur-Objekt | edit |
POST | /api/email-signatures/:id/deactivate | Deaktivieren → Signatur-Objekt | edit |
POST | /api/email-signatures/:id/test-email | Test-E-Mail an eigene Adresse (Body language?) → { queued, recipient } | edit |
Listen-Query: page (Default 1), limit (Default 25, max 100), search, isActive (true/false). Die Mailbox-Zuordnung selbst erfolgt über die Mailbox-Konfiguration (separates Recht emailSignatures.assignToMailbox).
- Unbekannte Felder im Body werden mit 400 abgelehnt. Die language-Parameter von Vorschau und Test-E-Mail akzeptieren nur die fünf Systemsprachen; die Sprach-Keys in translations bleiben bewusst frei (2–5 Zeichen), damit Bestandsdaten mit weiteren Sprachen erhalten bleiben.
- Die Test-E-Mail verlangt einen aktiven E-Mail-Kanal — ist der Versand global deaktiviert oder in Wartung, antwortet die Route 400 EMAIL_SYSTEM_DISABLED, statt eine Mail in eine stillstehende Queue zu legen. Der Versand selbst läuft asynchron; { queued: true } heißt „angenommen", nicht „zugestellt".
Signatur erstellen
POST /api/email-signatures
{
"name": "Support-Team",
"isDefault": false,
"isActive": true,
"translations": {
"de": {
"html": "<p>Mit freundlichen Grüßen<br>{{agentName}} — {{companyName}}</p>",
"plainText": "Mit freundlichen Grüßen\n{{agentName}} — {{companyName}}"
},
"en": {
"html": "<p>Best regards<br>{{agentName}} — {{companyName}}</p>",
"plainText": "Best regards\n{{agentName}} — {{companyName}}"
}
}
}
translations ist ein Record (mind. eine Sprache, Key 2–5 Zeichen), je Eintrag html + plainText (beide Pflicht). name 1–100 Zeichen. Beim Setzen von isDefault=true werden andere Defaults automatisch zurückgesetzt. Das HTML wird beim Speichern sanitisiert.
Platzhalter (fünf, in html und plainText): {{agentName}}, {{agentEmail}}, {{agentPhone}}, {{companyName}} und {{appUrl}}. Bei einer Ticket-Antwort stehen {{agentName}} und {{agentEmail}} für Name und E-Mail-Adresse des antwortenden Agents; in System-Benachrichtigungen steht {{agentName}} für den Anwendungsnamen, {{agentEmail}} bleibt dort leer. {{companyName}} kommt aus den allgemeinen Einstellungen, {{appUrl}} ist die Adresse der Anwendung. Die Vorschau füllt alle fünf mit Beispieldaten. Unbekannte Platzhalter bleiben als Text stehen; Zeilen, die durch einen leeren Wert leer werden, entfallen.
Auflösung beim E-Mail-Versand
Beim Versand einer Ticket-Antwort wird die passende Signatur ermittelt: zuerst die der Mailbox zugeordnete, sonst die Default-Signatur. Eingebettete Bilder werden als CID-Anhänge mit der E-Mail verschickt, sodass sie ohne Nachladen angezeigt werden.
Permissions (emailSignatures)
| Permission | Beschreibung |
|---|---|
emailSignatures.view | Liste/Details/Preview |
emailSignatures.create | Neue Signatur erstellen |
emailSignatures.edit | Bearbeiten, aktivieren/deaktivieren, Test-E-Mail |
emailSignatures.delete | Löschen (Soft-Delete) |
emailSignatures.setDefault | Default-Signatur festlegen |
emailSignatures.assignToMailbox | Signatur einer Mailbox zuordnen (Mailbox-Konfiguration) |
E-Mail-Versand, Mailboxen, CID-Inline-Bilder
Benachrichtigungs-Templates (separat von Signaturen)