Headless E-Commerce Integration mit Commercetools und Synesty

Ein Anwendungsbeispiel, wie man mit Synesty die Headless Commerce Platform Commercetools an andere Systeme anbinden kann.

Headless E-Commerce Integration mit Commercetools und Synesty

In unseren Tutorials stellen wir regelmäßig Anwendungsbeispiele, APIs und Schnittstellen vor, die man mit Bordmitteln von Synesty anbinden kann, ohne dass es bisher ein fertiges Add-On von Synesty gibt.

Microservices, API-first, Headless und Cloud-native sind einige der Schlagworte, die die Plattform commercetools beschreiben. Ohne zu sehr ins Detail zu gehen, versteht man darunter (sehr einfach ausgedrückt) eine E-Commerce-Plattform ohne Web-(Shop)-Frontend. Stattdessen verfügt die Plattform ausschließlich über APIs zur Verwaltung von Produkten und Bestellungen. Das Frontend kann dann jedes Unternehmen selbst in einer Technologie seiner Wahl anschließen. Diese Art und Weise bietet enorm viel Flexibilität, die eigene E-Commerce-Landschaft individuell und unabhängig von bestimmten Technologien zu gestalten. Das haben auch namenhafte Kunden wie Audi, AT&T oder Danone erkannt, die in ihrer E-Commerce-Strategie auf commercetools setzen.

Der API-first Ansatz von commercetools ist natürlich auch für Synesty spannend, um verschiedene Tools und Systeme an commercetools anzuschließen.

In diesem Artikel wollen wir beispielhaft zeigen, wie man mit einfachen Boardmitteln von Synesty und den API-Connector-Tools Produkte und Bestellungen aus commercetools exportieren kann. Das ist z.B. sinnvoll für die Erstellung von Produktdatenfeeds oder die Integration von ERP-Backend-Systemen, an die die Bestellungen exportiert werden sollen.

Das commercetools Backend

Natürlich gibt es trotz API-first und Headless auch ein Web-Interface, in dem man manuell verschiedene administrative Aufgaben erledigen kann. Für die Test-Integration in diesem Artikel gehört dazu:

  • Einrichtung API-Key für die Kommunikation mit der REST-API Schnittstelle (ClientID und Client Secret)
  • Anlegen von Produkten
  • Anlegen von Bestellungen

API Zugang mit Synesty einrichten

Die commercetools API verwendet die OAuth2 ClientCredentials Authentication, die man in Synesty als HTTP-Account konfigurieren kann.

Dazu hinterlegt man einen HTTP-Account mit folgenden Daten:

  • Type: OAuth 2.0
  • Granttype: Client Credentials
  • ClientId (aus dem commercetools Backend)
  • Client Secret (aus dem commercetools Backend)
  • Token URL: https://auth.europe-west1.gcp.commercetools.com/oauth/token
  • Scopes: manage_orders:{projectkey} manage_products:{projectkey} (wurden bei der Einrichtung in commercetools angezeigt)

Ein Klick auf "Konfiguration starten" füllt dann den Access-Token, der für die API-Calls gebraucht wird.

Produkte exportieren

Um Produkte zu exportieren, erstellen wir einen einfachen Demo-Flow. Dieser besteht aus URLDownload und einem JSONReaderVisual. Der URLDownload macht den HTTP-Request auf den /products API-Endpunkt und der JSONReaderVisual liest die JSON-Antwort ein und extrahiert die Felder, die man benötigt.

Das Ergebnis ist ein Spreadsheet mit verschiedenen Spalten aus den Produktdaten. Den Flow kann man jetzt erweitern und die Daten durch weitere Steps an ein externes System übergeben.

Da wir im obigen Beispiel den Bestand / Stock der Produkte ausgelesen haben, übermitteln wir diesen exemplarisch an ein anderes E-Commerce-System für ein Bestandsupdate - in diesem Beispiel Tradebyte Set Stock. Dazu wurden die zwei für Tradebyte relevanten Spalten referenceID und stock gemappt und mit den Daten aus commercetools gefüllt.

Damit wäre ein vereinfachter Flow für ein Bestandsupdate von commercetools zu Tradebyte fertig und könnte automatisiert werden, um den Warenbestand z.B. stündlich zu aktualisieren.

Bestellungen exportieren

Mindestens genauso wichtig, wenn nicht gar wichtiger, sind die Bestellungen. Da das Shopsystem oft nicht das Fullfilment übernimmt, werden die Auftragsdaten in andere Backendsysteme wie ERP oder Fullfillmentdienstleister exportiert.

Diesen Prozess zeigen wir im Folgenden auch exemplarisch.

Der Flow funktioniert sehr ähnlich dem Produktexport, nur dass wir auf den /orders API-Endpunkt gehen. Da Bestellungen jedoch eine zweistufige Struktur aus Bestellungen und Bestellpositionen haben, nutzen wir hier den APICall Step. Dieser Step hat den Vorteil, dass er durch Scripting mehr Möglichkeiten bietet, diese zweistufigen Daten einzulesen.

Das Parsing-Template zeigt exemplarisch, wie man die Orderzeilen mit den dazugehörigen lineItems ausliest. Mit einem nachfolgenden Mapper entfernt man noch alle Felder, die man nicht benötigt und erzeugt daraus z.B. eine CSV-Datei für das ERP.

Abschließend muss man sich noch überlegen, auf welchem Transportweg das externe System die Daten übermittelt bekommen soll. Von (S)FTP-Übertragung bis hin zu S3 Storage, Google Drive, One Drive, Dropbox oder eine weitere API ist alles denkbar. Dafür gibt es eine ganze Reihe fertiger Add-Ons.

Fazit

API-first, Headless, No Code Integration und Automation sind ganz schön viele Buzzwords, die jedoch sehr gut zusammenpassen. Wir hoffen, wir konnten anhand der praktischen Beispiele ein Gefühl vermitteln, wie man Synesty als Middleware / Schnittstelle zwischen commercetools und anderen Softwaresystemen einsetzen kann.

Die gezeigte Integration kratzt natürlich nur an der Oberfläche der Möglichkeiten. Wenn Sie das Gezeigte selbst ausprobieren wollen, dann können Sie mit unserer Vorlage starten.

Zur Vorlage

Sprechen Sie uns gern an, wenn Sie mehr erfahren möchten.

Weitere Informationen

Unser Whitepaper für Macher: No Code Integration & Automatisierung

Verwandte Beiträge


Aktualisiert am October 12, 2022
Chatten Sie mit uns