JTL-SCX Marktplatz Schnittstelle von JTL
Dominic Nelle Dominic

Product Owner JTL-eazyAuction

Entwicklertagebuch: JTL-SCX – Unsere neue Marktplatz-Schnittstelle

Aktuell arbeiten unsere Entwickler mit Feuereifer an einer wichtigen Erweiterung der Produktpalette von JTL hinsichtlich der Möglichkeit, auf Online-Marktplätzen zu verkaufen. Im heutigen Entwicklertagebuch wollen wir Euch einen Einblick in den aktuellen Stand unserer Arbeit geben und Euch zeigen, wie Ihr JTL-SCX zukünftig nutzen könnt, um Eure Vertriebskanäle systematisch zu erweitern.

Was ist JTL-SCX?

JTL-SCX steht für Sales Channel Extension und beschreibt unsere neue vereinheitlichte Schnittstelle, die es Euch als Kunden, aber auch unseren Service- und Technologiepartnern ermöglichen soll, weitere Verkaufskanäle an JTL-Wawi anzubinden. Eines unserer wichtigsten Ziele in der Entwicklung dieser Schnittstelle ist, diese Anbindung möglichst generisch, also einheitlich, zu gestalten. Kurz: Ob Ihr Euch nun auf Marktplatz A oder B aufschaltet, ein Produkt auf Marktplatz C listet oder eine neue Bestellung von Marktplatz D eingelesen wird, die Arbeitsschritte werden für Euch immer identisch sein.

Warum entwickeln wir eigene Marktplatzschnittstellen?

Über JTL-eazyAuction könnt Ihr bislang die beiden großen Onlinemarktplätze eBay und Amazon mit JTL-Wawi verbinden. Andere Marktplätze waren bislang ausschließlich über die Lösungen unserer Partner möglich. Mit JTL-SCX wollen wir Euch allerdings nicht nur ein eigenes Produkt von JTL bieten, sondern Eure Möglichkeiten in Richtung Multichannel-Handel weiter ausbauen und stärken.

Sowohl wir von JTL, als auch Partner und Ihr als Kunden werdet in der Lage sein, einen beliebigen Vertriebskanal anzubinden. Daraus ergeben sich viele verschiedene Integrationen, die Ihr künftig nutzen könnt.

Wie funktioniert JTL-SCX?

JTL-SCX besteht technisch gesehen aus zwei Schnittstellen: Der Seller API und der Channel API. JTL-Wawi kommuniziert mit der Seller API. Über diese Schnittstelle werden Angebote hochgeladen oder auch Bestellungen abgeholt. Natürlich laufen dafür im Hintergrund noch viele weitere technische Prozesse, die wir an dieser Stelle aber für ein allgemeines Verständnis vernachlässigen können.

Den Gegenpart bildet die Channel API. Mit ihr decken wir dann bald eine Vielzahl von Channel Integrationen ab. Ein Channel stellt dabei die eigentliche Verbindung zum Verkaufskanal her und bündelt die gesamte Transformations- und Geschäftslogik, die nötig ist, um z.B. ein Angebot auf einem Onlinemarktplatz zu listen oder neue Bestellungen abzurufen.

Das System, welches Seller API und Channel API verbindet, könnt Ihr Euch als eine Art Proxy, also die Kommunikationsschnittstelle in unserem SCX-Netzwerk, vorstellen. Sie kennt sämtliche Händler, die über Seller API verbunden sind und weiß zugleich, mit welchem Channel die Händler jeweils arbeiten.

JTL-SCX Seller- und Channel-API

Die Herausforderung für unsere Entwicklung

Für jeden Marktplatz gibt es für Euch als Händler Regeln, die es zu beachten gilt, um ein Angebot zu listen. Diese werden Euch in Form von Metadaten bereitgestellt. Die Fülle an Metadaten reicht vom Kategorie-Baum, über die verpflichtenden Artikel-Attribute bis hin zu Versandregeln.

Die große technische Herausforderung besteht für uns als Entwickler darin, die Spezifikationen eines Marktplatzes im Channel abzubilden und zu behandeln, sodass der Datenfluss über die Channel API bis über die Seller API hin zu JTL-Wawi einheitlich und für jeden möglichen Verkaufskanal gleich gestaltet werden kann.

JTL-SCX im Zusammenspiel mit JTL-Wawi

JTL-SCX wird als Teil von JTL-eazyAuction nahtlos in JTL-Wawi implementiert sein und Euch vorausichtlich ab Version 1.6 unserer Warenwirtschaft zur Verfügung stehen. Hier soll JTL-SCX einen eigenen Bereich im Reiter „Plattformen“ erhalten. Dort unterstützt Euch JTL-SCX dann bei der Verwaltung Eurer Angebote, der Verarbeitung von Bestellungen sowie dem Post-Order Prozess.

