wenn ich versuche, den „offiziellen Demoartikel“ (von der Shopware REST-API Website) in meinen Shop hinzuzufügen, bekomme ich anstelle eines „Success: true“ bzw eines „Success: False“ die Liste aller Artikel im Shop zurück. (in einem Shop ca 2800 Artikel, in einem weiteren ca 50.000 Artikel)
Wenn ich das auf einem Testshop ausführe, dann funktioniert der Befehl aber.
Hier kommt der Datensatz, den ich (von der Shopware 5 Doku kopiert) abschicke.
Hinweis: Ich mache das nicht aus PHP o.ä. heraus, sondern aus einer Windows Applikation, die in Delphi geschrieben ist. Da es mit meinem Testshop funktioniert, kann es also nicht daran liegen, dass ich da etwas falsch programmierthäte - nehme ich zumindest mal stark an.
Kann mir bitte jemand einen Tipp geben, was ich da jetzt machen kann ?
hast du mal in die Logfiles deines Shops geschaut?
Klingt für mich so, als würde am Ende bei der Shop-API ein GET-Request auf /api/articles ankommen.
Wenn du zur weiteren Analyse mal einen Ausschnitt deines Client-Requests und/oder den passenden Eintrag aus dem Logfile hättest, würde das schon mal weiterhelfen.
Ansonsten mal über einen neutralen Client, wie z.B. Postman, versuchen, dann lässt sich der Client als Fehlerquelle ggf. schon mal ausschließen.
danke für Deine Rückmeldung, ich versuche, schnellstmöglich an die Logfiles zu kommen. (Ist ein Kundenshop, aber das sollte kein Problem sein.)
Das mit dem „GET“ am Ende hatte ich auch schon gedacht, aber dann sollte der Artikel ja dennoch eingefügt sein. Ist er aber nicht, habe ich direkt auf der MySQL DB geprüft.
Ich seh mir auch mal „Postman“ an,kenne das Tool zugegebenermaßen nicht. (In Delphigibt es einen „REST-Debugger“, der hat mir bisher immer sehr gute Dienste geleistet, der schmeißt auch immer alles sehr präzise raus.)
Sobald ich die Logs habe, poste ich hier den Ausschnitt.
Ich kann mir das hier nur so erklären. POST gibt nie eine Liste der Artikel zurück. Da gibt es max. eine Fehlermeldung. Es sei denn die REST API vom Shop ist verändert. Ich würde prüfen, ob auch wirklich ein POST gesendet wird. Zusätzlich könnte man Postman mit zur Hilfe benutzen oder auf die schnelle ein einfaches PHP-Script schreiben um eine mögliche Fehlerquelle beim Shop ausschließen zu können.
Ich habe es gerade mit Postman ausprobiert und erhalte das gleiche Ergebnis zurück. Hier ein Screenshot.
(Authorization ist “Basic Authentication” mit Username und API Key - aber das funktioniert ja auch bei allen GET und PUT Befehlen, also ist das wohl korrekt)
Hat da jemand an der REST API rumgefummelt? Ein zusätzliches Plugin im Einsatz? Shop aktuelle Version? Oder Problem beim Server? Scheint so, als würde POST zu GET switchen. Ich würde jetzt prüfen ob das POST auf der jeweiligen Domain vom Server umgewandelt wird, oder innerhalb von Shopware. Damit könnte man die Fehlersuche etwas eingrenzen.
Der Shop wurde kürzlich erst geupdatet. (Witzig: es handelt sich um 2 Shops, die den gleichen Mist machen)
Da sind bestimmt ne Menge PlugIns im Einsatz, Paypay, Klarna usw.
Leider kenn ich mich auf dem Shop nicht so wirklich gut aus. Deshalb weiss ich nicht, ob die nächste Frage total sinnbefreit ist, aber gibt es eine Art zentrale Stelle, an der eine REST API “Erweiterung” hinterlegt sein müsste ? Dann müsste man das ja an der Stelle erkennen können, oder ?
Zusätzlich kannst du unter Einstellungen -> Systeminfo -> Shopware Dateien prüfen ob irgendwo Veränderungen vorliegen. Um dem Kreis der Fehlersuche weiter einzugrenzen.
Ich stimme Dir zu, das sind echt schlechte Voraussetzungen. (Da ist eigentlich gar nicht mein Thema)
Objektiv betrachtet sind das zwei Webshops, auf denen mehrere Personen über die Jahre hinweg fleissigst alles Mögliche veranstaltet haben.
Beste Voraussetzungen für genau solche Themen, wie wir es gerade hier diskutieren.
Als Lieferant einer passenden Warenwirtschaft will ich es meinen Kunden eigentlich nur erleichtern, aus meinem System heraus direkt neue Produkte zu erstellen usw.
Blöderweise zicken diese Shops jetzt herum. Die Rest API habe ich eigentlich gut im Griff, aber die technischen Details von Shopware sind natürlich nicht meine Welt…
Schließlich gibt es auch noch andere Shops, die wir anbinden. Da ist dann irgendwo eine Grenze, bis zu der man in die Systeme eintaucht.
Ich fürchte, das läuft auf irgendeine “Gurkenlösung” heraus, mit der dann die neuen Produkte angelegt werden müssen.
Ja, somit scheint das Problem dann wohl innerhalb vom Shop zu liegen. Gilt jetzt natürlich zu suchen an welcher Stelle Um nicht in der Liveumgebung zu suchen, ist es ratsam eine Testumgebung aufzubauen, quasi eine 1:1 Kopie vom Livesystem. Und dort dann testen, alle fremdem Plugins deaktivieren und testen, testen, testen.