Zum Hauptinhalt springen
Mit dem Modul $wsOptIn setzen Sie im Frontend Token-basierte Opt-In-Prozesse um. Typische Anwendungsfälle sind die Bestätigung einer E-Mail-Adresse, die Bestätigung einer Newsletter-Anmeldung oder das Zurücksetzen eines Passworts. Den Token selbst erzeugt die jeweilige Shop-Aktion. Das Modul hängt ihn im E-Mail-Template an den Bestätigungslink an und prüft auf der Bestätigungsseite, ob er noch gültig ist. In diesem Abschnitt wird zunächst der Ablauf eines Opt-In-Prozesses erklärt und anschließend werden alle Token-Namen aufgeführt, die Sie in Ihren E-Mail-Templates verwenden können. Danach folgen die Variablen und Methoden des Moduls im Detail.

Modulübersicht

Beispiel / Ausschnitt über $wsOptIn
JSON-Ausgabe
Anmerkung: ƒ() kennzeichnet eine Funktion. Variablen und Methoden in der Übersicht:
Ein Opt-In-Prozess läuft immer in drei Schritten ab:
  1. Aktion erzeugt den Token: Der Kunde löst eine Aktion aus, beispielsweise AccountRegister oder NewsletterSubscribe. Die Aktion erzeugt einen Token, speichert ihn unter einem festen Token-Namen und versendet die zugehörige E-Mail.
  2. E-Mail-Template erzeugt den Link: Im E-Mail-Template rufen Sie $wsOptIn.createTokenUrl() mit der URL der Bestätigungsseite und genau diesem Token-Namen auf. Die Methode hängt den Token an die URL an.
  3. Bestätigungsseite führt die Aktion aus: Klickt der Kunde auf den Link, prüft die Bestätigungsseite mit $wsOptIn.current.valid, ob der Token gültig ist. Anschließend führt der Kunde die bestätigende Aktion aus, beispielsweise EmailVerify oder NewsletterSubscribeConfirm.
Jeder Token gilt nur für die eine bestätigende Aktion, für die er erzeugt wurde, und kann nur einmal verwendet werden. Standardmäßig ist ein Token vier Stunden gültig. Für die Token AcceptInvitation und passwordReset gilt die Gültigkeitsdauer des Einladungslinks aus b2b.userInvitation, mindestens aber vier Stunden.
Der Token-Name im E-Mail-Template muss exakt dem Namen entsprechen, unter dem die Aktion den Token erzeugt hat. Dabei wird die Groß- und Kleinschreibung berücksichtigt. Wenn der Name nicht stimmt, gibt createTokenUrl() die URL ohne Token zurück. Der Link in der E-Mail funktioniert dann nicht, ohne dass eine Fehlermeldung erscheint.

Token-Namen

Die folgenden Tabellen zeigen, welcher Token-Name in welcher E-Mail verwendet wird. In der Spalte E-Mail ist die Konfiguration angegeben, in der das Template der E-Mail hinterlegt ist. In der Spalte Bestätigende Aktion ist die Aktion aufgeführt, die der Kunde mit dem Token auf der Bestätigungsseite ausführt.

Token aus Shop-Aktionen

Eine Kontoaktivierung ist abgeschlossen, wenn AccountActivate das Konto ohne Opt-In sofort aktiviert oder wenn der Kunde den Opt-In-Link mit AccountActivateOptIn bestätigt. Eine Änderung der E-Mail-Adresse ist abgeschlossen, wenn EmailUpdate die Adresse ohne Double-Opt-In sofort ändert oder wenn der Kunde die Änderung mit EmailUpdateOptIn bestätigt. In beiden Fällen versendet der Shop danach die E-Mail mit dem Token verifyEmail.

Token aus der Admin Interface API

