ich bin recht neu im Thema Shopware, beschäftige mich jedoch fast täglich seit einem halben Jahr mit dieser wirklich sehr guten Software.
Gegeben ist ein eigener Server mit Shopware 5 und ein externes Lager mit eigenem WaWi System. Jetzt möchte unser Lager eine “Shopware User API” und ich frage mich, wie ich diesen Zugang erstelle kann und welchen ich da genau brauche. Ich habe mir das Wiki zu API bereits durchgelesen, verstehe auch die Programmcodes da ich Informatik studiere, jedoch fehlt mir das ganze in Bezug zu Shopware.
Unser Lager soll also den Lagerbestand ändern können und falls eine Bestellung eingeht diese einsehen und verabrieten können, da Sie sich um den Versand und Rücknahme kümmern. Sie benötigen also die Artikel, die Kundendaten usw.
Sie sollen keine Artikel erstellen und nur den Bestand ändern dürfen.
Ich hoffe ich bin hier richtig und habe im richtigen Unterforum gepostet und verstoße gegen keine Forenregeln.
Ich habe das Gefühl ich sehe den Wald vor lauter Bäumen nicht mehr :D
Um den Lagerbestand zu ändern benutzt du den Artikel-Endpunkt und für die Bestellungen den Bestell-Endpunkt.
Also erst mal zwei verschiedene Sachen.
Für den Bestand machst du ein Update auf die Artikel (instock).
Für die Bestellungen ein GET auf die OrdersApi. Da kommt ein JSON zurück. Hol die Daten doch einmal ab und kuck was du kriegst. Einfach mal ne Bestellung abrufen. Du kannst auch nur Bestellungen mit Shippment-Status „Offen“ abholen und dann aus der Wawi ein Update auf den Status fahren wenn die Bestellung raus ist.
Mit PHP: Schritt 1 Offene Bestellungen abholen, entweder diese Datei auf dem Server oder Local/xampp aufrufen. Die api.php , der ApiClient für Shopware geistert irgendwo im Netz.
Ich habe also einfach mal zum testen einen neuen Benutzer angelegt und den API Zugang anktiviert.
Getestet mit http://ihreShopurl.de/api/articles und es funktionierte. Reicht dieser Zugang?? Laut den Eigenschaften die da angegeben sind müsste alles passen! Die frage ist nur, ob es auch Aufwärtskompatibel ist.
Unser Logistikunternehmen fragte ja auch gezielt nach einem „Shopware User API“, müsste doch dann genau das sein, oder?
Die APIs mit Artikel- und Bestell-Endpunkt hatte ich mir angesehen, jedoch habe ich den Eindruck, dass die REST Schnittstelle diese ebenfalls umfasst.
Den Umweg über die api.php finde ich aktuell doch etwas unschön. Wäre kein Problem, jedoch frage ich mich wieso, da man APIs direkt beim Benutzer bekommen kann…
Naja alles was das Logistikzentrum braucht ist ja die Adresse. Die Liefer- und Rechnungsanschriften werden ja über die OrderAPI geliefert.
Eine Schnittstelle ist ja eigentlich dazu da, dass sie mit Änderungen an der Software und Datenbankstruktur transparent die gleichen Ergebnisse über die gleichen Funktionen liefert - „Aufwärtskompatibilität“ ist somit Teil des Konzepts.
Einen Benutzer-Endpunkt gibt es jedoch auch - wie gesagt, glaube ich nicht dass dieser genutzt werden muss.
Die APIs mit Artikel- und Bestell-Endpunkt hatte ich mir angesehen, jedoch habe ich den Eindruck, dass die REST Schnittstelle diese ebenfalls umfasst.
Naja alle diese Endpunkte sind ja Teil der Shopware RESTAPI. Jeder erfüllt einfach nur einen speziellen Zweck.
Den Umweg über die api.php finde ich aktuell doch etwas unschön. Wäre kein Problem, jedoch frage ich mich wieso, da man APIs direkt beim Benutzer bekommen kann…
Naja du brauchst ja bei deinem Programm die Logik um die API anzusprechen. Das hier war ja nur ein Beispiel von brettvormkopp in PHP damit du reinkommst. Kannst ja dann ein Shopware-Modul in der WaWi mittels Java, C# oder was auch immer schreiben.