Ich möchte hier mal meine Erfahrung mit der REST-API kurz zusammenfassen, insb. das Setup und Tests über Swagger - dazu sind doch einige Schritte notwendig.
Zuerst in die JTL
Wawi und den POS Server aktivieren, dieser stellt die REST-API bereit:
- Menü "Admin -> Globale Einstellungen -> Server Einstellungen -> Rest-Server beim Workerstart starten"
- "Server konfigurieren" anklicken, für lokale Tests genügt "127.0.0.1", ansonsten auf die IP ändern, über die die REST-API verfügbar sein soll
- Port habe ich auf "4443" geändert, ist aber Geschmacksache, ich verwende nur ungern offizielle Ports, die evtl. auch von anderer Software verwendet wird wie von jedem Web Server
- "Zertifikat erstellen" -> Meldung bestätigen, passiert alles automatisch
- mit "OK" bestätigen, speichern und sicherheitshalber Wawi neu starten
POS Server starten und vorbereiten, damit dieser auch via
Worker 2.0 verwendet werden kann:
- Menü "Admin -> JTL-Worker -> Status"
- "
JTL-POS-Server" markieren und den Button "Starten" anklicken -> Status sollte sich auf "Läuft" ändern
Immer noch in der Wawi müssen wir einen Benutzer konfigurieren, der dann einen API Key erhält, mit dem auf die REST-API zugegriffen werden kann:
- Menü "Admin -> Benutzer / Rechte -> Benutzer anlegen oder per Doppelklick zum Bearbeiten öffnen -> rechts unten Key erzeugen anklicken -> Key kopieren"
- Key in Base64 encodieren, z. B. via PowerShell und somit ohne externe Tools oder Programmieraufwand:
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('12345678-ABCD-1234-1234-123456ABCDEF'))
- Ergebnis kopieren, im obigen Beispiel: MTIzNDU2NzgtQUJDRC0xMjM0LTEyMzQtMTIzNDU2QUJDREVG
Zu guter letzt Worker 2.0 neu starten, um den POS-Server zu starten -> neuer Tab "JTL-POS-Server" erscheint
WICHTIG für Swagger:
Man muss sich authentifizieren, dazu ist folgendes essentiell -> der Base64 encodierte API Key von oben muss wie folgt eingegeben werden:
bearer MTIzNDU2NzgtQUJDRC0xMjM0LTEyMzQtMTIzNDU2QUJDREVG
Man muss also noch das "bearer" voranstellen, sonst wird das nichts mit der Authentifizierung.
Swagger scheint den API Key rechts oben auch zu ignorieren, man muss also z. B. beim Customer Endpoint das kleine Ausrufezeichen anklicken und dort alles einfügen.
Viel Spaß damit, ich wollte auf
Eigene Felder für Artikel zugreifen, leider scheint das nicht zu funktionieren, aber vllt. hilft's ja mal dem ein oder anderen
PS: Habe das erst im Nachhinein so zusammgeschrieben, kann also sein, dass ich etwas vergessen habe - dann bitte melden und ich versuche das zeitnah zu ergänzen.