Anbindung von Labelprint24

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

Funktionsweise

Integration

 

Funktionsweise

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.

Integration

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.