Gastbenutzer anlegen

Ereignisaktion - Kurzfassung

Zweck: Legt ein neues Gastbenutzer-Konto an und führt danach optional konfigurierbare Ereignisaktionen aus.

images/download/attachments/73608592/image2021-6-22_14-20-32-version-1-modificationdate-1624364434358-api-v2.png

Die Ereignisaktion Gastbenutzer anlegen dient zum automatischen Anlegen eines neuen Gastbenutzer-Kontos (s. Gastbenutzer).

  • Das neue Gastbenutzer-Objekt wird unter Berücksichtigung der Konfiguration mit Zuweisungen für Merkmale des Kontos (s. folgender Abschnitt) parametriert.

  • Für das Feld "Login-Token" (loginToken) wird automatisch ein eindeutiger Textschlüssel generiert (s. Gastbenutzer).

  • Falls als Bezugsobjekt eine Entität vorliegt, wird im Gastbenutzerkonto automatisch eine "Gastbenutzer-Restriktion" eingerichtet, die den Zugriff auf Entitäten desselben Typs betreffen (s. "Besonderer Anwendungsfall: Gastbenutzer-Restriktion").

WICHTIG◄ Das neue Gastbenutzer-Konto wird erst und nur dann wirklich erstellt, wenn die laufende Transaktion erfolgreich abgeschlossen, also nicht durch einen Fehler oder eine Abbrechen beendet wird. Da das neue Gastbenutzer-Konto sinngemäß zum Speichern am Ende der Transaktion vorgemerkt wird (s. a. Änderungen später speichern), wird der automatisch generierte Primärschlüssel im Feld "ID" (id) sofort zugewiesen. Erst mit dem Abschluss der Transaktion wird dann auch noch das Ereignis "Erstellen" für den neuen Gastbenutzer ausgelöst, für das weitere Ereignisbehandlungen greifen können.

Auf den volatilen Datenstand des neuen Gastbenutzer-Kontos können die unterhalb konfigurierbaren Dann-Aktionen bei Bedarf über die Variable createdGuestUser zugreifen. Deren Wert bleibt auch für nachfolgende Ereignisaktionen gültig.

Das Bezugsobjekt, in dessen Kontext die Ereignisaktion Gastbenutzer anlegen aufgerufen wurde, gilt dabei unverändert weiter.

Besonderer Anwendungsfall: Gastbenutzer-Restriktion

Wenn die Ereignisaktion Gastbenutzer anlegen mit einer Entität als Bezugsobjekt ausgeführt wird, wird dem angelegten Gastbenutzer automatisch eine Gastbenutzer-Restriktion (im Feld restrictions) hinzugefügt, die sich auf den Entitätstyp des Bezugsobjekts bezieht.

Die automatisch erstellte Gastbenutzer-Restriktion schränkt ausschließlich den Zugriff auf Entitäten ein, deren Entitätstyp (entityClass) mit dem Bezugsobjekt übereinstimmt. Dabei gilt:

  1. Grundsätzlich besteht nur Zugriff auf eine bestimmte Entität, wenn dieser anhand der Rolle der Session und für die Firma der Session gewährleistet ist.

  2. Sofern die ID (id) einer Entität nicht in der "Whitelist-Einschränkung" der Gastbenutzer-Restriktion aufgeführt ist, gilt sie als nicht verfügbar. Per Standard verweist die "Whitelist" nur auf die ID des Bezugsobjekts.

  3. Falls ein Gastbenutzer aufgrund der verwendeten Rolle über die Berechtigung verfügt, Entitäten des betreffenden Typs zu erstellen, erhält er auch auf diese "selbst erstellten" Entitäten Zugriff.

Das Beispiel rechts zeigt das Konto eines Gastbenutzers im XML-Format, der über die Ereignisaktion Gastbenutzer anlegen im Kontext eines Bezugsobjekts vom Typ Bestellungen angelegt wurde:

  • Auf die Standardfelder des Gastbenutzer-Objekts, die als XML-Attribute direkt im base:GuestUser-Element) verankert sind, wurden hier zugunsten einer übersichtlichen Darstellung bis auf das id-Attribut verzichtet.

  • Im Inneren des Elements ist die Struktur der Gastbenutzer-Restriktion (restriction) zu sehen, die in einem ebenfalls restriction benannten Feld eine "Map" mit genau einem Eintrag (entry) enthält.

  • Als Schlüsselwert (key) dient darin der Entitätstyp des Bezugsobjekts (Order).

  • Der Wert (value) definiert die Restriktion als ODER-Verknüpfung (DISJUNCTION) von zwei Einschränkungen:

    • Die OnlySelfCreatedRestriction erlaubt hier konkret den Zugriff auf Bestellungen deren Ersteller der Gastbenutzer ist. Für diese gilt (hier): creatorId="-5805", da Referenzen auf Gastbenutzer-IDs zur Unterscheidung von regulären Benutzern negativ ausgewiesen werden.

    • Die WhiteListRestriction erlaubt dagegen ausdrücklich den Zugriff auf die Bestellung mit der ID (id) "5001"