Laufende Angebote im Bereich Plattformen.
Hier seht Ihr die im Bereich Plattformen laufenden Angebote.
JTL-Wawi SCX Abgleichs-Dialog
Hier seht Ihr den Bereich Plattformen sowie den manuellen Abgleichs-Dialog zu SCX. Im Hintergrund ist der SCX Bestellbereich.

Alle relevanten Einstellungen zu einem Angebot auf den Onlinemarktplätzen werdet Ihr allerdings in den neuen „Verkaufskanalfeldern“ innerhalb der Artikeldetails vornehmen.

Artikeldetails im Tab Verkaufskanäle, mit daneben dargestelltem Kategorie-Browser des Verkaufskanals, in dem Fall Real.
Hier findet Ihr die Artikeldetails im Tab Verkaufskanäle. Daneben ist der Kategorie-Browser des Verkaufskanals, hier zum Beispiel Real.de. Hierbei handelt es sich um alle Verkaufskategorien, in denen Ihr Euer Produkt bei Real.de einstellen könnt.
Artikeldetails im Tab Verkaufskanäle, mit daneben dargestelltem Kategorie-Browser des Verkaufskanals, in dem Fall Real.
Hier findet Ihr die Kanalspezifischen Felder.

Wo steht unsere Entwicklung gerade?

Um all die für die Bedienung von JTL-SCX notwendigen Funktionen und Zusatzfelder in JTL-Wawi zu implementieren, sind weitreichende Umbauarbeiten in unserer Warenwirtschaft nötig gewesen. Zudem haben uns die Konzeption, Planung und Entwicklung der beiden API-Schnittstellen viel Arbeit gekostet. Folgende Punkte standen in den letzten Wochen auf unserer To-Do-Liste:

  • Bereitstellung von Kategoriebäumen, Artikelattribute, Versandeinstellungen, Preise einlesen von Inventardaten
  • Angebote erstellen und bearbeiten
  • Bestand und Preise aktualisieren
  • Einlesen von Bestellungen
  • Händlerseitige Post-Order Prozesse: Setzen von Versand, Zahlung, Storno

Kaufland.de als erster neuer Marktplatz in JTL-Wawi

Wir freuen uns, dass wir mit kaufland.de (ehemals real.de) bereits den ersten Marktplatz erfolgreich an JTL-SCX angebunden haben und hier bereits erste interne Testkäufe abwickeln konnten.

real.de JTL-Technologiepartner

Nun geht es für uns darum, die Schnittstellen weiteren Praxistests zu unterziehen. Dazu arbeiten wir aktuell mit ausgewählten Pilotkunden zusammen.

Unsere nächsten Steps

Auch wenn wir viele der Erkenntnisse dieser Entwicklung auf andere Marktplätze anwenden können, zeigten sich bei der Implementierung die ersten Unterschiede zwischen Theorie und Praxis: Wir müssen die JTL-SCX Schnittstelle so generisch halten, dass zukünftig jeder beliebige Marktplatz angebunden werden kann, ohne marktplatzspezifische Funktionen in JTL-Wawi zu implementieren. Das heißt, dass wir unsere Plattform nach und nach um weitere Funktionalitäten erweitern müssen. So gibt es z.B. Marktplätze, bei denen eine Bestellung erst von JTL-Wawi explizit bestätigt, d.h. angenommen werden muss, damit diese weiterverarbeitet werden kann. JTL-SCX wird dadurch automatisch um immer neue Grundfunktionen angereichert, so dass uns die Integration weiterer Marktplätze künftig einfacher und schneller von der Hand gehen wird.

Als nächstes werden wir die Post Order Prozesse, wie Rückgabe und Umtausch sowie Rechnungskorrekturen realisieren.

JTL als offenes System

Bereits unser JTL-Fulfillment Network haben wir als offenes System angelegt, bei dem sich Fulfillment-Dienstleister und Händler über die Rest-API aufschalten können. Dieses Prinzip verfolgen wir auch mit JTL-SCX.

JTL-SCX als offenes System

Hierzu stellen wir eine ausführliche Dokumentation zur Verfügung. Unsere API-Dokumentation basiert vollständig auf dem offenen OpenAPI Spec Standard, wodurch Ihr API-Clients für nahezu jede beliebige Sprache per Knopfdruck generieren könnt. Unsere eigenen Entwicklungstools (basierend auf PHP) sind als Opensource Projekte auf GitHub verfügbar.