MagentoUpdateInventory gibt SUCCESS zurück, Werte sind aber nicht aktualisiert

Update mit Funktion MagentoUpdateInventory von Lagerständen (qty) anhand der product_id führt zu Bestätigung im Output, die Daten sind in Magento aber nur teilweise aktualisiert - nicht nachvollziehbar woran es liegt. Einige Artikel werden aktualisiert, einige nicht.

Es wird rückgemeldet, dass alle Daten aktualisiert wurden:


Ca. die hälfte der Produkte weißen aber noch den alten Lagerstand in Magento auf. Magento-Version 1.8.1.

Schöne Grüße!

Ohne weitere Informationen ist das schwierig.

Was ist das denn für ein Produkt und wie ist das in Magento konfiguriert (also eins welches nicht aktualisiert wird)?

Haben Sie da mal ein Beispiel mit Screenshot aus dem Magento Backend? Speziell die Einstellungen zu Stock wären dann interessant.

Die Magento Anbindung an sich klappt, wir verwenden sie auch in anderen Flows - bis jetzt aber nur lesend. Berechtigungen haben wir geprüft, aber dann würde ja nichts aktualisiert werden.


Hier ein Beispiel der Lagerkonfiguration eines Artikels (Typ = einfacher Artikel) der nicht aktualisiert wird:


image


Ich habe aber verschiedene Varianten dieser Konfiguration ausprobiert - hilft nix. In Ihrer Dokumentation, die aber recht alt wirkt, steht, dass der Preis ein Muss-Feld ist - ist das aktuell? Wir müssten nur den Lagerstand aktualisieren.


Schöne Grüße!

Tauchen im Eventlog denn irgendwelche Warnungen auf?
Noch ein Hinweis: Die Stockupdates werden nur bei einer echten Flow-Ausführung durchgeführt (grüner "Flow ausführen" Button). Bei der Step-Vorschau steht immer SUCCESS. Da passiert aber nichts - das ist nur eine Vorschau.

Keine Warnungen, alles grün.

Wir haben es mit echten Flow-Ausführungen getestet, keine Vorschau.

Gibt es noch etwas wo ich nachsehen kann?

Machen Sie das zufällig in der Sandbox? Dort ist eine Begrenzung auf 25 Zeilen.

Und nochmal anders gefragt: Ist im Step unter "limitItems" zufällig ein Limit eingestellt? oder in dem Step aus dem der MagentoUpdateInventory die Daten bezieht?

Nein, wir sind in der Live-Umgebung nicht in der Sandbox.

Es ist kein Limit beim Step MagentoUpdateInventory eingestellt. Nur in einem vorangegangenem Such-Step haben wir die Anzahl der Datensätze azf 10 limitiert, um erstmal zu testen. Aber das müsste ja gehen, der MagentoUpdateInventory Step bekommt somit 10 Datensätze (je IDs und Mengen) und soll diese 10 aktualisieren. Klappt das so nicht?

In einer recht alt wirkenden Doku zu diesem Step habe ich auf Ihrer Seite gesehen, dass das Price-Feld ein Muss-Feld ist. Das ist aber nicht mehr aktuell, oder? Macht beim Update der Lagerstände ja nicht wirklich Sinn, dass man auch die Preise mitgeben muss.

also eigentlich sollte auch qty ohne price gehen. Wichtig ist, das price und specialPrice beide leer sind, aber qty gefüllt.

Wir prüfen das morgen nochmal genau und korrigieren auch die Doku. Danke für den Hinweis.


Das mit dem Limit=10 ist ok, wenn das von ihnen so gewünscht ist. Wir fragen nur, weil manchmal vergessen oder übersehen die Kunden, dass irgendwo ein Limit gesetzt ist, und dann wundert man sich, dass weniger Datensätze angefasst werden, als man denkt.


ok, noch ein Versuch um hier weiter zu kommen:

Können Sie mal bitte im Flow den Debug-Modes aktivieren, bevor sie den Flow ausführen. Dann ausführen und danach im Eventlog das HTTP-Log herunterladen. Darin ggf. schonmal selbst in einem Texteditor nach der productID suchen und prüfen, ob da evtl. eine Fehlermeldung der API zu sehen ist. (Hinweis: der HTTP-Log kann sehr groß werden. Wenn Sie also irgendwie limitieren können, was im Flow so passiert, dann wird es kleiner und man findet leichter etwas).


Wenn Sie hier ausserdem nochmal einen Screenshot der Spalten im Spreadsheet schicken könnten, die sie im MagentoUpdateInventory Step konfiguriert haben, können wir das nochmal prüfen.


Wenn wir uns das nochmal genauer ansehen sollen, dann schreiben Sie bitte nochmal ein Ticket mit Verweis auf diesen Foreneintrag und legen Sie uns bitte einen Support-Nutzer an.

Wir prüfen das dann. Sollte es eine Bug sein, berechnen wir natürlich nichts.

Hier wie gewünscht der Screenshot inkl. Daten - die markierten Datensätze, sind die die nicht aktualisiert werden.


image


Im HTTP-Log habe ich keinen Fehler gefunden. Die ProductID in den Daten stimmt, wie auch die qty. Das Wort error kommt im gesamten Log nicht vor.

Die Spalten sind korrekt. Wenn im Eventlog keine Warnung auftaucht, dann meldet die Magento-API pro Zeile eine "1" zurück, was soviel bedeutet wie "hat geklappt".

Das ist wirklich seltsam. Unterscheiden sich die Artikel in irgendeiner Form in Magento?


Evtl. ist es auch ein Magento API Bug. Das einzige was wir bei der Recherche gefunden haben ist dieser Eintrag. Dort hat ein Nutzer ein ähnlich klingendes Problem ebenfalls mit Magento 1.8.1. und konnte es scheinbar lösen in dem er noch andere Felder mitgeschickt hat. Probieren Sie vielleicht mal noch einige andere Felder mitzuschicken - z.B. mal zusätzlich noch "in_stock" (1 für verfügbar, oder 0 bei nicht verfügbar).


Update: Oder auch mal zusätzlich qty und price probieren (erstmal testweise). Hintergrund: Wenn price und qty gleichzeitig angegeben sind, wird "unter der Haube" ein anderer API-Call gemacht, welcher beide Felder nimmt.



Wir haben jetzt wie in dem Artikel beschrieben mehrere Felder dazu genommen, obwohl wir sie nicht brauchen (min_qty, notify_qty, ...) und damit hat es geklappt. Vielen Dank für Ihre Hilfe!

Hallo,


wir haben exakt das selbe Problem.

Die Bestände werden bei einigen Artikeln aktualisiert, bei einigen jedoch nicht.

Teilweise werden aber im Magento-Backend auch falsche Bestände angezeigt, obwohl der Step "MagentoUpdateInventory" SUCCESS zurückgibt mit dem eigentlich korrekten Wert.


Wir übermitteln folgende Parameter im Step MagentoUpdateInventory:

- product_id

- qty

- min_qty (= 1)

- notify_qty (= 1)

- in_stock (1, falls qty > 0, sonst 0)


Sind noch weitere Parameter erforderlich?

Bitte um Unterstützung.


Viele Grüße

Thorsten

Nachtrag:
Ich habe noch einige Test gemacht.

Das Feld "Price" muss neuerdings mit übergeben werden.

Dann werden die Bestände auch korrekt aktualisiert.