Beispiel für ein Gastbenutzerkonto mit Restriktion:
<?xml version="1.0" encoding="UTF-8"?>
<base:GuestUser ... id="5805" ... >
<restrictions>
<restrictions>
<entry>
<key xsi:type="xsd:string">de.lobster.scm.order.bto.Order</key>
<value junctionType="DISJUNCTION" xsi:type="base:GuestRestrictionJunction">
<base:OnlySelfCreatedRestriction/>
<base:WhiteListRestriction>
<ids>
<id>5001</id>
</ids>
</base:WhiteListRestriction>
</value>
</entry>
</restrictions>
</restrictions>
<customData xsi:nil="true" xsi:type="nil"/>
</base:GuestUser>

HINWEIS◄ Falls ein Gastbenutzer im Kontext einer Entität als Bezugsobjekt angelegt werden soll, für den die Gastbenutzer-Restriktion entfällt, kann diese z. B. über die Dann-Aktionen entfernt werden. Dazu muss nur dem restrictions-Feld per Setze Wert-Ereignisaktion der Wert "Kein Wert" zugewiesen werden.

Besonderer Anwendungsfall: Ribbonmakro-Befehl "Gastbenutzer hinzufügen"

Der Ribbonmakro-Befehl "Gastbenutzer hinzufügen" (s. Verfügbare Befehle) kann im Ribbon für einen beliebigen Kontext (z. B. in einer Übersicht oder Detailsicht für einen bestimmten Entitätstyp) eingebunden werden.

Zur Laufzeit kann dieser Befehl nur in Verbindung mit einer Einfachauswahl ausgeführt werden, um einen teilweise vordefinierten Workflow zu starten:

  • In einer Übersicht muss genau eine Zeile ausgewählt sein.

  • In einer Detailmaske müssen die Daten einer Entität angezeigt werden, die bereits erstellt also mindestens einmal gespeichert wurde.

In beiden Fällen wird mit der Auswahl als Bezugsobjekt der folgende Ablauf ausgelöst:

Der Ribbonmakro-Befehl "Gastbenutzer hinzufügen" kann per Klick auf einen Ribbon-Button ausgelöst werden. Das Beispiel rechts zeigt einen benutzerdefinierten Button für diesen Zweck.

Dann erscheint zunächst der unterhalb abgebildete Dialog, der dem vom Benutzer die Eingabe einer E-Mail-Adresse für den neu anzulegenden Gastbenutzer verlangt.

Ein Klick auf das "X"-Symbol rechts oben im Dialogtitel gilt als Abbruch des Ribbonmakros ohne weitere Auswirkungen. Ggf. nachfolgende Befehle in demselben Makro werden nicht ausgeführt.

Ein Klick auf den Button "Erzeugen" löst das Ereignis "Gastbenutzer erzeugen" (s. Gastbenutzer (Ereignisse)) aus, dem das aktuelle Bezugsobjekt als Eingabewert und die im Dialog eingegebene E-Mail-Adresse als Wert einer Variablen guestUserEmailAddress übergeben werden.

HINWEIS◄ Die Eingabe für die E-Mail-Adresse wird in keiner Weise validiert. Der Button "Erzeugen" kann auch betätigt werden, wenn keine Eingabe erfolgt ist. Dann enthält die Variable guestUserEmailAddress eine leere Zeichenfolge ("") und nicht etwa "kein Wert" (null).

images/download/attachments/73608592/image2021-6-24_17-30-8-version-1-modificationdate-1624548610951-api-v2.png

images/download/attachments/73608592/image2021-6-22_16-41-57-version-1-modificationdate-1624372919922-api-v2.png

E-Mail-Adresse in Variable guestUserEmailAddress

