Andere Shopsysteme

Sie betreiben Ihre E-Commerce-Plattform als Eigentwicklung? Das vorliegende Dokument unterstützt Sie bei der Implementierung der notwendigen Schnittstellen zu unserem PunchOut-Gateway.

Die initiale Anlage und die spätere Aktualisierung von Kunden erfolgt durch den Sie über die PunchCommerce-Weboberfläche. Für jeden Kunden werden durch den Lieferanten die nachfolgenden Parameter gepflegt:

Einsprungadresse Url des Onlineshops zu der der Kunde nach erfolgreicher Authentifizierung weitergeleitet wird

Kundenkennung (uID) Wert der zur Identifizierung des Kunden an die Einsprungadresse übergeben wird

Aufruf Ihres Onlineshops

Nach der erfolgreichen Authentifizierung des Kunden auf unserem Gateway erfolgt die Weiterleitung an die in der Kundenkonfiguration definierte Einsprungadresse.

PunchCommerce unterstützt zur Zeit den „klassischen“ PunchOut und den PunchOut in einem iFrame innerhalb des aufrufenden E-Procurement- oder ERP-Systems und den PunchOut in einem separaten Browser-Fenster.

Die Einsprungadresse wird hierbei um die Parameter sID (Session-Identifier) und uID (Kundenkennung) erweitert, so dass die endgültige URL nach dem nachfolgenden Schema aufgebaut ist:

https://{hostname}.{domain}.{tld}/punchcommerce/authenticate?sID={UUID}&uID= {customer.identifier}

Es muss sichergestellt werden, dass sämtliche Header, die eine Einbettung als iFrame und den Zugriff auf Cookies aus dem Hauptframe während der PunchOut-Session verhindern temporär entfernt werden, wenn der User angemeldet ist.

Der Benutzer in ihrem System ist so zu erweitern, dass die uID am Kunden gepflegt werden kann. Die sID wird von uns für jede PunchOut-Session generiert und entspricht einer UUID.

Da es sich typischerweise um einen Service-Benutzer handelt und im Rahmen des PunchOuts mehrere Personen den gleichen Service-Benutzer verwenden, muss sichergestellt werden, dass verschiedene Warenkörbe parallel in unterschiedlichen Sessions des gleichen Service-Benutzers verwendet werden können.

Der Warenkorb muss zu Beginn einer PunchOut-Session leer sein.

Allgemeine Anforderungen während der PunchOut-Session

  • Während der PunchOut-Session muss für alle für die Session relevanten Cookies das Attribut SameSite auf dem Wert none gesetzt sein und das Attribut Secure auf 1 gesetzt sein
  • Der header X-Frame-Options muss während der PunchOut-Session entfernt werden, sofern er vorhanden ist
  • Der Checkout wird ersetzt durch die Übersicht des Warenkorbes für den PunchOut und die Weiterleitung nach PunchCommerce
  • Die Beschriftung der relevanten User-Aktionen „Checkout“ wird entsprechend durch eine Beschriftung „PunchOut“ oder „Zurück zum E-Procurement-System“ ersetzt

Rückgabe des Warenkorbes

Nachdem der Kunde seinen Warenkorb abschließend gefüllt hat, muss der Warenkorb als JSON-Objekt gemeinsam mit dem Session-Identifer (sID) zurück an unser Gateway übermittelt werden. Zuschläge oder Rabatte werden als eigene Warenkorb-Position an unser Gateway übergeben - dies gilt auch für Versandkosten.

{ 
    "basket":[
    {
      "product_ordernumber": "23762", "product_name": "Pergamentpapier", "quantity": 1,
      "item_price": 2.623,
      "price": 2.623,
      "price_net": 2.2042016806723, "tax_rate": 19,
      "product": {
      "id": "21312432343",
      "ordernumber": "23762",
      "brand": "Netzdirektion",
      "brand_ordernumber": "67906",
      "title": "Pergamentpapier",
      "category": "Testkategorie",
      "description": "1/8 Bogen weiß",
      "description_long": "67906 Pergamentpapier 1/8 Bogen weiß", "image_url": "",
      "price": 2.623,
      "tax_rate": 19,
      "purchase_unit": 12.5, "reference_unit": 1,
      "unit": "kg",
      "unit_name": "kg", "packaging_unit": "Karton", "weight": 0,
      "shipping_time": 8, 
      "classification_type": "ECLASS", 
      "classification": "90909090", 
      "custom_field1": "0.19",     
      "custom_field2": "BX",
      ...
      "custom_field10": null 
    }
    ]
}

Hier ist ein http-POST-Request auf die nachfolgende Adresse auszuführen der Request-Body sollte den Warenkorb analog der nachfolgenden Struktur enthalten.

https://www.punchcommerce.de/gateway/v3/return?sID={UUID}

PunchCommerce wendet die für den Kunden definierte Feldzuordnung auf den Warenkorb an und übermittelt den Warenkorb an das aufrufende E—Procurement-System über das jeweilige PunchOut-Protokoll. Details können der aktuellen Swagger-Dokumentation entnommen werden.

Links

PunchCommerce® ist ein Produkt der Netzdirektion GmbH