Guten Abend zusammen,
folgendes müssen wir aktuell hinbekommen:
Wir betreiben bereits einen Shop in JTL Wawi mit Shopware. Für ganz bestimmte Versandabläufe mit einem bestimmten Versandanbieter kommen wir allerdings nicht daran vorbei, ein eigenes Fulfillment Lager anzulegen und darüber Waren auszuliefern.
Dieses FFN Lager soll rein per API Schnittstelle verwaltet werden.
Bedeutet wenn wir Aufträge aus unser Haupt-JTL-WaWi an das FFN freigeben, sollen die Aufträge per Server mit der API abgearbeitet werden.
Um dies initial zum Laufen zu bekommen haben wir einen neuen JTL Account angelegt, fürs Fulfillment als Fulfiller registriert und dann auf einem Windows Rechner eine komplett neue JTL Instant mit Datenbank aufgesetzt.
Hier haben wir den neuen JTL Account verknüpft und auch die FFN Verbindung als Fulfiller hergestellt. Außerdem haben wir ein FFN Lager angelegt und dort unseren Haupt-JTL-WaWi Account als Kunde (Merchant) angelegt.
In unserem Haupt-JTL-WaWi ist das FFN Lager dann auch aufgetaucht und wir konnten zwischen den beiden JTLs Aufträge hin und her schieben.
Das funktioniert also alles.
Für den weiteren Verlauf haben wir die neue JTL Instanz offline genommen. Von nun an sollen alle Abläufe ja nur noch über die API laufen.
Um die API zu nutzen muss ja zu erst ein OAuth erzeugt werden.
Die komplette API Doc findet man hier: https://ffn2.api.jtl-software.com/api-docs/index.html#section/Introduction
Ich habe also mit dem neuen FFN JTL Account einen OAuth für folgende scopes erstellt...
address, email, ffn.fulfiller.read, ffn.fulfiller.write, phone, profile
...dann alles weitere nach der Doc befolgt und hatte am Ende meinen 'access token' und 'refresh token'.
Der API Zugriff war also erfolgreich hergestellt.
Ich begann dann ein Python Script zu schreiben um neue access token zu generieren wenn diese ablaufen, habe auch das getestet und es funktioniert.
Nun zum eigentlichen Problem:
Ich habe zu Testzwecken eine Umlagerung von einem Artikel, aus unserer Haupt-JTL-WaWi an das FFN Lager angelegt.
Über den API Endpunkt '/api/v1/fulfiller/inbounds' konnte ich per GET diese eingehende Umlagerung auch ohne Probleme abrufen.
Wenn ich diese aber nun per API Einlagern möchte '/api/v1/fulfiller/inbounds/{inboundId}/incoming-goods' bekomme ich immer folgenden Fehler ausgegeben...
Request failed with status code: 403, Application 9b47c722-4f59-4a91-b223-046XXXXX does not have write access.
"9b47c722-4f59-4a91-b223-046XXXXX" steht dabei für die ID meines OAuth...
Ich habe bereits einiges versucht aber komme nicht um diesen Fehler herum.
Ich kann es mir nicht erklären, da als scope im OAuth ja ebenfalls 'ffn.fulfiller.write' gesetzt wird... Das müsste doch alle nötigen Rechte verteilen oder nicht? Zumal das lesen per 'ffn.fulfiller.read' ja ohne Probleme funktioniert...
Vielleicht hat jemand von euch ja eine Idee
Danke für die Hilfe!
folgendes müssen wir aktuell hinbekommen:
Wir betreiben bereits einen Shop in JTL Wawi mit Shopware. Für ganz bestimmte Versandabläufe mit einem bestimmten Versandanbieter kommen wir allerdings nicht daran vorbei, ein eigenes Fulfillment Lager anzulegen und darüber Waren auszuliefern.
Dieses FFN Lager soll rein per API Schnittstelle verwaltet werden.
Bedeutet wenn wir Aufträge aus unser Haupt-JTL-WaWi an das FFN freigeben, sollen die Aufträge per Server mit der API abgearbeitet werden.
Um dies initial zum Laufen zu bekommen haben wir einen neuen JTL Account angelegt, fürs Fulfillment als Fulfiller registriert und dann auf einem Windows Rechner eine komplett neue JTL Instant mit Datenbank aufgesetzt.
Hier haben wir den neuen JTL Account verknüpft und auch die FFN Verbindung als Fulfiller hergestellt. Außerdem haben wir ein FFN Lager angelegt und dort unseren Haupt-JTL-WaWi Account als Kunde (Merchant) angelegt.
In unserem Haupt-JTL-WaWi ist das FFN Lager dann auch aufgetaucht und wir konnten zwischen den beiden JTLs Aufträge hin und her schieben.
Das funktioniert also alles.
Für den weiteren Verlauf haben wir die neue JTL Instanz offline genommen. Von nun an sollen alle Abläufe ja nur noch über die API laufen.
Um die API zu nutzen muss ja zu erst ein OAuth erzeugt werden.
Die komplette API Doc findet man hier: https://ffn2.api.jtl-software.com/api-docs/index.html#section/Introduction
Ich habe also mit dem neuen FFN JTL Account einen OAuth für folgende scopes erstellt...
address, email, ffn.fulfiller.read, ffn.fulfiller.write, phone, profile
...dann alles weitere nach der Doc befolgt und hatte am Ende meinen 'access token' und 'refresh token'.
Der API Zugriff war also erfolgreich hergestellt.
Ich begann dann ein Python Script zu schreiben um neue access token zu generieren wenn diese ablaufen, habe auch das getestet und es funktioniert.
Nun zum eigentlichen Problem:
Ich habe zu Testzwecken eine Umlagerung von einem Artikel, aus unserer Haupt-JTL-WaWi an das FFN Lager angelegt.
Über den API Endpunkt '/api/v1/fulfiller/inbounds' konnte ich per GET diese eingehende Umlagerung auch ohne Probleme abrufen.
Wenn ich diese aber nun per API Einlagern möchte '/api/v1/fulfiller/inbounds/{inboundId}/incoming-goods' bekomme ich immer folgenden Fehler ausgegeben...
Request failed with status code: 403, Application 9b47c722-4f59-4a91-b223-046XXXXX does not have write access.
"9b47c722-4f59-4a91-b223-046XXXXX" steht dabei für die ID meines OAuth...
Ich habe bereits einiges versucht aber komme nicht um diesen Fehler herum.
Ich kann es mir nicht erklären, da als scope im OAuth ja ebenfalls 'ffn.fulfiller.write' gesetzt wird... Das müsste doch alle nötigen Rechte verteilen oder nicht? Zumal das lesen per 'ffn.fulfiller.read' ja ohne Probleme funktioniert...
Vielleicht hat jemand von euch ja eine Idee
Danke für die Hilfe!