Sofern für das Ereignis "Gastbenutzer erzeugen" (s. Gastbenutzer (Ereignisse)) Ereignisbehandlungen konfiguriert sind, werden diese abgearbeitet. Typischerweise wird dabei die Ereignisaktion Gastbenutzer anlegen verwendet, um die Daten für einen neuen Gastbenutzer zu konfigurieren, dessen E-Mail-Adresse aus der Variablen guestUserEmailAddress übernommen wird.

Eine entsprechende Ereignisbehandlung könnte vor der Ereignisaktion Gastbenutzer anlegen noch Prüfungen für den Wert der Variablen guestUserEmailAddress ausführen, um die Plausibilität der Eingabe als E-Mail-Adresse abzusichern:

  • Falls die Eingabe einer E-Mail-Adresse - wie auch immer - als ungeeignet eingestuft wird, kann - ggf. in Verbindung mit einer geeigneten Meldung für den Benutzer - die Ereignisbehandlung über die Abbrechen beendet werden. Dann bleibt der Eingabedialog geöffnet, sodass der Benutzer seine Eingabe für die E-Mail-Adresse geeignet anpassen und per Klick auf den Button "Erzeugen" erneut das Ereignis "Gastbenutzer erzeugen" auslösen kann.

  • Auch falls während der Ereignisbehandlung ein "echter" Fehler eintritt, bleibt der Dialog geöffnet. Ggf. muss der Benutzer diesen Dialog per Klick auf das "X"-Symbol beenden, um das Makro abzubrechen, ohne dass ein Gastbenutzer angelegt wurde.

HINWEIS◄ Sofern keine Ereignisbehandlung auf das ausgelöste Ereignis "Gastbenutzer erzeugen" reagiert, wird der Dialog kommentarlos und ohne weitere Auswirkungen geschlossen. Das ist auch dann der Fall, falls Ereignisbehandlungen ausgelöst werden, die fehlerfrei abgearbeitet werden, ohne dass die Ereignisaktion Gastbenutzer anlegen ausgeführt wird.

images/download/attachments/73608592/image2021-6-24_17-29-14-version-1-modificationdate-1624548557570-api-v2.png


Neuer Gastbenutzer in Variable createdGuestUser
mit Anmeldetaten im Feld "Login-Token" (loginToken)

Sofern die Ereignisaktion Gastbenutzer anlegen als Reaktion auf das Ereignis "Gastbenutzer erzeugen" (s. Gastbenutzer (Ereignisse)) erfolgreich ausgelöst wird, erscheint beim Abschluss der Transaktion eine Meldung wie die rechts gezeigte. Diese gibt den automatisch erstellten Login-Token wieder, mit dem der angelegte Gastbenutzer sich am System anmelden kann. In der Regel sollte diesem dieser Token auch per E-Mail zugestellt werden. Dazu wird typischerweise die Ereignisaktion E-Mail-Versand im Kontext der Ereignisaktion Gastbenutzer anlegen ausgeführt.

images/download/attachments/73608592/image2021-6-24_17-59-27-version-1-modificationdate-1624550370685-api-v2.png

HINWEIS◄ Das Bundle de.lobster.scm.base.security.guest.GuestUser beinhaltet u. a. die Sprachverwaltungseinträge für die hier gezeigten Dialoge, die bei Bedarf angepasst oder durch Firmenspezifische Sprachanpassungen übersteuert werden können.

Konfiguration

