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?
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.
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?
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.
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.