Hallo zusammen,
ich bin aktuell dabei innerhalb eines Projektes Artikel per REST-API anzubinden.
Hierbei spielen zwei Verbindungen eine Rolle, welche das Selbe Problem haben:
- Produkt Tags
- Verkaufskanäle sichtbarkeit
Wenn für ein Produkt im ERP-System entweder einen Produkt-Tag oder der Verkaufskanal gelöscht wird, muss ich diese Verbindung ja in den Shopware Mapping Tabellen löschen.
Aus programmiertechnischen Gründen, kann ich aber nicht dauerhaft die ID für das Mappen der SalesChannelId mit dem Produkt (oder auch zwischen ProductTag & Product) speichern.
Somit hatte ich überlegt, für meine ersten Tests die Bulk Sync Funktion herzunehmen.
Beim Lesen der Anleitung bin ich über die „FilterReference“ gestolpert, welche mir in der Theorie ermöglichen sollte, einfach nur meine Produkt ID zu übergeben und die Mappingtabelle per Filter dann für das gesamte Produkt zu löschen. (Bulk Payloads | Admin API)
Leider habe ich bisher noch kein Json-Beispiel gefunden, in welchem einfach und simpel aufgezeigt wird, wie denn überhaupt der Sync Inhalt auszusehen hat.
Aktuell arbeite ich bereits per Bulk für z.B. die Kategorien & Preise, da ich hier sowohl jeweils die passenden IDs speichern kann. Somit baue ich mir den „PayLoad“ und schicke das Weg.
Beim Arbeiten mit dem „Criteria“ und „Filter“, komme ich leider nicht weiter.
Aktuell sieht meine Json wie folgt aus:
[
{
"action": "delete",
"entity": "product_visibility",
"criteria": {
"filter": [
{
"field": "product_id",
"type": "equalsAny",
"value": "01917e732edf703d943e4d1e020e66a7"
}
]
}
}
]
Zurück kriege ich allerdings leider nur:
{
"errors": [
{
"status": "400",
"code": "API_INVALID_SYNC_CRITERIA_EXCEPTION",
"title": "Bad Request",
"detail": "Sync operation 0, with action "delete", requires a criteria with at least one filter and can only be applied for mapping entities",
"meta": {
"parameters": []
}
}
]
}
Könnte mir jemand auf die Sprünge helfen, wie ich das Json zu bauen habe, damit ich in der Mappingtabelle „product_visibility“ alle einträge passend zur entsprechenden Produkt-ID löschen kann?
Danke für eure Hilfe,
Benny