WEBSALE bietet die Möglichkeit, technische Produktdatenfelder von externen Systemen abzufragen und "on the fly" zu verwenden. Damit können Produktdatenfelder angereichert bzw. überschrieben werden.
Hierfür wurde die RPDE-Schnittstelle (RemoteProductDataEnrichment) eingerichtet.
Mit dieser Schnittstelle können technische Produktdatenfelder von externen System synchron abgefragt werden, z. B. kursaktuelle Preise. Diese Daten liegen nicht bei WEBSALE, sondern werden mittels manipulationssicherer Server-to-Server-Verbindung übertragen.
In diesem Wegweiser-Topic werden die Möglichkeiten dieser Schnittstelle anhand des Beispiels Labelprint24 dargestellt. Weitere, vielfältige Anwendungsmöglichkeiten sind denkbar. Informationen hierzu erhalten Sie gerne von Ihrem WEBSALE-Ansprechpartner.
Inhalt
Labelprint24 ist ein Anbieter von individuellem Verpackungsdruck.
Mithilfe der RPDE-Schnittstelle (RemoteProductDataEnrichment) werden Länge, Breite und Höhe des Produkts abgefragt sowie Basisdaten des Produkts (wie z. B. gewählte Menge, Papier-Art) an Labelprint24 übergeben. Labelprint24 prüft, ob die eingegebenen Daten so produziert werden können und gibt den Preis sowie das resultierende Produktgewicht zurück, welches dann in die Produktdaten übernommen wird.
Grundsätzlich kann die Übergabe der Daten an das externe System (in diesem Fall Labelprint24) frei im Template gesetzt werden. Die Antwort des externen Systems wird im JSON-Format erwartet und kann mittels JSON-Schnittstelle geladen und angezeigt werden.
Wegweiser: JSON-Schnittstelle
Fehlermeldungen können per MSG-InternalErrorMessage zu Debugzwecken ausgegeben werden.
Referenz: MSG-InternalErrorMessage
Bitte beachten Sie folgende Einschränkungen:
▪Das Anreichern/Abrufen von Produktdaten ist pro aufgerufener/angezeigter Seite nur einmal möglich (also auch auf z. B. Suchergebnis-Listen nur einmal).
▪Es ist nur bei Produkten durchführbar, die "vollständig aufgelöst" sind, d. h. bei denen alle etwaigen abhängigen Varianten ausgewählt wurden und das Produkt somit in den Warenkorb legbar ist.
▪Bei Set-Produkten steht diese Funktion nur für Set-Oberprodukte zur Verfügung. Das (Ober-)Produkt muss als RPDE-Produkt in den Produktdaten geflaggt sein.
▪Diese Funktion kann nicht in Verbindung mit dem Cookiewarenkorb und/oder dem Bestellgenerator genutzt werden.
▪Bei Anwendung anderer externer Dienstleister (W2P, McFlyer etc.) kann die Funktionalität nicht gewährleistet werden.
▪Länge, Breite und Höhe des Produkts können nicht vorbelegt werden und werden seitens WEBSALE serverseitig nicht geprüft.
Voraussetzung:
Für die Anbindung von Labelprint24 in Ihren Shop ist zunächst ein entsprechender Vertrag mit Labelprint24 abzuschließen. Bitte wenden Sie sich direkt an Labelprint24.
Schritt 1: Freischaltung/Aktivierung
Die Anbindung von Labelprint24 muss für Ihren Shop technisch eingerichtet und freigeschaltet werden. Bitte wenden Sie sich hierfür an Ihren WEBSALE-Ansprechpartner.
Schritt 2: Produktdaten anpassen
Die gewünschten Produkte, für die ein individueller Verpackungsdruck angeboten werden soll, müssen in den Produktdaten entsprechend gekennzeichnet werden.
Weitere Informationen hierzu finden Sie in der Schnittstellen-Dokumentation "Produkte PRO" unter https://doku.websale.de/schnittstellen.
Schritt 3: Fehlermeldung ergänzen
Fügen Sie im Abschnitt <NotifyMessages-Txt> Ihrer Shopkonfiguration shop.config den Parameter RPDE_Labelprint-BasketError hinzu und ergänzen folgende Fehlermeldung:
<NotifyMessages-Txt>
...
RPDE_Labelprint-BasketError = Das Produkt konnte nicht in den Warenkorb gelegt werden. Bitte versuchen Sie es erneut oder kontaktieren Sie uns.
...
</NotifyMessages-Txt>
Referenz: Abschnitt NotifyMessages-Txt
Schritt 4: Neues Template zuweisen
Fügen Sie im Abschnitt <Templates> Ihrer Shopkonfiguration shop.config den Parameter RPDE_Labelprint hinzu und geben Sie den Namen eines neuen Templates an, z. B. extern_labelprint.json.
<Templates>
...
RPDE_Labelprint = extern_labelprint.json
...
</Templates>
Referenz: Abschnitt Templates
Schritt 5: Template für die Übergabe der Produktdaten anlegen
Legen Sie ein neues Template für die Übergabe der Produktdaten an und speichern Sie dieses unter dem in Schritt 4 vergebenen Namen in Ihrem Templateverzeichnis, z. B. benutzer/templates/translation.
Achtung: |
|
Stimmen Sie den Inhalt des Templates bitte mit Labelprint24 ab! |
Beispiel:
{
"action":"get_product_price",
"token":"~WS-RPDE_Labelprint_token~",
"language":"de-AT",
"currency":"~WS-Currency~",
"product": {
"id":"~PR-Index~",
"deeplink":"~PR-SetLink~",
"height": ~PR-RPDE_Labelprint_height(1)~,
"width":~PR-RPDE_Labelprint_width(1)~,
"length":~PR-RPDE_Labelprint_length(1)~,
"quantity": ~PR-Quantity~
}
}
Referenz: WS-RPDE_Labelprint_token
Referenz: PR-RPDE_Labelprint_width
Referenz: PR-RPDE_Labelprint_length
Referenz: PR-RPDE_Labelprint_height
Schritt 6: Eingabefelder auf der Produktdetailansicht (ws_product.htm) platzieren
Fügen Sie auf der Produktdetailansicht (ws_product.htm) folgenden Code ein, um die Eingabefelder zu ergänzen. Wir empfehlen den Einsatz von AJAX-Reloads beim Verlassen der Eingabefelder.
Beispiel:
...
RPDE: ~PR-RPDE~<br>
{PR-RPDE_Labelprint_width_input}
Breite: <input type="text" name="~PR-RPDE_Labelprint_width_input~" value="~PR-RPDE_Labelprint_width(2)~" onBlur="SubmitSelection()">
Länge: <input type="text" name="~PR-RPDE_Labelprint_length_input~" value="~PR-RPDE_Labelprint_length(2)~" onBlur="SubmitSelection()">
Höhe: <input type="text" name="~PR-RPDE_Labelprint_height_input~" value="~PR-RPDE_Labelprint_height(2)~" onBlur="SubmitSelection()">
{PR-RPDE_OK}RPDE Success!{/PR-RPDE_OK}
{!PR-RPDE_OK}RPDE not OK!{/!PR-RPDE_OK}
{/PR-RPDE_Labelprint_width_input}
...
Referenz: PR-RPDE
Referenz: PR-RPDE_OK
Referenz: PR-RPDE_Labelprint_width_input
Referenz: PR-RPDE_Labelprint_length_input
Referenz: PR-RPDE_Labelprint_height_input
Referenz: PR-RPDE_Labelprint_width
Referenz: PR-RPDE_Labelprint_length
Referenz: PR-RPDE_Labelprint_height
Schritt 7: Anzeige auf der Warenkorbseite (ws_basket.htm) platzieren (optional)
Fügen Sie auf der Warenkorbseite (ws_basket.htm) folgenden Code ein, um die Anzeige zu ergänzen.
Beispiel:
...
RPDE: ~BASKET-PR-RPDE~<br>
{BASKET-PR-RPDE_Labelprint_width_input}
Breite: ~BASKET-PR-RPDE_Labelprint_width
Länge: ~BASKET-PR-RPDE_Labelprint_length
Höhe: ~BASKET-PR-RPDE_Labelprint_height
{/BASKET-PR-RPDE_Labelprint_width_input}
...
Referenz: BASKET-PR-RPDE
Referenz: BASKET-PR-RPDE_Labelprint_width
Referenz: BASKET-PR-RPDE_Labelprint_length
Referenz: BASKET-PR-RPDE_Labelprint_height
Weitere Tags:
Referenz: BASKET-PR-RPDE_Data
Referenz: PR-RPDE_Data
Referenz: WS-RPDE_DebugInfo_RequestData
Referenz: WS-RPDE_DebugInfo_ResponseData
Haben Sie alle Schritte durchgeführt, ist die Anbindung von Labelprint24 erfolgreich in Ihrem Shop integriert und aktiv.