Mit commercetools einen Marktplatz bauen

Veröffentlicht von

Matthias Steinforth

Schwerpunkt:
Digital Strategie

Marktplätzte – ob im B2C oder B2B – sind für viele Shop-Systeme eine Herausforderung. Das Zusammenspiel verschiedener Händler, gemischte Warenkörbe, die Anbindung unterschiedlicher Backend-Systeme und die Abwicklung von Bestellungen sind nur einige Anforderungen, die erfüllt werden müssen. Die API-First Plattform commercetools bietet hierfür eine ideale Basis, um individuelle Marktplatz-Konzepte zu entwickeln und zu skalieren. Wir geben einen Überblick, wie mit commercetools ein Marktplatz gebaut werden kann.

Beliebig viele Händler auf einer Plattform

Eine zentrale Eigenschaft von Marktplätzen ist, dass nicht ein Händler an beliebig viele Kunden, sondern beliebig viele Händler an entsprechende Kunden verkaufen. Um diese Anforderung abzubilden, muss die technische Plattform in der Lage sein, ein Produkt mehrerer Händler und damit zu unterschiedlichen Preisen zu verwalten. Gleichzeitig müssen verschiedene Bestände, Lager und sogar Preisänderungen (z.B. Rabatte) abgebildet werden können.

Flexible Datenmodelle

Mit commercetools steht über das Datenmodell der Stores eine perfekte Möglichkeit für den Aufbau von Marktplätzen bereit: Bis zu 300.000 Stores können innerhalb von commercetools verwaltet werden. Jeder Store entspricht hierbei einem Merchant und erlaubt es, über so genannte Channels die Verbindung zwischen Händler, Produkt, Preis und Lagerbestand zu definieren. Ein Händler kann also seinen individuellen Preis für ein Produkt im Sortiment definieren und zudem noch die verfügbare Menge sowie das entsprechende Lager definieren. Zeitlich begrenzte Preise wie Rabatte werden hierfür als eigener Channel (sprich die Verbindung aus Store, Produkt, Preis und Bestand) gespeichert und mit Start- und Enddatum befristet.

Über das Datenmodell der Stores können darüber hinaus auch ergänzende Informationen, wie Adressen, Kontaktdaten oder Vorlaufzeiten für eine Bestellung definiert werden. Bei regionalen Marktplätzen, die über einen Lieferservice angebunden sind, kann so beispielsweise geregelt werden, welche Produkte an welchem Liefertermin bestellbar sind.

Für die Verwaltung von Produkten, stellt commercetools mit Products ebenfalls ein flexibles Datenmodell bereit: Dieses erlaubt die Speicherung von unterschiedlichen Merkmal-Sets pro Produktart; so wird ein einheitliches Datenmodell geschaffen, um Filter oder Facetten für die Navigation und Suche zu nutzen. Spannend sind hierbei auch die Machine Learning (ML) Möglichkeiten von commercetools, die beispielsweise auf Basis der erfassten Produktdaten eine Empfehlung für eine Produktkategorie oder ähnliche Produkte generieren.

Beispiel für eine automatische Kategorie-Zuordnung
Beispiel für eine automatische Kategorie-Zuordnung

Import und Schnittstellen

Doch allein Datenmodelle reichen nicht aus, um einen Marktplatz mit Leben, sprich Inhalten und Produktdaten zu befüllen. Hierfür stellt commercetools mit der Import-API einen flexiblen Weg zur Verfügung, Daten aus bestehenden Quellen zu importieren: Sind beispielsweise Produktdaten zentral definiert und über eine SKU eindeutig zuzuordnen, so kann über die Import-API die Anbindung von externen ERP-Systemen oder Exporten umgesetzt werden.

Für den Import von Produktdaten kann ebenfalls die Import-API genutzt werden: Hierfür müssen Mapping-Modelle definiert werden, um die Produkte der Händler auf das im Marktplatz definierte Datenmodell zuordnen zu können. Im Anschluss an den Import kann jedes Produkt über eine State Machine durch einen Freigabe- oder Validierungsprozess laufen, um beispielsweise Kategorien automatisch zuzuordnen oder eine manuelle Freigabe durchzuführen.

Die Bereitstellung von Bestelldaten oder Änderungen an Bestellungen werden mit commercetools über eine Message Queue gelöst: Hierbei können Änderungen an einer Bestellung oder auch an Produkten (z.B. Bestände) direkt an die Backend-Systeme der Händler oder an eine andere Schnittstelle (z.B. E-Mail) per API übermittelt werden. So kann auf Wunsch eine direkte Anbindung des Marktplatzes an ein Backend-System erfolgen oder Änderungen über eine Schnittstelle, als E-Mail oder in anderen Formaten abonniert werden.

Eigene Oberfläche für die Händler

