über die API möchte ich mit Javascript ein Produkt inkl. benutzerdefinierten Eigenschaft in den Warenkorb ablegen.
Add product to cart *
POST /sales-channel-api/v1/checkout/cart/product/{id}
Damit lege ich das Produkt in den Warenkorb, doch wie muss mein payload* im POST body ausssehen um eine Eigenschaft zuzuweisen? zB. die Stofffarbe.
Get a cart *
GET /sales-channel-api/v1/checkout/cart oder GET /sales-channel-api/v1/product/{productId}
Dort vermisse ich auch die gesuchten Eigenschaften. Wie kann ich die vom User gewählten Eigenschaften für die Darstellung im Frontend auslesen?
Im GET Response Objekt gibt es die properties mit uuid, sind das meine gesuchten Eigenschaften?
Und woher weiß ich welche uuid für was steht und wie der Wert dafür lauted?
Bin für jede Hilfe dankbar.
Mit freundlichem Gruß, mii.
die Eigenschaften kann man per GET sales-channel-api/v1/product?associations[properties] mit laden.
Generell sind die Eigenschaften nicht dafür, dass der Nutzer diese Auswählen kann, sondern beschreiben das Produkt.
Produktvarianten haben gewisse Varianteneigenschaften, sind aber explizite Produkte.
In der Datenbank stehen diese in der custom_field Tabelle. Aber im GET /sales-channel-api/v1/checkout/cart Response Objekt fehlen diese Felder.
Wie muss der Request lauten um die Zusatzfelder eines Produktes im Warenkorb zu lesen?
Und wie sieht der payload für POST /sales-channel-api/v1/checkout/cart/product/{id} aus um das Zusatzfeld im Warenkorb zu beschreiben?
Update: 27. November 2019
Es scheint das Shopware die gesuchte Funktionalität nicht von Haus aus mitbringt.
Ersichtlich druch das Dublizieren eines Objekts im Warenkorb, wo lediglich die quantity rauf gesetzt, aber kein neues lineItem erzeugt wird.
Wir haben uns eine eigene Erweiterung für Shopware 6 geschrieben, welche die Funktionalität bereitstellt.
Die Erweiterung aus dem Store bietet zur Zeit keine Unterstützung für Shopware 6.