Customfields leeren via API

Moin,

wenn ich über die API ein customFieldSet von einem Produkt entferne, bleiben die Werte der zugehörigen customFields beim Produkt stehen. Ich hatte erwartet, dass die customFields automatisch geleert werden, das ist aber anscheinend nicht so.

Also möchte ich jetzt die customFields des Produkts leeren, bevor ich ihr customFieldSet vom Produkt entferne.
Dazu sende ich zum Beispiel an die Sync API
{
„category-CustomField-ProductUpdate“ :
{
„action“ : „upsert“,
„entity“ : „product“,
„payload“ :
[

		{
            "id" : "8fef904cca5f4691b758a4ec2f0d182e",
			    "customFieldName" : "",
                "name" : "Produktname",
			    "price" :
			        [
				        {
					        "currencyId" : "b7d2554b0ce847cd82f3ac9bd1c0dfca",
					        "gross" : 10.95,
					        "linked" : false,
					        "net" : 9.2
				        }
			        ],
			    "productNumber" : "Produktnummer",
			    "stock" : 0,
			    "taxId" : "0c9ef35eed8f46b39a9a0dd22b1d2707"
		    }

    ]
}

}

und bekomme als Antwort

{
„extensions“: ,
„data“: {
„product“: [
„8fef904cca5f4691b758a4ec2f0d182e“
],
„product_translation“: [
{
„productId“: „8fef904cca5f4691b758a4ec2f0d182e“,
„languageId“: „2fbb5fe2e29a4d70aa5854ce7ce3e20b“
}
]
},
„notFound“: ,
„deleted“:
}

Das sieht für mich nicht nach einer Fehlermeldung aus, dennoch bleibt der alte Wert im customField stehen.

Was mache ich hier falsch?

Vielen Dank, viele Grüße
Florian Rieger

Inzwischen ist mir auch aufgefallen, dass ich für ein Product-Update über die Sync-API gar nicht alle Pflichtfelder übermitteln muss. Die productId und das zu ändernde Feld genügen.
Damit vereinfacht sich mein JSON zu
{
„action“ : „upsert“,
„entity“ : „product“,
„payload“ :
[
{
„id“ : „8fef904cca5f4691b758a4ec2f0d182e“,
„customFieldName“ : „“
}
]
}

Mit product-Feldern wie „name“ oder anderen funktioniert das auch, aber customFields kann ich damit nicht verändern.

Bin weiterhin dankbar für jeden Hinweis.

Die customFields musst du aber so aktualisieren:

{
  "id": "xxxx",
  "customFields": {
    "feldName": "wert"
  }
}

Außerdem sind die auch noch übersetzt, je nach kontext musst du das eventuell auch noch im translated Bereich übergeben.

Danke aggrosoft!
Das hätte ich an anderer Stelle in meinen JSONs auch selbst sehen können, wenn ich da mal genauer hingeschaut hätte. :roll_eyes:

schöne Grüße
Florian

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.