Um Händlern Zugriff auf Produktdaten, ihre hinterlegten Preise, aber auch Bestellungen und andere Informationen zu geben, muss ein Händler-Bereich entwickelt werden. Grundsätzlich stellt commercetools mit dem Merchant Center hier einen möglichen Ansatz zur Verfügung; diese ist allerdings in einigen Bereichen limitiert.

Merchant Center und Custom Applications

Der Vorteil des Merchant Centers von commercetools ist gleichzeitig sein Nachteil: Über die Oberfläche können Händler-Zugriffe eingerichtet, die Funktionen verrechtet und auch eigene Module – so genannte Custom Applications – implementiert werden. Grundlage bildet für diese Anwendungen bilden React, GraphQL und Webpack; commercetools stellt hierfür ein eigenes Design System bereit. Durch den API-First Ansatz können fast alle Funktionen – wie das Anlegen oder Bearbeiten eines Produktes oder die Darstellung von Bestelldaten – per API abgerufen werden. Einzige Ausnahme: Das Anlegen von Nutzern im Merchant Center. Daher kann zwar das User Management von commmercetools und die Möglichkeiten der Authentifizierung sowie der Verrechtung genutzt werden; allerdings müssen neue Händler-Accounts über einen manuellen Prozess erzeugt werden.

Eigenes Admin-Frontend und separates User Management

Die Alternative stellt die Entwicklung eines eigenen Admin-Frontend dar: Dieses kann ebenfalls auf die APIs von commercetools zugreifen und alle relevanten Aktionen ausführen , die das Anlegen von Produkten oder die Bearbeitung von Bestellungen ermöglichen. Allerdings wird dann ein separates User Management benötigt, gegen welches sich die Händler authentifizieren. So können im Gegenzug aber verschiedene Rollen und Rechte pro Händler definiert und auch mehrere Sub-User angelegt werden, die verschiedene Rechte auf die Daten des Händlers erhalten.

Über ein eigenes Frontend können zudem weitere externe Lösungen für den Händler zugänglich gemacht werden: Ob Payment Services (z.B. Auszahlung von Guthaben), Zugriff auf APIs von Logistik-Partner oder Marketing-Funktionen (beispielsweise das Anlegen von Coupons) kann im Zusammenspiel weiterer API-First Lösungen ermöglicht werden.

API-First als Voraussetzung

Da commercetools nach dem MACH-Ansatz funktioniert (Microservices, API-First, Cloud, Headless), sind die Zugriffe auf alle Funktionen und Daten über APIs möglich. Die Plattform selbst stellt hierfür die notwendigen API-Endpunkte bereit und erlaubt das Lesen und Schreiben der entsprechenden Daten. So kann jede Funktion von Außerhalb über eine eigene Applikation aufgerufen und gesteuert werden.

Komplexe Bestell- und Fulfillment-Prozesse abbilden

Auch bei der Abwicklung von Bestellungen sind die Prozesse auf Marktplätzen komplexer als in herkömmlichen Webshops: Bestellungen müssen auf verschiedene Händler gesplittet werden, anschließend durchlaufen sie unterschiedliche Fulfillment- und Logistik-Prozesse. Daher muss das E-Commerce-System in der Lage sein, jeden Artikel einer Bestellung – also jedes Line Item – getrennt durch einen Prozess laufen zu lassen.

Status jedes Artikels einer Bestellung individuell steuern

Mit der State Machine stellt commercetools hierfür die notwendige Funktionalität bereit: Jedes Line Item einer Bestellung kann hierbei diesen Prozess durchlaufen und gesondert behandelt werden. Die Produkte von Händler A werden dann anders abgewickelt als die von Händler B: So kann ein Produkt bereits versendet sein, während ein anderes Produkt sich noch im Fulfillment-Prozess befindet.

Die State Machine ist aber nicht nur in der Lage, Bestellungen prozessual zu behandeln: Auch Produkte, Reviews und Payments können Prozesse durchlaufen. Letzteres spielt in Marktplätzen eine wichtige Rolle, da die Bezahlung zentral erfolgt und erst im Anschluss an die Lieferung der Ware an die Händler ausgeschüttet wird. Daher müssen auch Zahlungen während des gesamten Bestellprozesses auf Ebene der Line Items behandelt werden.

User Experience als Schlüssel zum Erfolg

Auf Grundlage der über commercetools entwickelten Datenmodelle und APIs muss nun ein Frontend bereitgestellt werden, welches die individuellen Anforderungen an die User Experience ermöglicht. Anders als einfache Webshops, sind die Prozesse bei der Bestellung aber auch die Darstellung von Produkten und Buy-Box komplexer: Je nach Marktplatz-Modell müssen verschiedene Preise unterschiedlicher Händler dargestellt und auch die Lieferkonditionen visualisiert werden.

