API 2.1 für OnPrem?

Care21

Sehr aktives Mitglied
1. Februar 2022
132
79
Moin!
Die DevDoc für OnPrem wurde seit 2.0 / 2.1 entfernt. Bedeutet dies, dass es keine OnPrem Version gibt für die REST API 2.0/2.1?
Geht alles nur noch über den JTL Hub?

Bin da tatsächlich etwas verwirrt - auch mangels Kommunikation.
Vielen Dank falls jemand die v2 API nutzt :D

VG
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
405
100
Vielen Dank falls jemand die v2 API nutzt

Moin,
ich hatte kürzlich mit dem JTL-Support telefoniert.
Dabei ging es unter anderem um die neue API.

Mir wurde nahegelegt, mich künftig auf die neue JTL Cloud API zu fokussieren.

Abhängig davon, was du am Ende erreichen möchtest, ist die OnPrem API aber nicht als „deprecated“ zu betrachten.
Sie ist weiterhin nutzbar und für lokale Wawi-nahe Prozesse auch nach wie vor relevant.
Nach meinem Verständnis wird es aber eher keine OnPrem API 2.0 mehr geben.

Wenn du möglichst zukunftssicher entwickeln möchtest, würde ich daher von vornherein die JTL Cloud API nutzen, also über den Hub bzw. das Partner Portal eine App registrieren.
Gerade wenn man sich Themen wie JTL Shipping 2.0 und die künftige API-Strategie anschaut, ergibt es meiner Meinung nach sehr viel Sinn, direkt auf die Cloud API zu setzen.
 

Care21

Sehr aktives Mitglied
1. Februar 2022
132
79
Im großen und ganzen möchte ich eigentlich nur Lieferscheine quittieren / bestätigen per Package Data. Aber der Endpunkt scheint in v1 entweder buggy oder defekt zu sein.
Müsste ich mal in Ruhe austesten. Vielen Dank dir. :)
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
405
100
Im großen und ganzen möchte ich eigentlich nur Lieferscheine quittieren / bestätigen
Ich weiß nicht genau, was du in dem Zusammenhang mit „bestätigen“ meinst.

Wenn du damit meinst, den Auftrag bzw. den Lieferschein wirklich als versendet zu setzen, glaube ich nicht, dass das über die OnPrem API v1 sauber möglich ist.
Zumindest wirkt der Package-Data-Endpunkt dort eher so, als würde man Paketdaten wie Trackingnummer, Versanddatum oder Kommentar übertragen, aber nicht zwingend den kompletten Versandabschluss auslösen.

Die neue JTL Cloud API v2 sieht dafür deutlich passender aus. Dort gibt es den Endpunkt:
POST /v2/package/deliver

Der heißt in der Doku ausdrücklich „Delivers an existing Package“ und nimmt unter anderem packageId, trackingCode und shippingDate entgegen.

Das klingt für mich eher nach dem, was du suchst. Ich würde daher v1 zwar einmal gegenprüfen, aber wenn der Endpunkt dort ohnehin hakelig ist, würde ich mir direkt die Cloud API v2 anschauen.
 
  • Ich liebe es
Reaktionen: Care21

Care21

Sehr aktives Mitglied
1. Februar 2022
132
79
Kurze Frage an dich: Wo finde ich (eindeutig) die Tenant-ID? Meines Wissens nach benötige ich die doch bereits fürs Auth?
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
405
100
Die tenantId erhältst du offiziell aus dem Session Token, das dein Frontend über die AppBridge mit appBridge.method.call('getSessionToken') anfordert.

Dein Backend verifiziert dieses Token mithilfe der öffentlichen Schlüssel von JTL, also JWKS, und liest anschließend die tenantId aus dem Payload aus.
Diese verwendest du dann bei API-Aufrufen im Header X-Tenant-ID.

Wenn du den offiziellen Weg gehst, musst du dafür natürlich entsprechend etwas bauen.

