Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung | |||
| allgemein:mailvorlagen [2026/09/30 20:45] – Status token korrigiert (Versand über Keycloak) mlumme_redaktion | allgemein:mailvorlagen [2026/10/01 14:28] (aktuell) – Neue Template-Engine (01.10.2026): Scriban-only, Punkt-Schreibweise, Platzhalterliste aus Code, Vorschau, Zeilenumbrüche, Systemprompt aktualisiert mlumme_redaktion | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Mail Vorlagen ====== | ====== Mail Vorlagen ====== | ||
| - | HSPinONE ermöglicht das Anlegen und Ändern von Systememails, die in erster | + | HSPinONE ermöglicht das Anlegen und Ändern von Systemmails, die in erster |
| - | ===== Vorbereitung der Texte ===== | + | |
| - | ** | + | **Stand 01.10.2026 – neue Template-Engine: |
| - | Alle Platzhalter | + | |
| - | Platzhalten dürfen keine Punkte oder Bindestricht enthalten | + | |
| - | ** | + | |
| - | Die Bearbeitung der Templates erfolgt in den Einstellungen unter eMail Templates. Der zu ersetzende Begriff ist in geschweifte Klammern zu setzen. Es genügt also, in das Template **{Marker}** zu schreiben. Diese Begriffe werden dann von HSPinONE ersetzt, sofern als Skriptsprache classic hinterlegt ist. | + | ===== Platzhalter ===== |
| - | Wird als Skriptsprache Scriban genutzt, müssen die Begriffe | + | * Platzhalter stehen |
| + | * Bevorzugt wird die Schreibweise mit Punkt ('' | ||
| + | * Wenn-Dann-Konstrukte | ||
| + | * Unbekannte Platzhalter bleiben in der Mail leer, der Versand bricht nicht ab. | ||
| + | * Der Betreff wird ebenfalls mit Scriban | ||
| - | Die Begriffe, die vom System ersetzt werden, richten sich nach der ausgewählten Funktionalität. | + | Die verfügbaren Platzhalter hängen |
| - | ^Bezeichnung | + | ===== Wichtige Platzhalter ===== |
| - | ^Ersetzung bei Buchungs Mails^^^ | + | |
| - | |kunde.briefanrede|kunde_briefanrede|Sehr geehrter Herr Becker| | + | |
| - | |kunde.vorname|kunde_vorname|Olaf| | + | |
| - | |kunde.nachname|kunde_nachname|Becker| | + | |
| - | |kunde.suchname|kunde_suchname|Becker, | + | |
| - | |kunde.anrede|kunde_anrede|Herr| | + | |
| - | |kunde.iban|kunde_iban|IBAN| | + | |
| - | |kunde.strasse|kunde_strasse| Straße| | + | |
| - | |kunde.plz|kunde_plz| PLZ | | + | |
| - | |kunde.ort|kunde_ort| Wohnort | | + | |
| - | |kunde.mref|kunde_mref| Mandatsreferenz | | + | |
| - | ^ bei Kursbuchung | + | ^ Platzhalter ^ Inhalt ^ Beispiel ^ |
| - | |kurs.kursname|kurs_kursname|Kinder-Schwimmkurse Start 16.01.15 WEIß, GELB & ORANGE| | + | ^ Allgemein (alle Typen) |
| - | |kurs.veranstaltungsnummer|kurs_veranstaltungsnummer|1257| | + | | '' |
| - | |kurs.semester|kurs_semester|Wintersemester 2014/15| | + | | '' |
| - | |kurs.start|kurs_start|12.01.2014| | + | ^ Empfänger (alle Mail-Typen) ^^^ |
| - | |kurs.ende|kurs_ende| 15.04.2014 | | + | | '' |
| - | |kurs.ort|kurs_ort|Spielhalle| | + | | '' |
| - | |rechnung.preis|rechnung_preis|17.00| | + | | '' |
| - | |meta|meta|Alle Metadaten| | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Kurs (Kursbuchung, | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Rechnung (Buchungsbestätigungen) ^^^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Raum-/ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Vertrag (Neuvertrag, | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Bestellung (Checkout) ^^^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ Registrierung, | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| - | ^ bei Einzelplatzbuchung^^^ | + | ===== Vorschau und Prüfung ===== |
| - | |rechnung_vwz|rechnung_vwz|Kinder-Schwimmkurse Start 16.01.15 WEIß, GELB & ORANGE, Di. 12: | + | |
| - | |kurs_veranstaltungsnummer||1257| | + | |
| - | |kurs_semester||Wintersemester 2014/15| | + | |
| - | |kurs_start||12.01.2014| | + | |
| - | |kurs_ende|| 15.04.2014 | | + | |
| - | |kurs_zeit|| Di. 12: | + | |
| - | |kurs_ort||Spielhalle| | + | |
| - | |rechnung_preis|rechung_preis| Preis des Einzelplatzes | | + | |
| - | |meta|meta|Alle Metadaten| | + | |
| - | ^Bei Vertragsabschluss ^^^ | + | * Über **Vorschau** wird die Vorlage mit Beispieldaten des gewählten Typs gerendert; Syntaxfehler und unbekannte Platzhalter werden angezeigt. |
| - | |vertragsbeginn||Vertragsbeginn| | + | * **Test E-Mail an mich** verschickt diese Vorschau mit Beispieldaten an die eigene Adresse. |
| - | |monate|| Vertragsdauer Erstlaufzeit | | + | * Vorschau und Test-Mail zeigen den Text ohne das Mail-Layout des Stores. Die endgültige Darstellung ist nur über eine echte Testbuchung prüfbar. |
| - | |tarif|| Tarif | | + | * Vorlagen mit Syntaxfehlern (Text oder Betreff) lassen sich nicht speichern. Unbekannte Platzhalter sind nur ein Hinweis, weil Zusatzfelder frei benannt sein können. |
| - | |price|| Monatliche Zahlung | | + | |
| - | ^Bei Platzbuchung Einzel/ | + | ===== Zeilenumbrüche und HTML ===== |
| - | |rechnung_bemerkung|| Termine | | + | |
| - | ^Artikelbuchung ^^^ | + | Beim Versand aus dem Store wird der Text in das Mail-Layout eingebettet. Dabei wird jeder Zeilenumbruch im Quelltext zwischen zwei Tags in ein ''< |
| - | |rechnung_vwz|| Name des Artikels | | + | |
| - | |rechnung_preis|| Preis des Artikels | | + | |
| - | ^Preise generell ^^^ | + | * HTML-Vorlagen daher **einzeilig speichern**: |
| - | |rechnung_preis|| Bruttopreis | | + | * Reine Textvorlagen ohne HTML können mit normalen Zeilenumbrüchen gespeichert werden. |
| - | |rechnung_brutto || Bruttopreis | | + | |
| - | |rechnung_tax || Steuerbetrag | | + | |
| - | |rechnung_taxpercent || Steuerprozent | | + | |
| - | |rechnung_netto || Nettobetrag | | + | |
| - | ===== Weitere Platzhalter (in Klärung) | + | ===== Bekannte Abweichungen |
| - | Die folgenden | + | ^ Platzhalter ^ Verwendet in ^ Status ^ |
| - | + | | '' | |
| - | ^ Marker | + | | '' |
| - | |kurs_zeit|BuchungKurs (Kursbuchung)|Bei Testbuchung am 30.09.2026 befüllt| | + | | '' |
| - | |kunde_kundennummer|BuchungKurs, | + | | '' |
| - | |kunde_email|Registration|ungeprüft| | + | | '' |
| - | |link|Neuvertrag online, Neuvertrag Pro online, Neuvertrag RoXx online|Bei Testvertrag am 30.09.2026 befüllt (Aktivierungslink)| | + | |
| - | |kunde_mandatsreferenz|Neuvertrag, Neuvertrag online, Neuvertrag Pro online, Neuvertrag RoXx online|Bei Testvertrag am 30.09.2026 befüllt| | + | |
| - | |contract_vertragsbeginn|Neuvertrag online, Neuvertrag Pro online, Neuvertrag RoXx online|Bei Testvertrag am 30.09.2026 befüllt| | + | |
| - | |contract_tarif|Neuvertrag online, Neuvertrag Pro online|Bei Testvertrag am 30.09.2026 befüllt| | + | |
| - | |contract_monate|Neuvertrag online, Neuvertrag Pro online|Bei Testvertrag am 30.09.2026 befüllt| | + | |
| - | |contract_ratenbetrag|Neuvertrag online, Neuvertrag Pro online|Bei Testvertrag am 30.09.2026 befüllt (ohne Währungszeichen)| | + | |
| - | |Vertragsbeginn|–|nicht | + | |
| - | |vertrag_kuendigungzum|Kuendigung, | + | |
| - | |booking_start, | + | |
| - | |token|RequestPasswort|ungeprüft; die Mail „Passwort vergessen“ wird derzeit über Keycloak versendet, nicht über diese Vorlage| | + | |
| - | |email, tokenlink|RequestLoginChange|ungeprüft, Versandanlass der Vorlage unbekannt| | + | |
| - | |vertrag_ruhevon, | + | |
| ===== Beispiel: Systemprompt für die KI-gestützte Bearbeitung von Mail-Vorlagen ===== | ===== Beispiel: Systemprompt für die KI-gestützte Bearbeitung von Mail-Vorlagen ===== | ||
| Zeile 95: | Zeile 96: | ||
| Die einrichtungsspezifischen Angaben sind im Prompt bewusst nicht enthalten. Der Prompt weist den Assistenten an, diese Angaben zu Beginn abzufragen (Name der Einrichtung, | Die einrichtungsspezifischen Angaben sind im Prompt bewusst nicht enthalten. Der Prompt weist den Assistenten an, diese Angaben zu Beginn abzufragen (Name der Einrichtung, | ||
| - | ===== Ablauf | + | ==== Ablauf ==== |
| - Prompt als Systemprompt bzw. Projektanweisung im KI-Assistenten hinterlegen. | - Prompt als Systemprompt bzw. Projektanweisung im KI-Assistenten hinterlegen. | ||
| - Die vom Assistenten abgefragten Angaben zur Einrichtung beantworten. | - Die vom Assistenten abgefragten Angaben zur Einrichtung beantworten. | ||
| - | - Bestehenden Vorlagentext aus den Einstellungen unter Vorlagen in den Chat kopieren und überarbeiten lassen. | + | - Bestehenden Vorlagentext |
| - | - Ergebnis in die Vorlage übernehmen, | + | - Ergebnis |
| < | < | ||
| Zeile 116: | Zeile 117: | ||
| - Anrede (Du oder Sie), auch gegenüber Eltern bei Kinderangeboten | - Anrede (Du oder Sie), auch gegenüber Eltern bei Kinderangeboten | ||
| - Sprachen (z. B. Deutsch und Englisch) und Grußformel je Sprache | - Sprachen (z. B. Deutsch und Englisch) und Grußformel je Sprache | ||
| - | - Wird ein angepasster E-Mail-Wrapper | + | - Wird ein angepasstes |
| - | (Adresse, Impressum, Datenschutz) | + | (Adresse, Impressum, Datenschutz) |
| + | - Platzhalterliste des jeweiligen Vorlagentyps (aus dem Vorlagen-Editor) | ||
| ARCHITEKTUR | ARCHITEKTUR | ||
| - | - Der Wrapper | + | - Das Mail-Layout |
| - | | + | |
| - | - Wird der Footer zentral | + | - Kommt der Footer zentral, gehört keine Signatur und keine Adresse in den Body. |
| ZIEL-CLIENTS | ZIEL-CLIENTS | ||
| Zeile 133: | Zeile 135: | ||
| - Alle Styles inline; jedes Textelement mit font-family Arial, Helvetica, sans-serif, | - Alle Styles inline; jedes Textelement mit font-family Arial, Helvetica, sans-serif, | ||
| font-size und line-height in px sowie expliziter Farbe. | font-size und line-height in px sowie expliziter Farbe. | ||
| + | - h1 inline überschreiben (text-align: | ||
| + | Überschriften zentriert oder umformatiert. | ||
| - Keine Bilder, Logos, Webfonts, Skripte, Formulare oder SVG (geringe Datenmenge). | - Keine Bilder, Logos, Webfonts, Skripte, Formulare oder SVG (geringe Datenmenge). | ||
| - Lange Texte mit word-break: | - Lange Texte mit word-break: | ||
| - Jede Mail beginnt mit einem versteckten Preheader (Vorschautext im Posteingang). | - Jede Mail beginnt mit einem versteckten Preheader (Vorschautext im Posteingang). | ||
| - | - Falls der Wrapper | + | - Falls das Layout |
| zusätzlich zum Inline-Style setzen. Keine Hintergrundfarben im Body. | zusätzlich zum Inline-Style setzen. Keine Hintergrundfarben im Body. | ||
| + | - QUELLTEXT EINZEILIG AUSGEBEN: HSPinONE wandelt jeden Zeilenumbruch zwischen Tags in <br /> | ||
| + | um; in Tabellen entstehen dadurch Lücken. Keine Umbrüche oder Einrückungen zwischen Tags. | ||
| BAUSTEINE | BAUSTEINE | ||
| 1. Preheader | 1. Preheader | ||
| - | 5. Positionstabelle (Schleife erzeugt nur ganze Tabellenzeilen) | + | 5. Positionstabelle (Schleife erzeugt nur ganze Tabellenzeilen, {{~ for ~}} / {{~ end ~}}) |
| - | 7. Liste mit fetter Zwischenüberschrift | + | 6. Hinweisbox (linker Rand) 7. Liste mit fetter Zwischenüberschrift |
| - | der Link als Text) 9. Grußformel | + | Hintergrundfarbe, |
| - | PLATZHALTER (Skriptsprache | + | PLATZHALTER (Scriban) |
| - | - Schreibweise mit doppelten geschweiften | + | - Doppelte geschweifte |
| - | - Keine Punkte oder Bindestriche in Platzhaltern (Unterstrich statt Punkt). | + | |
| - | | + | Umbau aber auf Punkte umgestellt. |
| - | - Nur Platzhalter aus der Wiki-Seite "Mail Vorlagen" | + | - Einfache Klammern ({kurs.kursname}) werden nicht mehr ersetzt und immer konvertiert. |
| - | kennzeichnen und nachfragen, nie erfinden. | + | - Nur Platzhalter aus der Platzhalterliste des Vorlagentyps |
| - | - Alte Schreibweise {kurs.kursname} beim Umbau immer konvertieren. | + | |
| - | - Betreffzeilen: | + | - Felder, die leer sein können (z. B. kurs.ende), mit {{ if … }} … {{ end }} absichern. |
| - | - Preise (rechnung_*) kommen formatiert inkl. Währungs- und Prozentzeichen; nichts anhängen. | + | - Beträge |
| + | | ||
| + | - kunde.briefanrede ist förmlich ("Sehr geehrte Frau …") und passt nicht zu Du-Texten. | ||
| + | - Betreffzeilen werden ebenfalls mit Scriban verarbeitet; | ||
| ZWEISPRACHIGKEIT (falls gewünscht) | ZWEISPRACHIGKEIT (falls gewünscht) | ||
| Zeile 160: | Zeile 169: | ||
| englischen Block <a id=" | englischen Block <a id=" | ||
| - Fehlende Übersetzungen sinngemäß ergänzen und in der Antwort kennzeichnen. | - Fehlende Übersetzungen sinngemäß ergänzen und in der Antwort kennzeichnen. | ||
| + | - Daten aus dem System (z. B. Wochentag in kurs.zeit) kommen einsprachig; | ||
| INHALT & SPRACHE | INHALT & SPRACHE | ||
| Zeile 169: | Zeile 179: | ||
| AUSGABE | AUSGABE | ||
| - | 1. Fertiger Mailtext als HTML, direkt in die Vorlage einfügbar. | + | 1. Fertiger Mailtext als einzeiliges |
| 2. Kurze Liste der Änderungen und entfernten Inhalte. | 2. Kurze Liste der Änderungen und entfernten Inhalte. | ||
| 3. Offene Fragen (Platzhalter, | 3. Offene Fragen (Platzhalter, | ||
| - | 4. Testhinweis: | + | 4. Testhinweis: |
| - | Outlook Windows, Gmail App und iPhone Mail, jeweils hell und dunkel. | + | Kursnamen und Sonderzeichen; |
| + | jeweils hell und dunkel. | ||
| </ | </ | ||
| ===== Good to know ===== | ===== Good to know ===== | ||
| * Der Prompt ist ein Beispiel und vor dem Einsatz um die Angaben der eigenen Einrichtung zu ergänzen; der Assistent fragt diese zu Beginn ab. | * Der Prompt ist ein Beispiel und vor dem Einsatz um die Angaben der eigenen Einrichtung zu ergänzen; der Assistent fragt diese zu Beginn ab. | ||
| - | * Ohne angepassten Wrapper | + | * Ohne angepasstes Mail-Layout |
| * Änderungen an Vorlagen wirken sofort auf alle versendeten Mails. Vor dem Speichern empfiehlt sich eine Sicherung des bisherigen Textes. | * Änderungen an Vorlagen wirken sofort auf alle versendeten Mails. Vor dem Speichern empfiehlt sich eine Sicherung des bisherigen Textes. | ||
| - | * Die Funktion "Test E-Mail an mich" ersetzt keine Platzhalter; | + | * Ist einem Kurs eine eigene Vorlage zugeordnet, wird diese auch dann verwendet, wenn sie inaktiv ist. |
| + | * Versendete Mails sind beim Kunden im Reiter **Mails** einsehbar und können dort erneut versendet werden. | ||