SpreadsheetUrlDownload verschiedene API Endpunkte

Hallo,

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.

Viele Grüße,
Patrick

Hallo Patrick,

Du kannst im Feld host auch Spalten aus dem input Spreadsheet verwenden, z.B. die Id

Der Preis sollte nicht geändert werden, wenn kein Preis angegeben wurde. Welche Shopware Version verwendest du?

VG Torsten

Hallo @synesty-Torsten ,

vielen Dank, werde ich mal testen.

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

Viele Grüße,
Patrick

Hallo Patrick,

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.

Viele Grüße
Torsten

1 Like

Hallo @synesty-Torsten,

wenn man nur ID und Quantity nimmt und die anderen Spalten entfernt funktioniert es!
Danke für den Hinweis :slight_smile:

Viele Grüße,
Patrick

1 Like