Hallo zusammen,
ich versuche, eine Kategorie aus einem Produkt über die MCP API (shopware-entity-upsert) zu entfernen, aber es funktioniert nicht. Bevor ich einen Bug-Report schreibe, möchte ich fragen, ob ich möglicherweise auf dem falschen Weg bin oder etwas übersehe.
Das Problem
Ich versuche, die Kategorie "019f1d7295377182922cf3b3cbd00b2a" (Urnen für Hunde) aus einem Produkt zu entfernen:
Payload:
json
{
"id": "019f1d72a32870e495e4f29a442cf578",
"categories": [
{
"id": "019f1d7295377182922cf3b3cbd00b2a",
"type": "remove"
}
]
}
Ergebnis:
- API antwortet:
"success": truemitdryRun: false - Das klingt erst mal nach Erfolg…
- ABER: Die Kategorie ist immer noch im Produkt enthalten
- Das
categoryIdsArray hat immer noch 7 Einträge statt 6
Bisherige Versuche
- Direct API - Erst versucht mit
categoryIdsdirekter Update- Fehler:
"[/0/categoryIds] This field is write-protected" - Also auf
categoriesAssociation gewechselt
- Fehler:
- Mit
type: "remove"- Wie in der Shopware Dokumentation beschrieben- API sagt
success: true - Aber DB wird nicht geändert
- API sagt
- Shopware aktualisiert - Von 6.7.12.2 auf 6.7.13.2
- Problem bleibt bestehen
- Im Admin UI - Kategorie manuell entfernt
- Das funktioniert tadellos!
Die Fragen
- Ist
type: "remove"die richtige Syntax? Oder gibt es einen anderen Weg via API? - Ist das ein MCP-Problem? Oder ein Shopware API Problem?
- Kann das ein Bug sein? Oder mache ich etwas falsch?
- Gibt es eine Alternative? Wenn nicht über Kategorien, dann vielleicht über die
product_categoryTabelle direkt?
Umgebung
- Shopware: 6.7.13.2
- MCP Tool: shopware-entity-upsert
- Produkt-ID:
019f1d72a32870e495e4f29a442cf578 - Kategorie-ID:
019f1d7295377182922cf3b3cbd00b2a
Danke im Voraus für die Hilfe!