Die Konfiguration (rechts expandiert abgebildet) sieht folgende Parameter für Zuweisungen an das anzulegende Gastbenutzer-Konto vor:

  • Die Sprache erwartet einen Wert aus der Dynamischen Aufzählung Sprache. Per Standard wird daher ein Wertauflöser angeboten, der eine statische Zuweisung per Dropdown ermöglicht. Stattdessen kann jeder andere Wertauflöser konfiguriert werden, der eine Wert aus Sprache zurückgibt oder eine Zeichenfolge, die exakt mit dem internen Namen eines dieser Werte übereinstimmt (sonst tritt ein Fehler auf).

    ANMERKUNG◄ Eine Sprache kann unabhängig davon zugewiesen werden, ob sie in der Erfassungsmaske für Gastbenutzer per Dropdown auswählbar wäre. Dynamische Aufzählungsfilter oder die Kennzeichnung als "Unterstützte Sprache" (s. Sprache) wirken also nicht einschränkend. Die zugewiesene Sprache wird bei der Anmeldung des Gastbenutzers auch grundsätzlich als "Aktuelle Sprache" zugewiesen und - soweit anwendbare Einträge in der Sprachverwaltung bzw. Firmenspezifische Sprachanpassungen existieren - für Lokalisierungen berücksichtigt.

  • Die Parameter Erlaubte Logins und Max .gleichzeitige Sitzungen werden analog zur Standardmaske für Gastbenutzer vorbelegt. Abweichende Ganzzahlen können statisch zugewiesen werden.

  • Der Parameter Gültigkeit in Tagen wird als Offset verwendet, das Feld "Gültig bis" des Gastbenutzer-Kontos mit einem absoluten Datumswert zu belegen, der relativ zum Aufrufzeitpunkt "millisekundengenau" berechnet wird.

  • Der Parameter E-Mail Adresse akzeptiert wahlweise die Direkteingabe von Text oder (per Klick auf den kleinen grauen Pfeil links unten) eine Wertauflöser-Konfiguration, die einen als Text lesbaren Wert zurückgibt.

    WICHTIG◄ Beim jedem Speichern eines Gastbenutzers wird überprüft, ob die Länge der beidseitig getrimmten Zeichenfolge im Feld E-Mail-Adresse (emailAddress) mindestens 5 Zeichen beträgt. Ist dies nicht der Fall, kommt es zu einer Fehlermeldung (mit Hinweis: "Ungültige Mailadresse" inkl. Rollback). Die Prüfung findet erst nach dem Auslösen des Erstellen-Ereignisses beim Abschluss der Transaktion statt, so dass z. B. innerhalb einer Ereignisbehandlung für das Erstellen-Ereignis (mit einer Typprüfung auf "Gastbenutzer") noch auf "Mängel" in der E-Mail-Adresse reagiert werden könnte. Das Ausführen von Gastbenutzer anlegen innerhalb einer Try-Catch-Aktion kann diesen Fehler nicht "behandeln", da er erst später ausgelöst wird.

  • Für die Parameter Rolle und Firma muss zur Laufzeit jeweils ein valider Rückgabewert anliegen, sonst tritt schon beim Abarbeiten der Konfiguration (und nicht erst beim Abschluss der Transaktion) ein Fehler "Ungültige Konfiguration" (inkl. Rollback für die laufende Transaktion) auf. Statische Zuordnungen können mit den Wertauflösern Rolle und Firmenwert (s. Sitzungsbasiert (Wertauflöser)) definiert werden. Für dynamische Zuordnungen muss u. U. über den Wertauflöser Eingabeobjekt (Typsicher) oder über eine Suche (Ereignisaktion) das betreffende Datenobjekt des Typs "Rolle" oder "Firma" ermittelt werden.

images/download/attachments/73608592/image2021-6-22_17-3-13-version-1-modificationdate-1624374195854-api-v2.png

Im Abschnitt Dann-Aktionen können per Klick auf das images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/add.svg -Symbol Ereignisaktionen hinzugefügt werden. Neben dem innerhalb des Dann-Aktionen-Blocks unverändert gültigen Bezugsobjekt haben diese über die Variable createdGuestUser auch Zugriff auf das anhand der Konfiguration neu angelegte Gastbenutzer-Objekt, das erst beim Abschluss der Transaktion erstellt wird.

ANMERKUNG◄ Ereignisaktionen, die als Dann-Aktionen konfiguriert werden, könnten in der Regel ebenso gut als Nachfolger unterhalb der Ereignisaktion Gastbenutzer anlegen angeordnet werden. Zugriff auf das Bezugsobjekt und die Variable createdGuestUser besteht nach dem Ausführen von Gastbenutzer anlegen auch für Ereignisaktionen außerhalb des Dann-Aktionen-Blocks. Das Hinzufügen von Ereignisaktionen als Dann-Aktionen unterstreicht also rein organisatorisch die Bindung zur Anlage des Gastbenutzer-Kontos.

Beispiel

Im Kontext von Geschäftstransaktionsobjekten unterschiedlicher Typen soll im Ribbon ein Button angeboten werden, über den der Ribbonmakro-Befehl "Gastbenutzer hinzufügen" für die ausgewählte Entität ausgelöst werden kann.

Nach Angabe einer E-Mail-Adresse soll ein Gastbenutzerkonto angelegt und eine Nachricht mit einem Login-Link für dieses Gastbenutzerkonto an diese E-Mail-Adresse versendet werden. Der Betreff soll dabei Informationen aus dem Kontext des Geschäftsobjekts wiedergeben.

