$wsAsse

$wsAsse

In diesem Abschnitt werden die verfügbaren Variablen und Methoden des $wsAsse Moduls beschrieben, mit denen Sie asynchrone HTTP-Requests (Events) im Frontend auslösen können.

Mit dem $wsAsse - Modul können Sie vorkonfigurierte Events auslösen, die im Hintergrund HTTP-Requests an externe URLs senden.


Inhaltsverzeichnis


Voraussetzung

Bevor das $wsAsse im Template verwendet werden kann, muss mindestens ein Event in der Konfiguration angelegt sein. Ohne ein konfiguriertes Event stehen keine Funktionen zur Verfügung.

Die Konfiguration legt fest, welche URL aufgerufen wird, welche HTTP-Methode verwendet wird, wie oft bei Fehlern wiederholt wird und unter welchen Bedingungen ein Request als erfolgreich gilt.

 


Modulübersicht


Beispiel / Ausschnitt über $wsAsse

{{= $wsAsse | json }}

 

JSON-Ausgabe

{ "asseConfigs": [...], "fire": "ƒ()" }

Anmerkung: ƒ() kennzeichnet eine Funktion.


Variablen und Methoden in der Übersicht

Name

Rückgabe-Typ

Beschreibung

Name

Rückgabe-Typ

Beschreibung

asseConfigs

array

Gibt eine Liste aller konfigurierten Events aus.

fire()

bool

Löst ein asynchrones Event aus, welches vorher konfiguriert werden muss.




Variablen

$wsAsse.asseConfigs

Gibt eine Liste aller konfigurierten Events mit deren Einstellungen aus. Die Events müssen vorher in der Konfiguration angelegt werden.

{{= $wsAsse.asseConfigs }}




Methoden

$wsAsse.fire()

Löst ein vorkonfiguriertes Event aus. Dabei wird im Hintergrund ein HTTP-Request an die in der Konfiguration hinterlegte URL gesendet. Über den zweiten Parameter können zusätzliche Daten für den aktuellen Vorgang übergeben werden. Diese werden je nach HTTP-Methode als Teil der URL oder als Request-Body mitgesendet.


Signatur
$wsAsse.fire(eventId, data)


Rückgabe
bool - Gibt true zurück, wenn das Event erfolgreich ausgelöst wurde. Gibt false zurück, wenn es ein Problem mit der Konfiguration gibt.


Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

eventId

string

ja

ID des Events, das ausgelöst werden soll. Muss einer gültigen ID aus der Konfiguration entsprechen.

data

string

nein

Zusätzliche Daten, die mit dem Request gesendet werden sollen.


Beispiel, das ein vorkonfiguriertes Event “myevent” auslöst.

{{ var $myEventData = "userid=" + $wsAccount.id }} {{ $wsAsse.fire('myevent', $myEventData) }}

Hinweise:

  • Der Wert von data wird nicht automatisch URL-kodiert. Falls nötig, muss die Kodierung manuell erfolgen.

  • Wird eine Liste oder ein Objekt als data übergeben, wird der Wert automatisch in ein JSON-Objekt konvertiert.

  • Ein Rückgabewert von true bedeutet nicht, dass der HTTP-Request selbst erfolgreich war. Da ASSE Requests asynchron absendet, kann die tatsächliche Ausführung zeitversetzt erfolgen.




Beispiele

Awin-Tracking auf der Bestellbestätigungsseite auslösen

Ein häufiger Anwendungsfall für ASSE ist das Senden von Tracking-Daten an externe Dienstleister nach einer erfolgreichen Bestellung. Das folgende Beispiel zeigt, wie Awin-Tracking-Daten auf der Bestellbestätigungsseite über ein ASSE-Event an Awin übermittelt werden.

Dabei werden die relevanten Bestelldaten (z. B. Bestellnummer, Warenwert, Währung) aus $wsCheckout ausgelesen und als Parameter zusammengebaut.

{{ var $myEventData = "&merchant=12345" }} {{ var $myEventData = $myEventData + "&amount=" + $wsCheckout.sum.totalNet }} {{ var $myEventData = $myEventData + "&ch=aw" }} {{ var $myEventData = $myEventData + "&parts=DEFAULT:" + $wsCheckout.sum.totalNet }} {{ var $myEventData = $myEventData + "&vc=" + $wsVoucher.vouchers[0].id }} {{ var $myEventData = $myEventData + "&cr=" + $wsCheckout.sum.currency }} {{ var $myEventData = $myEventData + "&ref=" + $wsCheckout.orderId }} {{ var $myEventData = $myEventData + "&testmode=0" }} {{ $wsAsse.fire('awintracking', $myEventData) }}

In der Konfiguration muss dafür ein Event mit der ID awintracking angelegt sein, das auf die Awin-Tracking-URL verweist.

 


Weiterführende Links