Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

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.

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
NameRückgabe-TypBeschreibung
asseConfigsarrayGibt eine Liste aller konfigurierten Events aus.
fire()boolLö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
NameTypPflichtBeschreibung
eventIdstringjaID des Events, das ausgelöst werden soll.
Muss einer gültigen ID aus der Konfiguration entsprechen.
datastringneinZusä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.