So viel zum offiziellen Weg.

Pragmatisch geht es aber auch einfacher.
JTL sendet die Tenant-ID an mehreren Stellen über die API mit.

Wenn du deine App im Hub installiert hast, kannst du im Browser die Entwicklertools öffnen und im Netzwerk-Tab nach folgendem Request suchen:

GET https://api.jtl-cloud.com/account/tenants

In der Antwort findest du die Tenant-ID.
Für X-Tenant-ID ist dabei das Feld id relevant.

Ob das so als offizieller Weg gedacht ist, weiß ich nicht.
Für einen schnellen Test lässt sich die Tenant-ID darüber aber eindeutig ermitteln.
 

Care21

Sehr aktives Mitglied
1. Februar 2022
132
79
Hallo zusammen,

ich versuche aktuell, unsere Cloud-App (Manifest v1.0.3, 24 Scopes, korrekt installiert + konsentiert) gegen die JTL Cloud REST API zu schreiben — konkret den Endpoint POST
/erp/v2/deliveryNotes/{id}/packages, um Tracking-Codes aus unserem externen Logistik-Dienstleister zurück in die Wawi zu pushen.

Stoße aber konsequent auf folgenden Fehler bei jedem v2-Aufruf, der Versand-Daten zurückgeben würde:

{
"Status": 400,
"Detail": "No seed found for key type JTL.Data.Contracts.Keys.VersandKey.
Please ensure that the key seed data is initialized.",
"Instance": "/api/Mandant_2/v2/deliveryNotes"
}

Egal ob:
- GET /v2/deliveryNotes ohne Filter
- mit ?salesOrderNumber=… (wenn der Auftrag existiert)
- mit ?customerId=…
- mit ?salesOrderNumberId=<UUID>
- mit oder ohne x-appid/x-appversion-Header
- mit oder ohne pageSize

→ immer derselbe Seed-Fehler. Einzige Ausnahme: Wenn die Query ein leeres Resultset zurückgibt (z.B. ?salesOrderNumber=BLABLA-EXISTIERT-NICHT), kommt HTTP 200 mit totalItems: 0. Klingt für mich danach, dass
der Serializer beim Versuch, eine VersandKey-UUID aufzulösen, an einer leeren Mapping-Tabelle scheitert.

Was sonst klappt (zur Eingrenzung):
- ✅ REST V1 — GET /v1/deliveryNotes/<int-id> und …/packages funktionieren komplett (int-IDs, kein UUID-Seed nötig)
- ✅ GraphQL — QuerySalesOrders, QueryItems, QueryCustomers alle ok
- ✅ GraphQL Mutations — Permission ist nach Re-Install jetzt da (kein AppNotAllowed mehr)
- ❌ aber CreateDeliverPackage braucht packageId als UUID, und die UUID kriege ich nur über /v2/deliveryNotes/.../packages — was am Seed-Fehler scheitert. Chicken-and-Egg.

Frage an die Runde:
1. Ist das ein bekannter Init-Bug bei frisch installierten Cloud-Apps?
2. Hat jemand das schon gehabt und kennt einen Trigger, der den Seed-Build serverseitig anstößt? (Erneute Wawi-Lizenz-Refresh? Specific First Call gegen einen anderen Endpoint?)
3. Oder ist das ein klarer JTL-Support-Fall und ich mach mir umsonst Hoffnung auf eine self-service Lösung?

Würde mich freuen, wenn jemand von euch das gleiche Phänomen kennt oder einen Workaround hat.

