Wer aufmerksam den Blog von JTL-Software verfolgt, wird gesehen haben, dass in Sachen API bei JTL langsam etwas Schwung in die Kiste kommt… (Referenzbeitrag 1, Referenzbeitrag 2)

Versierten Benutzern steht lt. Referenzbeitrag 2 nun auch die Teilnahme am API Pilotprogramm zur Verfügung, auf die man sich über das JTL Kundenkonto bewerben kann. Für das Pilotprogramm steht dann die offizielle API Dokumentation zur Verfügung.

Doch auch außerhalb des Pilotprogramms bietet JTL bereits seit einiger Zeit eine Möglichkeit, auf eine API zuzugreifen. Diese ist in vielen Teilen deckungsgleich mit der Pilotprogramm-Variante, wird aber wohl, sobald es eine offizielle Version gibt, von dieser abgelöst.

Wir empfehlen dahingehend, mit der Entwicklung von komplexen Features, Addons und Programmen noch etwas zu warten.

How to Connect with JTL API:

Die nötigen Vorarbeiten zum Verbinden mit der JTL API sind eigentlich in diesem JTL Guide bereits bestens beschrieben, weshalb wir diese erstmal nur stichpunktartig aufzählen:

  1. POS-Server konfigurieren und über den Worker starten
  2. API-Benutzer in der Wawi-Benutzerverwaltung konfigurieren und API-Key erstellen

Sofern die Schritte aus dem Guide erfolgreich abgeschlossen wurden und der POS-Server im  Worker mit einer Meldung wie etwa 31.07.2023 16:17:39 Information [Server] Rest-Server wurde gestartet!.” quittiert wird, solltet Ihr in der Lage sein, die API Dokumentation über den Browser auf einem externen System aufzurufen.

Hierfür verwendet ihr wie im Worker ersichtlich:

https://IP-DES-SERVERS:PORT/rest/v1/swagger

JTL WAWI API

Die erste Abfrage über die API durchführen:

Die erste Ansicht der Dokumentation ist schonmal ein wichtiger Schritt, um sich mit den Features der API vertraut zu machen. Natürlich wollen wir aber nun auch noch die ein oder andere Aktion durchführen. 

Hierzu arbeiten wir mit dem Programm Postman, das für Apple, Windows und Linux  – in der Basisvariante und für unsere Zwecke ausreichend – kostenlos verfügbar ist.

Damit wir uns mit der API unserer Wawi verbinden können, benötigen wir noch einen sog. Bearer Token zur Authentifizierung. Diesen Bearer Token kennen wir bereits als API-Schlüssel aus den Benutzereinstellungen der Wawi.

 

Damit der API-Key auch als Bearer Token verwendet werden kann, muss dieser noch via Base64 kodiert werden:

Hierzu empfiehlt sich für unsere Spielwiese die Verwendung von base64encode.org, in die man den Wawi-API-Key einfügt und mit einem Klick auf “encode” dann den besagten Token zurückerhält, der dann in etwa so aussehen sollte:

c2Now7ZuIHfDpHIncyBnZXdlc2VuLCBvZGVyPw==

Mit diesem Token können wir nun Postman öffnen und wie folgt vorgehen:

1. Authentifizierung hinterlegen

 

2. Eine GET-Abfrage starten um Werte zu erhalten

Sowie das erledigt ist solltet Ihr bereits die erste Abfrage starten können. Zum einfachen Start lesen wir per GET-Request auf den Endpunkt Customer https://SERVER:IP/rest/eazybusiness/v1/Customer, sodass wir uns eine Liste aller Kunden ausgeben lassen, was dann in etwa so aussieht:

 

Die Rückgabe erfolgt wie erwartet als JSON Array.

2. Eine POST-Abfrage starten um Werte zu schreiben

In der zweiten Frage, einen POST-Request und ebenfalls auf den Customer-Endpunkt, legen wir einen neuen Kunden in der Wawi an. Hierzu bedienen wir uns einfach den Example-Values aus der Doku und fügen diese entsprechend im Body unseres Requests ein. 

Als Rückmeldung erhalten wir den Status 201 Created sowie die Informationen zum neu angelegten Kunden, die sich jetzt eigentlich weiter verarbeiten lassen würden.

In der Wawi sieht das dann aus, wie gewohnt:

 

Wie man sieht, öffnen sich mit der JTL API und dem Zugriff auf die Stammdaten innerhalb von JTL nun ganz neue Möglichkeiten. Die derzeit wohl interessantesten Bereiche dürfen wohl Customers, Items, SalesOrders und Workflows sein.

Wie Eingangs erwähnt, empfehlen wir allerdings noch nicht zu viel auf die derzeitige Fassung der API zu bauen, da sich im Laufe der nächsten Wochen und Monate hier sicherlich noch einiges tun wird.

Aber der Anfang ist gemacht und es werden sich dadurch für JTL sicher zahlreiche neue Möglichkeiten eröffnen…

Fragen zur derzeitigen Fassung der JTL API oder Hilfe und Unterstützung benötigt?

Nutzen Sie die 07257 – 938 90 38 für eine Beratung oder schreiben Sie uns eine E-Mail über unser Kontaktformular.