Das Gastbenutzerkonto soll ab sofort für 7 Tage gültig sein und in diesem Zeitraum eine unbegrenzte Anzahl von Anmeldungen mit einer zu diesem Zweck angelegten Rolle ("XF_GUEST") und im Kontext der Firma erlauben, die im ausgewählten Geschäftsobjekt als Auftraggeber angegeben ist.

ANMERKUNG◄ Die folgende Konfiguration deckt gleichzeitig die beiden oben beschriebenen "besonderen Anwendungsfälle" ab. Die automatisch erstellte "Gastbenutzer-Restriktion" tritt dabei nicht in Erscheinung. Allerdings wird im angelegten Gastbenutzerkonto zur Laufzeit automatisch eine Restriktion erzeugt, die sich auf das als Bezugsobjekt vorliegende "Geschäftstransaktionsobjekt" bezieht. Die Einschränkung betrifft dabei die konkrete entityClass des Bezugsobjekts und nicht etwa alle Typen, die als "Geschäftstransaktionsobjekt" gelten. Erlaubt die dem Gastbenutzer zugeordnete Rolle z. B. den Zugriff auf Sendungen und Bestellungen, dann besteht für einen Gastbenutzer, der mit einer Sendung als Bezugsobjekt erzeugt wurde, nur Zugriff auf diese eine Sendung, während er auf alle Bestellungen Zugriff erhält, die ein regulärer Benutzer mit derselben Firma und Rolle sehen würde.

Konfiguration:

Für das Auslösende Ereignis "Gastbenutzer erzeugen" wird eine Ereignisbehandlung angelegt und wie recht abgebildet konfiguriert:

  • Als Prüfende Regel dient eine Typprüfung, die sicherstellt, das der die Aktionen bei bestandener Regel nur im Kontext einer Entität ausgeführt werden, deren Typ der Kategorie der "Geschäftstransaktionsobjekte" angehört. Ob bzw. unter welchen Voraussetzungen der auslösende Ribbon-Button in einer Maske für einen bestimmte konkreten Entitätstypen aus dieser Kategorie überhaupt angeboten wird, kann unabhängig von der Typprüfung über Zuordnungskriterien gesteuert werden,


Die Aktionen bei bestandener Regel werden hier zunächst im Überblick vorgestellt. Für ausgewählte Konfigurationen folgen unterhalb die Details:

  • Die Wenn Dann Sonst-Ereignisaktion soll gemäß der Beschriftung die Ereignisbehandlung abbrechen, wenn die über den zur Laufzeit automatisch eingeblendeten Eingabedialog erfasste E-Mail-Adresse als nicht akzeptabel gewertet ist.

    ANMERKUNG◄ Auf die Akzeptanzkriterien für einen Text als E-Mail-Adresse wird hier nicht im Detail eingegangen. Für diesen Zweck kann eine beliebig komplexe Logische Verknüpfung angelegt werden. Entscheidend ist das eine Abbrechen ausgeführt wird, sofern die Eingabe nicht akzeptiert wird. Der Benutzer kann im Text der Meldung beim Abbrechen auf die Prüfkriterien hingewiesen werden.

  • Liegt eine "akzeptable" E-Mail-Adresse vor, dann wird die Ereignisaktion Gastbenutzer anlegen ausgeführt, um ein neues Konto mit der beschriebenen Konfiguration anzulegen. Im Block Dann Aktionen folgt dann eine E-Mail-Versand-Ereignisaktion, die dem neuen "Gastbenutzer" einen Login-Link per E-Mail bereitstellt.

images/download/attachments/73608592/image2021-6-25_17-40-22-version-1-modificationdate-1624635625233-api-v2.png

