B2B-E-Commerce mit OCI und commercetools

Veröffentlicht von

Matthias Steinforth

Schwerpunkt:
B2B E-Commerce

Katalog-Anbindung an B2B-Webshop per OCI

Große Unternehmen und Organisationen mit einem zentralisierten Einkauf nutzen in der Regel E-Procurement-Systeme, um die Beschaffung von Waren und Produkten zentral abzubilden und eine Anbindung an ihre ERP-System zu ermöglichen. Hierbei können die Produkte der Lieferanten innerhalb des E-Procurement-Systems hinterlegt sein oder aber auf externe Kataloge der Lieferanten zurückgegriffen werden. Ist letzteres der Fall, so findet häufig ein Austausch der Bestelldaten über das OCI (Open Catalog Interface) Format statt. OCI wurde von SAP als Standard-Format entwickelt und ist mittlerweile in Version 5.0 verfügbar.

Über einen - häufig als Punchout bezeichneten - Prozess, springt der Besteller dann aus dem E-Procurement-System in den jeweiligen Webshop des Lieferanten, um dort seine Bestellung zusammenzustellen. Doch anstelle eines Checkouts innerhalb des Webshops, wird die Bestellung über OCI zurück an das E-Procurement-System gegeben und anschließend über das ERP-System ausgelöst.

Der Prozess und die Voraussetzungen

Wenn ein B2B-Webshop über OCI an ein ERP-System angebunden werden soll, so sind hierfür verschiedene Schritte notwendig. Vor allem ist zu beachten, dass jedes ERP-System unterschiedlich mit dem OCI-Standard umgeht unddie Daten nicht einheitlich zwischen Webshop und ERP-System ausgetauscht werden können. Daher sind in der Vorbereitung stets Datenformate und Quellen zu mappen und entsprechend zu synchronisieren. Folgende Punkte sind zu berücksichtigen:

  • Damit der B2B Webshop OCI unterstützen kann, muss die Möglichkeit geschaffen sein, den Warenkorb nicht nur über einen Checkout-Prozess abzuwickeln, sondern über eine hinterlegte Rücksprungadresse an das ERP-System zu übertragen.
  • Vorab ist der B2B-Shop dem jeweiligen ERP-System bekannt zu machen; hierfür muss z.B. die URL des Webshops, die Login-Daten für den Webshop und die Rücksprung-URL für die Übermittlung des OCI-Warenkorbs hinterlegt werden.
  • Der Webshop muss zudem einen parametrisierten Login per URL-Aufruf ermöglichen. Es muss daher sichergestellt sein, dass ein Webshop-Nutzer durch Übergabe von Nutzernamen und Passwort automatisch angemeldet werden kann. 
  • Greift ein OCI-Nutzer auf den Webshop zu, so muss der entsprechende Checkout-Prozess abgewandelt werden und ein Rücksprung auf den Katalog ermöglicht werden (statt im Warenkorb). Beim Klick auf den entsprechenden Bestell-Button wird der Warenkorb dann an die Rücksprungadresse im OCI-Format übermittelt. Dort steht er ab dann zur weiteren Bearbeitung bereit.

Absprung aus dem ERP und Login in den Webshop

Um aus einem ERP-System in einen Webshop als Bestellkatalog abzuspringen, sind gewissen Voraussetzungen notwendig. Diese müssen geschaffen werden, um die Kunden- bzw. Nutzerdaten an den Webshop zu übergeben und den Nutzer direkt im Webshop anzumelden. Hierfür muss die Login-Funktionalität in der Lage sein, über eine parametrisierte URL geöffnet zu werden. Folgende Daten werden hierbei übergeben:

  • URL des Produktkatalogs
  • Parameter wie:
  • Login
  • Passwort
  • Sprache
  • Codierung
  • Rücksprungadresse (HOOK_URL)

