wir stehen vor dem Problem, dass wir durch ein Spreadsheet iterieren möchten und damit jeweils einen API Call auslösen wollen. Dafür eignet sich ja „SpreadsheetUrlDownload“. Allerdings muss für jeden API Call ein anderer Endpunkt gewählt werden, in dieser Form „http://localhost:8000/api/product/{id}“.
Konkret geht es darum in Shopware 6 die Lagerbestände upzudaten. Leider wird bei „ShopwareSetStockAndPrice“ der Preis immer auf 0 gesetzt, wenn dieser nicht übergeben wird. Dieser soll aber nicht angepasst werden. Daher wollen wir mit „SpreadsheetUrlDownload“ versuchen die Shopware API direkt anzusprechen.
Wir verwenden aktuell Shopware 6.5.8.7. Wir haben nur die ID und Quantity Spalte gemappt und alles andere leer gelassen. Der Preis wir dadurch bei uns aber immer auf 0 gesetzt.
UPDATE
Mit SpreadsheetUrlDownload hat es jetzt ganz gut funktioniert
vielen Dank für die Rückmeldung. Ich versuche nochmal mit deiner Konfiguration und Shopware 6.5.8.7 zu testen. Kannst du bitte nochmal probieren die Preisspalten komplett zu entfernen und nur ID und Quantity Spalte im Mapping zu lassen.
Ich hatte gestern auch schon mal kurz mit leeren Preisspalten (keine Quelle und Wert Feld leer) in Shopware 6.4 & 6.5 getestet und es hat soweit alles funktioniert wie erwartet (Bestand wurde gesetzt, Preise blieben erhalten)
Du kannst den Bestand natürlich auch weiterhin mit dem SpreadsheetUrlDownload setzen. Der ShopwareUpdateProducts (mit gesetzter Id & Stock) sollte auch funktionieren, da der Step genau diese API Route verwendet.
Ich vermute aber, dass beide Steps etwas langsamer sind, als mit der ShopwareSetStockAndPrice Step, da der Step die SW Sync API verwendet, um den Bestand und die Preise zu setzen.