Shopify - Bestände über XML

Moin zusammen,

wir haben ein Shopify Projekt, indem wir eine XML mit Beständen von einem Lieferanten einlesen, in dem nur die SKU als Identifikator zur Verfügung steht. Nun soll der Bestand für bestehende Shopify Produkte aktualisiert werden.

Da der shopifySetInventoryLevel ja mindestens die inventory_idem_id für die jeweiligen Produkte braucht, müssen wir diese irgendwie über die SKU aus Shopify extrahieren.

Wie würden wir das am besten machen? Wenn es geht, ohne Datastores nutzen zu müssen?

Danke und LG
Mark

Hallo apoio,

die inventory_item_id kriegst du nur über den shopifyGetProducts-Step (abgesehen von eigenen Rest/GraphQL-Calls). Das Ergebnis aus dem Step mit deinen Daten vereinen geht wohl am leichtesten über die Kombination aus SpreadsheetAppend und anschließendem Mapper mit Gruppieren.
In beiden Spreadsheet die SKU-Spalte gleich benennen, beide Spreadsheets mit dem SpreadsheetAppend aneinander hängen und anschließend im Mapper nach der SKU-Spalte gruppieren. Die Gruppierfunktion bei allen Spalten sollte dabei „Erster-nicht leerer Wert“ sein.

Im Anschluss solltest du einen Mapper haben mit den Daten aus der XML und den Daten von Shopify.

Gruß
Gustav

1 „Gefällt mir“

Hey @gustavfriedeheim,

danke dir, das hat sehr gut funktionert.

Bei diesem Projekt gibt es in Shopify knapp 4000 Produkte. Nun soll 1x pro Stunde der Warenbestand aktualisiert werden.

Der ShopifyGetproducts Step zieht schon knapp 5mb. Gibt es eine Möglichkeit, das zu verringern, indem man nur bestimmte Parameter von Shopify holt? Oder müsste man dann über einen Custom API Call gehen?

LG
Mark

Hallo @apoio,

freut mich zu hören.

Mit dem Step von Synesty kannst du die Datenmenge pro Produkt/Variante nicht weiter reduzieren (kann die dahinterliegende Rest-API ja auch garnicht). Einzige was du mit dem Step machen könntest, wäre smarter Filtern mit Tags/Collection/Änderungsdatum oder ähnlichen.
Ich bin mir nicht zu 100% sicher, aber ich meine, dass eine Bestandsanpassung auch als Änderung gewertet wird.

Die Payload zu den Produkten/Varianten selbst reduzieren kriegst du nur über individuelle GraphQL-Calls hin. Dort kannst du dann angeben, dass du nur an der inventory_quantity interessiert bist.

Gruß
Gstav

1 „Gefällt mir“

Hallo @apoio,

ich kann @gustavfriedeheim hier nur zustimmen. Was definitiv funktioniert ist, dass bei einer Bestandsänderung am Produkt/Variante sich das Änderungsdatum ändert. Also könntest du so, mit der entsprechenden Option nur Shopify Produkte abrufen, die sich geändert haben.

Viele Grüße
Lukas

1 „Gefällt mir“