Die Konfiguration innerhalb der Ereignisaktion Gastbenutzer anlegen ist rechts aufgeklappt zu sehen:

  • Der Wert für die Sprache, in der der Gastbenutzer bei Anmeldung in Lobster Data Platform / Orchestration arbeiten soll, wird aus der entsprechenden Einstellung im Firmenkonto für die Firma "nachgeschlagen", die im Geschäftstransaktionsobjekt als "Auftraggeber" angegeben ist.

  • Der Wert 0 für Erlaubte Logins lässt bis zum zeitlich begrenzten Ablauf des Kontos eine unbegrenzte Anzahl von Anmeldungen zu.

  • Der Wert 1 für Max. gleichzeitige Sitzungen definiert, dass mehrere gleichzeitige Anmeldungen mit demselben Gastbenutzer nicht zulässig sind.

  • Der Wert 7 für Gültigkeit in Tagen terminiert den Ablauf des Gastbenutzerkontos relativ zum Zeitpunkt der Erstellung.

  • Die E-Mail-Adresse wird hier aus der über den Eingabedialog gefüllten Variable guestUserEmailAddress übernommen.

  • Die Rolle wird durch den Rolle-Wertauflöser statisch zugeordnet als "XF_GUEST".

  • Als Firma wird wiederum auf die Firmenzuordnung (Feld company) im Firmen- und Adressattribut für den "Auftraggeber" im Geschäftstransaktionsobjekt verwiesen.

    ANMERKUNG◄ Eventuell sollte bereits über die eingangs erwähnten Zuordnungskriterien für das Ribbon-Makro sichergestellt werden, dass der Button nur angeboten wird, wenn im ausgewählten Geschäftstransaktionsobjekt als "Auftraggeber" eine Firma ausgewählt ist. Denn ohne Bezug zu einer Firma scheitert die Ereignisaktion und damit die Transaktion insgesamt mit einer Fehlermeldung ("Ungültige Konfiguration").

images/download/attachments/73608592/image2021-6-29_8-41-55-version-1-modificationdate-1624948917939-api-v2.png

Die Konfiguration für die Ereignisaktion E-Mail-Versand innerhalb der Dann-Aktionen ist rechts aufgeklappt dargestellt:

  • Da die Option Sofort versenden nicht ausgewählt wurde, wird die Mail erst am Ende der Transaktion versendet, so dass der neue Gastbenutzer nur benachrichtigt wird, wenn das Konto tatsächlich angelegt werden konnte.

  • Im Betreff wird ein Wertauflöser vom Typ Vorlage verwendet, um zu demonstrieren, wie auf die Variable createdGuestUser über einen XPath-Ausdruck zugegriffen werden kann, die im Druck-XML (core:Print) als Eintrag (entry) mit ihrem Namen (key) und den Daten des Gastbenutzer-Objekts als Wert (value) enthalten ist. Im Betreff der E-Mail soll das Ablaufdatum des Kontos erscheinen, das im Feld validTo (mit den Attributen dateValue und timeZone) nachzulesen ist. Die $date()-Funktion (s. Vorlage) erstellt daraus einen benutzerfreundlichen Text (s. Laufzeitbeispiel unten).

  • Der Mail-Body-Erzeuger demonstriert eine andere Methode, um Merkmale des Gastbenutzer-Objekts im Text einzubinden. Hier wird per Wertauflöser auf das Objekt-Feld loginToken zugegriffen, dass durch eine Textverkettung als Wert für einen URL-Parameter desselben Namens im "Login-Link" gesetzt wird.

ANMERKUNG◄ Die Nachricht wurde im Beispiel sehr kompakt gehalten und ohne Bezug zur Sprachverwaltung umgesetzt. Der Betreff und/oder der Mail-Body werden in der Praxis sicher auch Informationen zum Geschäftstransaktionsobjekt enthalten, das im Kontext der Dann-Aktionen als Bezugsobjekt anliegt. Außerdem sollte die in der Konfiguration (s. o.) für die Anmeldung des Gastbenutzers zugewiesene Sprache sicher auch mit Blick auf die Benachrichtigung berücksichtigt werden. In diesem Fall wäre ein Wertauflöser vom Typ Wert aus Sprachverwaltung zu empfehlen, über den auf einen Sprachverwaltungseintrag mit Parametern verwiesen wird, denen zur Laufzeit die entsprechenden Details aus dem Gastbenutzer oder dem Geschäftstransaktionsobjekt zugewiesen werden können.

images/download/attachments/73608592/image2021-6-29_10-37-42-version-1-modificationdate-1624955864545-api-v2.png

Laufzeitbeispiel:

Das Beispiel rechts zeigt die Benachrichtigung die bei Eingabe der E-Mail-Adresse an "ben.utzer@doma.in" versendet wird.

HINWEIS◄ Typischerweise wird der Link im Mail-Body der Nachricht im Mail-Client anklickbar erscheinen, obwohl der Body content type text/plain zugewiesen ist. Die Vorschau im E-Mail-Objekt, aus dieser Screenshot stammt, formatiert den Link dagegen nicht automatisch als Verknüpfung.

images/download/attachments/73608592/image2021-6-29_13-24-9-version-1-modificationdate-1624965851772-api-v2.png