Einige Endpunkte der Admin-Interface-API versenden ebenfalls E-Mails mit Opt-In-Links. Das gilt auch, wenn Sie die Funktion im Admin-Interface auslösen, beispielsweise wenn Sie einen Kunden einladen. Bei einer Änderung der E-Mail-Adresse über die Methode PUT newsletter/subscriber/{id} enthält der Token confirmSubscribeNewsletter zusätzlich die ID des bestehenden Abonnenten. NewsletterSubscribeConfirm überträgt die bestätigte Adresse dann auf diesen Abonnenten, statt einen neuen anzulegen. Das E-Mail-Template und der Token-Name bleiben unverändert. Weitere Informationen finden Sie unter NewsletterSubscribeConfirm. Die Erinnerungs-E-Mail zu offenen Einladungen (b2b.userInvitation → reminderEmail) erzeugt keinen Token. createTokenUrl() gibt in ihrem Template deshalb nur die URL ohne Token zurück.
Für das Zurücksetzen eines Passworts gibt es zwei Token-Namen. Die E-Mail aus actions.passwordForgotten verwendet passwordReset, die Einladung eines neuen Mitarbeiterkontos aus b2b.subAccounts verwendet ResetPassword. Beide Token führen zur Aktion ResetPassword. Achten Sie deshalb in beiden E-Mail-Vorlagen darauf, den passenden Namen zu verwenden.

Templates

Das Modul $wsOptIn wird an zwei Stellen verwendet. In den E-Mail-Templates erzeugt die Funktion createTokenUrl() den Bestätigungslink. Auf den Bestätigungsseiten, beispielsweise für das Zurücksetzen des Passworts oder die Bestätigung einer neuen E-Mail-Adresse, prüft $wsOptIn.current den übergebenen Token.

Variablen

$wsOptIn.current

Enthält Informationen zum Token, der in der aktuellen URL übergeben wurde. Ist null, wenn kein Token in der URL vorhanden ist.

$wsOptIn.current.valid

Gibt true aus, wenn der übergebene Token gültig ist und die zugehörige Aktion mit diesem Token noch nicht ausgeführt wurde. Ist der Token abgelaufen, unbekannt oder bereits verwendet, gibt die Variable false aus.

$wsOptIn.current.token

Gibt den übergebenen Token aus.

Methoden

$wsOptIn.createTokenUrl()

Es wird ein Opt-In-Token an eine URL angehängt. Die Methode erzeugt selbst keinen Token. Sie verwendet den Token, den eine Aktion im selben Aufruf unter dem angegebenen Token-Namen erzeugt hat. Verwenden Sie die Methode deshalb in dem E-Mail-Template, das diese Aktion versendet. Welche Aktion welchen Token-Namen verwendet, ist unter Token-Namen aufgeführt. Signatur
$wsOptIn.createTokenUrl(url, tokenName)
Rückgabe
string - URL mit angehängtem Token.
  • Wurde im aktuellen Aufruf kein Token mit dem angegebenen Namen erzeugt, gibt die Methode die URL unverändert zurück.
  • Ist url oder tokenName kein Text, gibt die Methode null zurück.
Parameter Beispiel, das im E-Mail-Template zur Verifizierung der E-Mail-Adresse einen Link mit Token erzeugt.

Aktionen

Für $wsOptIn stehen keine eigenen Aktionen zur Verfügung. Die Aktionen zum Erzeugen oder Bestätigen von Opt-In-Token finden Sie unter Account und Newsletter.

Beispiele für den Datenzugriff

Nach der Erstellung eines Kundenkontos erzeugt die Aktion AccountRegister den Token verifyEmail und versendet eine E-Mail zur Bestätigung der E-Mail-Adresse. Den Bestätigungslink erzeugen Sie im Template dieser E-Mail beispielsweise so:
Der Bestätigungslink enthält einen Token, der sicherstellt, dass nur der Empfänger die Bestätigung durchführen kann.
Wenn der Kunde auf den Link klickt und die Bestätigungsseite (emailVerify.htm) geöffnet wird, prüft diese, ob der Token gültig ist. Falls ja, kann der Kunde die Verifizierung per Klick auf einen Button abschließen, wodurch die Aktion EmailVerify ausgeführt wird.