Hierbei ist zu beachten, dass das Passwort als Teil der URL übergeben wird. Dies stellt einen sicherheitskritischen Faktor dar. Daher sollte überlegt werden, ob eine zusätzliche Authentifizierungsmethode genutzt wird: So kann beispielsweise über eine Zwei-Faktor-Authentifizierung, nach dem Absprung in den Webshop, eine E-Mail mit einem zusätzlichen Login-Code gesendet werden. Diese stellt dann sicher, dass der entsprechende Nutzer sich auch wirklich einloggen darf.

Der OCI-Standard bietet seit geraumer Zeit auch die Möglichkeit einer verschlüsselten Übertragung des Passworts, allerdings wird dies von den meisten ERP-Systemen nicht unterstützt.

Einsatzbereiche und Möglichkeiten

Auch wenn SAP den OCI-Standard entwickelt und definiert hat, setzen mittlerweile zahlreiche ERP-Anbieter auf diesen Weg, Bestelldaten aus einem Webshop in das ERP-System zu übermitteln. Folgende Liste von ERP-Anbietern bietet bereits eine OCI-Schnittstelle an:

  • SAP Ariba (E-Procurement-Plattform)
  • SAP ERP (u.a. R/3, HANA, Business One)
  • Microsoft ERP (u.a. NAV / Navision, Business Central, AX /Axapta)
  • Infor ERP
  • ABAS
  • ES Office

Weitere Einsatzmöglichkeiten des OCI-Standards

Neben der Übermittlung von Bestellungen aus einen B2B Webshop in Richtung ERP, bietet der OCI-Standard auch weitere Einsatzmöglichkeiten. So können beispielsweise Produktinformationen aus dem ERP heraus abgerufen oder Massendatenaktualisierung vorgenommen werden:

Produktdetailinformationen abrufen

Mittels des Parameters DETAIL in Kombination mit der PRODUCTID können gezielt Detailinformationen zu einem Produkt aus dem externen Produktkatalog abgefragt werden. So kann der Aufruf genutzt werden, um aus einem Katalog die verfügbaren Produktinformationen aus dem Shop zu beziehen und im ERP-System darzustellen. Damit ist es im SAP Supplier Relationship Management Portal möglich, deutlich weitergehende Informationen anzuzeigen, als über den OCI-Standard ursprünglich übertragen wurden.

Massendatenfunktionen

Mit der Einführung des OCI-Standards ab der Version 5.0, steht neben der Übertragung von Warenkörben, auch eine Funktion für die Synchronisation von Stammdaten und die Suche nach Produkten bereit. Entsprechende Aufrufe liefern ein JSON-Format zurück, welches dann im ERP-System weiterverarbeitet werden kann.

Beispiele für übermittelte Daten:

Anbindung an commercetools

Die Anbindung zwischen einem Webshop auf Basis von commercetools und dem ERP-System per OCI ist technologisch über einen eigenen Microservices möglich. Hierbei übernimmt der Microservice die Umleitung des Checkout-Prozesses in Richtung der OCI-Schnittstelle.

Ist im Frontend ein Nutzer angemeldet, der eine Bestellung per OCI durchführen möchte, so muss der entsprechende Prozess im Warenkorb angepasst werden: Statt eine Übergabe des Warenkorbs an die Checkout-API von commercetools, müssen die Informationen (Produkt, SKU, Artikel-Nummer, Preis, Menge) an die OCI-Schnittstelle übermittelt werden. Dies erfolgt über einen entsprechenden Aufruf der jeweiligen URL per POST.

Optional kann zusätzlich auch eine Übermittlung der Bestellung an das commercetools-Backend erfolgen, um nachgelagerte Prozesse abzubilden oder die Daten für statistische Zwecke zu erfassen. Sollen beispielsweise die Bestände im Shop angepasst werden, so muss die Bestellung zumindest in commercetools erfasst werden. Im Nachgang kann dann eine Zusammenführung der ERP-Bestellung mit der temporären OCI-Bestellung in commercetools erfolgen.

'Was Neues geplant?

Dann lass uns zusammen Dein Projekt starten.