Dank eines Headless-Ansatzes kann hierfür eine vollständig individuelle User Experience entwickelt und bereitgestellt werden: Über eine PWA werden die APIs angesteuert und je nach Kontext die passenden Daten aus commercetools abgerufen. Optional sorgt ein Server Side Rendering dafür, dass beispielsweise Product Detail Pages statisch abgelegt und gecacht werden. Dies macht beispielsweise eine Indexierung durch Google oder andere Suchmaschinen deutlich schneller und einfacher.

Neben einer browserbasierten Darstellung des Marktplatzes, bietet commercetools mit seinen APIs auch die Möglichkeit, andere Touchpoints und Endgeräte anzubinden: Erfolgreiche Marktplätze nutzen häufig Apps, um sowohl für Käufer als auch für Händler eine Möglichkeit zu schaffen, Produkte zu kaufen und zu verkaufen.

Payment als kritischer Faktor

Eine weitere Herausforderung auf Marktplätzen ist das Thema Payment: Insbesondere dann, wenn Käufer in der Lage sein sollen, Produkte verschiedener Verkäufer (also Händler) in einem Checkout-Prozess zu bestellen oder wenn das Payment über den Marktplatz zunächst abgewickelt und anschließend – abzüglich möglicher Gebühren – an den Händler ausgezahlt werden soll. Führende Payment Service Provider wie Stripe, Mangopay, Unzer oder Adyen bieten mittlerweile entsprechende Technologien an, die es erlauben Payments auf Marktplätzen abzuwickeln.

Individuelle Integration des Payment Service Providers

Bei der Integration eines Payment Service Providers (PSP) in einen Marktplatz sind zwei Themen relevant: Zum einen muss das Payment im Checkout-Prozess ermöglicht werden. Kunden müssen Kreditkartendaten eingeben, eine Bezahlung per Paypal durchführen oder per Rechnungskauf die Produkte bestellen können. Hierfür liefern die PSP Komponenten, die im Frontend integriert und verbaut werden können.

Spannender ist der Prozess nach erfolgreicher Bezahlung: Nun muss die Bezahlung bis zur Lieferung reserviert, anschließend abgewickelt und an die Händler verteilt sowie ausgezahlt werden. Diese Schritte sind wiederum abhängig vom Status der Bestellung beziehungsweise der einzelnen Line Items. So kann es unter Umständen zu Problemen bei einem Artikel kommen, während die restlichen Artikel erfolgreich ausgeliefert wurden. Daher muss dann nur ein Teilbetrag der Bezahlung erstattet werden, während der Anteil für die ausgelieferte Ware an die Händler ausgezahlt wird.

Spezielle Anforderungen im B2B und Reverse Marketplace

Neben den bereits beschriebenen Anforderungen von B2C-Marktplatz-Modellen, kann es im B2B-Kontext zu weiteren Herausforderungen kommen: Komplexe Bestell- und Angebotsprozesse mit nachgelagerter Preisgestaltung sind ein Beispiel. Auch kommt es bei Reverse Marketplaces (also umgekehrten Marktplätzen) zu der Herausforderung, dass Kunden ein bestimmtes Produkt kaufen möchten und mehrere Händler hierfür ein Angebot abgeben. Auch diese komplexen Anforderungen können mit commercetools gut gelöst werden.

Mit Quotes den B2B-Bestellprozess gestalten

Eine der neusten APIs von commercetools sind Quotes, eine Möglichkeit den Angebots- und Bestellprozess zwischen Käufer und Verkäufer abzubilden. Hierfür können Quote Requests, also Angebotsanfragen, generiert und durch die Händler bepreist werden. Die Angebote können hierbei einen definierten Prozess durchlaufen und werden entsprechend gespeichert, sodass eine nachträgliche Bearbeitung nicht mehr möglich ist.

Über diese Möglichkeit können sowohl Angebotsprozesse im B2B-Kontext zwischen Käufer und Verkäufer als aus Reverse Marketplace-Konzepte mit Ausschreibungen und unterschiedlichen Angeboten abgebildet werden.

Die ideale Basis für anspruchsvolle Marktplatz-Konzepte

In Summe bietet commercetools die idealen Voraussetzungen, um komplexe und anspruchsvolle Marktplatz-Konzepte zu realisieren. Anders als ein Standard-Shopsystem, bietet commercetools die notwendige Flexibilität, um eine individuelle User Experience zu entwickeln und gleichzeitig eine Vielzahl von APIs, um die notwendigen Datenmodelle aufzubauen und anzusprechen.

Bei kernpunkt haben wir bereits Marktplätze mit commercetools erfolgreich realisiert: So nutzt beispielsweise Bikes.de, die Plattform als technische Grundlage für einen Marktplatz mit über 100 Händlern.

'Was Neues geplant?

Dann lass uns zusammen Dein Projekt starten.