ich habe unser PIM an SW6 per API angebunden und was mir jetzt noch fehlt ist die Möglichkeit beim Übertragen des Produkts gleich den Verkaufskanal für dieses Produkt zu setzen.
Gefunden habe ich, dass ich mit folgendem Link die SalesChannelId, wenn denn eine gesetzt ist, und dem Typ: GET die Daten auslesen kann, meine Frage ist nun wie mein Body aussehen muss und welcher API Endpunkt verwendet werden kann um den Verkaufskanal zu setzen. Vorzugsweise wäre es schön, wenn dies direkt über http://url-zum-shop.de/api/v1/product/ funktionieren kann um mir einen Request zu sparen, da unsere Produktsets recht groß sind.
Vielen Dank schon mal ! Ich komme aber noch nicht ganz mit
Wie müsste jetzt beispielsweise der Body als vnd.api+json aussehen um dem Produkt mit der ID: „b0876b4eab8c43819df58ac8eb73a7e2“ den SalesChannel mit der ID: „8892c9bed048425a890cf483986cad13“ zuzuweisen? Sobald es in Postman läuft komme ich klar, der Typ sollte ja „PATCH“ sein…
Auch wird mir nicht so ganz klar was die „visibilityID“ repräsentiert, gibt es da irgendwo was in der Dokumentation, wie das zusammen hängt, ich finde nichts?!
die visibilityID ist die Id für diesen Eintrag (z.B. Artikel A ist sichtbar in Shop A). Diese Id muss in der Regel immer mitgeliefert werden, ansonsten bekommt man beim PATCH eine Fehlermeldung zurück, dass versucht wird einen Eintrag zu erstellen, obwohl aktualisiert werden sollte (nicht immer der Fall). Ein vollständige Dokumentation findet man momentan nicht.
Ich würde auch nicht die normalen Endpoints benutzen, sondern den sync -Endpoint, da dort direkt ein upsert (update/insert) gemacht werden kann. Mit diesem Endpoint können Einträge in einem Schritt hinzugefügt / aktualisiert werden (ist bei Variantenkombinationen sehr hilfreich und notwendig). Ich haben mal unten ein kleines Beispiel, wie es über den sync -Endpoint lösbar wäre. Am einfachsten schaut man aber selbst in der Browserkonsole nach, welche Sachen aufgerufen werden, wenn irgendwelche Operationen im Backend ausgeführt werden.