Daten senden: ASSE
Asynchronous-Server-Side-Events, kurz ASSE, übermittelt beliebige Daten aus dem Shop per HTTPS an fremde Systeme. Das Format ist frei, üblich sind JSON und XML. Typische Einsätze sind Bestelldaten, Newsletter-Anmeldungen und Tracking-Ereignisse. Entscheidend ist das Wort asynchron: Die Daten gehen vom Shop-Server zum Empfänger, nicht über den Browser des Besuchers. Der Seitenaufbau wartet nicht auf die Antwort. Antwortet die Gegenstelle gar nicht, merkt der Besucher davon nichts.Schritt 1: Freischaltung
ASSE muss freigeschaltet werden, global oder je Subshop. Wenden Sie sich an Ihren WEBSALE Ansprechpartner.Schritt 2: Die Übertragung konfigurieren
Jede Übertragung bekommt einen eigenen<+Entry> im Abschnitt <ASSE> der shop.config.
Den Wert für
ContentType bestimmt der Empfänger. Tragen Sie genau das ein, was dessen Dokumentation verlangt.
Wann eine Zustellung als erfolgreich gilt
Ohne weitere Angabe gilt jede Antwort als Erfolg. Über<DefinitionOfOK> legen Sie fest, was wirklich zählt. Mehrere Bedingungen werden mit UND verknüpft, es müssen also alle erfüllt sein.
Ist die Bedingung erfüllt, gilt die Zustellung als erledigt und es folgen keine weiteren Versuche.
Zusätzliche Angaben im HTTP-Header
Schritt 3: Zugangsdaten sicher ablegen
Gehört ein Schlüssel oder Passwort in die Daten, schreiben Sie es nicht ins Template. Im Abschnitt<FreeMessages-Txt> abgelegt, steht es nicht im Klartext in den Bearbeitungs-Templates auf dem Server.
~FMSG-MyApiKey~.
Referenz: Abschnitt FreeMessages-Txt
Wegweiser: Freie Standardtexte definieren
Schritt 4: Die Daten zusammenstellen und senden
Ausgelöst wird die Übertragung mitASSE-Fire(). Das Tag nimmt zwei Angaben: die Kennung aus der Konfiguration und die zu sendenden Daten.
Das folgende Beispiel stellt auf der Bestelleingangsbestätigung die Bestelldaten zusammen und sendet sie.
DC-FPX_append zusammenzusetzen, lassen sie sich auch über die JSON-Schnittstelle erzeugen. Bei verschachtelten Daten ist das der übersichtlichere Weg.
Fehler beim Auslösen erkennen
Konfigurationsfehler beim Erzeugen des Ereignisses meldet ein eigenes Tag. Es gehört während der Einrichtung unter den Code, der die Übertragung auslöst.Produktdaten holen: RPDE
RPDE steht für RemoteProductDataEnrichment. Damit fragt der Shop technische Produktdatenfelder während des Seitenaufbaus bei einem fremden System ab und verwendet sie sofort. Vorhandene Felder lassen sich dabei anreichern oder überschreiben. Die Daten liegen nicht bei WEBSALE, sondern kommen über eine gesicherte Verbindung von Server zu Server. Typische Fälle sind tagesaktuelle Preise oder Werte, die sich erst aus der Eingabe des Kunden ergeben. Die Übergabe an das fremde System stellen Sie im Template frei zusammen. Die Antwort wird im JSON-Format erwartet und über die JSON-Schnittstelle gelesen.Beispiel: Labelprint24
Labelprint24 druckt Verpackungen nach Maß. Der Kunde gibt Länge, Breite und Höhe ein, der Shop schickt diese Werte zusammen mit den Basisdaten des Produkts hin, und Labelprint24 prüft, ob sich das so fertigen lässt, und liefert Preis und Gewicht zurück. Beides landet in den Produktdaten. Ein Vertrag mit Labelprint24 ist Voraussetzung, und die Anbindung muss von WEBSALE eingerichtet werden.Schritt 1: Produktdaten kennzeichnen
Die betroffenen Produkte werden in den Produktdaten gekennzeichnet.Schritt 2: Fehlermeldung ergänzen
Schritt 3: Template zuweisen
Schritt 4: Das Übergabe-Template anlegen
Legen Sie das Template unter dem zugewiesenen Namen in Ihrem Template-Verzeichnis an.Schritt 5: Eingabefelder auf der Produktdetailansicht
onBlur. Sonst erfährt der Kunde erst nach dem Absenden, ob seine Maße herstellbar sind.
Länge, Breite und Höhe lassen sich nicht vorbelegen, und der Shop prüft sie serverseitig nicht. Die Prüfung übernimmt allein das fremde System.
Schritt 6: Anzeige im Warenkorb
Fehler suchen
Meldungen der Schnittstelle geben Sie zu Prüfzwecken überMSG-InternalErrorMessage aus. Für den Blick auf die tatsächlich gesendeten und empfangenen Daten gibt es zwei weitere Tags.
Referenz: MSG-InternalErrorMessage · PR-RPDE · PR-RPDE_OK · PR-RPDE_Data · BASKET-PR-RPDE_Data · WS-RPDE_DebugInfo_RequestData · WS-RPDE_DebugInfo_ResponseData
Referenz: WS-RPDE_Labelprint_token · PR-RPDE_Labelprint_width · PR-RPDE_Labelprint_length · PR-RPDE_Labelprint_height
Preise maschinenlesbar übergeben
Preise, die im Shop stehen, sind für Menschen formatiert: mit Tausenderpunkt, Komma und Währungszeichen. Ein fremdes System kann damit nichts anfangen. Für die Übergabe gibt es deshalb zu allen Beträgen und Mengen ein technisches Gegenstück. Ohne zusätzliche Angabe werden diese Tags ohne Tausendertrennzeichen, mit Punkt als Dezimaltrenner und mit zwei Nachkommastellen ausgegeben.Das Format anpassen
Alle Tags nehmen bis zu drei durch Komma getrennte Angaben:
Bei einem Wert von 12,99 ergibt sich:
Eine leere Stelle bedeutet “Vorgabe beibehalten”.
(,0,100) lässt also den Dezimaltrenner unverändert, setzt null Nachkommastellen und multipliziert mit 100. Das ist die übliche Form für Systeme, die Beträge in Cent erwarten.
Wegweiser: Warenkorb anzeigen
Verwandte Themen
- Wegweiser: Externe Inhalte einbinden
- Wegweiser: JSON-Schnittstelle
- Wegweiser: Tracking einbinden
- Anwendungsbeispiele: ASSE