Danke!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Bessere Greyhound-Anbindung ab 1.10 - JTL-API-Pflicht? JTL-Wawi 1.10 12
Neu VCS Lite / IDU blockiert – Aufträge fälschlich unter "Externe Rechnungen" (Amazon API Fehler) Amazon-Anbindung - Fehler und Bugs 2
API Schnittstelle langsam JTL-Wawi 1.11 0
Nach Update auf Wawi 2.0.X, API v1 Fehler JTL-Wawi 2.0 9
Neu 2.0.0: Workflow Queue wird nicht abgearbeitet via API JTL-Wawi 2.0 1
BUG in 2.0.0 - Rest Api Server startet nicht. JTL APP nicht benutzbar JTL-Wawi 2.0 4
REST API (OnPrem) - Authorization: Wawi <ApiKey> gibt immer 401 JTL-Wawi 1.11 1
API salesorders JTL-Wawi 1.11 4
Neu Anbindung JTL <---> Greyhound via API funktioniert nicht sauber User helfen Usern - Fragen zu JTL-Wawi 0
REST Api v2 (Wawi 1.11.7) JTL-Wawi 1.11 6
Keine APP oder API Verbindung möglich JTL-Wawi App 4
Neu Amazon Angebotspreise per Stored Procedure/Function oder API setzen Amazon-Anbindung - Ideen, Lob und Kritik 0
Neu Umstellung auf DHL Versenden 4.0 (REST-API) JTL-ShippingLabels - Ideen, Lob und Kritik 133
Neu Artikelname & Beschreibung angepasst für jeweiligen Marktplatz Arbeitsabläufe in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 1
Neu Neue Kennzeichnungspflicht für Elektrogeräte (Altgeräterücknahme) Betrieb / Pflege von JTL-Shop 1
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 0
Neu Exportgenehmigung / Ausfuhrgenehmigung automatisch für Auslandskunden als Aufpreis Allgemeine Fragen zu JTL-Shop 2
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Muss man für DHL Versenden 4.0 einen neuen Benutzer bei DHL anlegen? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 1
Neu Neue Tracking-URL für DPD JTL-ShippingLabels - Fehler und Bugs 4
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
globale Angebotsvorlage anpassen für eBay Angebote "Artikelspezifisch" JTL-Wawi 1.11 0
Neu Connectorupdates für Shopware 6.7.7 bzw 6.7.8? Shopware-Connector 34
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu DRIGEND HILFE!!! Ebay Abgleich endet mit Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Die Anweisung wurde beendet. eBay-Anbindung - Fehler und Bugs 4
Neu Stornobeleg für Verkauf ohne Rechnung User helfen Usern - Fragen zu JTL-Wawi 9
Neu Neuentwicklung - Helpdesk für JTL Wawi - Eure Ideen und Wünsche? User helfen Usern - Fragen zu JTL-Wawi 4
Kein changelog für 1.11.8 JTL-Wawi 1.11 29
Text Vorbereitung für WAWI import JTL-Wawi 1.11 3
gelöst: Für diesen User wurde zum angegebenen Mandanten keine Firma gefunden!! JTL-Wawi 1.10 13
Neu Best Practices für den Export und die Automatisierung von täglichen Berichten in JTL‑WaWi User helfen Usern - Fragen zu JTL-Wawi 2
Mobile Web-App für JTL-WaWi — Aufträge, Artikel & Lager direkt vom Smartphone JTL-Wawi App 0
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu Workflow automatisch bei Warenausgang für Bestand und Puffer JTL-Wawi - Ideen, Lob und Kritik 12
Neu Für fiktive paginierte Kategorieseiten 404 statt 301 Allgemeine Fragen zu JTL-Shop 0
Neu Paypal Checkout Modul für Gambio bis GX 26.x Gambio-Connector 0
Neu Verlinkungen richtig setzen für mehrere Sprachen Allgemeine Fragen zu JTL-Shop 10
Neu JTW Wawi hängt beim Bearbeiten der Druckvorlage für Mahnungen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu Bilder von Plattform A auch für Plattform B aktivieren Arbeitsabläufe in JTL-Wawi 6
Neu Exchange Konto kann nicht eingerichtet werden für E-Mail Versand User helfen Usern - Fragen zu JTL-Wawi 2
weitere Angaben für eBay JTL-Wawi 1.11 1

Ähnliche Themen