Varianten-Bild-Zuordnung per API

Hallo,

ich habe folgendes Problem. Im Einsatz ist ein neu installierter SW 5.6.7 Shop. Zur Anbindung an die individuelle Wawi sind wir gerade dabei die Artikelanlage per API abzubilden.
Die grundlegende Anlage des Hauptartikels funktioniert auch soweit.

Wo es hakt ist die Bildzuordnung zu einzelnen Varianten. Konkret heißt das. Wir haben einen Varianten-Artikel bestehend aus Farben und Größen. Als Konfigurator-Set haben wir den Bildkonfigurator gewählt. Nun gibt es für jede Farbvariante des Artikels 5 Bilder. Diese sollen per API nun jedoch nur dem Attribut Farbe zugeordnet werden.

Wenn wir den Artikel über die API anlegen, sind die Bilder jedoch allen Farb-/Größenvarianten einer Farbe zugeordnet und im Frontend erscheint somit statt der Größenauswahl (S, M, L, XL) auch das entsprechende Bild.

In der API-Dokumentation ist dazu jedoch nichts entsprechendes zu finden.

Hat Jemand dazu einen Tip bzw. dieses Problem selbst schon gelöst?

Ich bin mir nicht sicher, ob ich das Problem jetzt überhaupt richtig verstanden habe…
Es soll ein Bild einer Variante zugeordnet werden? Oder einem Attribut? Aber im letzten Abschnitt beschreibst du genau das und sagst das wäre nicht gewollt…?

Es einer Variante zuzuordnen ist recht simpel, dazu einfach beim Aufbau des Api-Gerüst im Bereich der Varianten den Knoten images befüllen mit dem Array aus Bildern mit Aufbau [[link=>"",articleDetailId=>""] ]

Ein Bild einem Attribut zuordnen habe ich noch nicht versucht, das wird vermutlich ähnlich funktionieren… mit Angabe von attributeId oder sowas
(keine Garantie dass es das Feld attributeId gibt, wäre nur die logische Schlussfolgerung!)

Auch möglich wäre, die Bilder vorab hochzuladen und dann per mediaId nur noch zu verknüpfen.

Vielleicht habe ich mich etwas unverständlich ausgedrückt. Deshalb hier nochmal etwas ausführlicher.

Es gibt einen Artikel. Dieser Artikel hat die Attribute „Farbe“ und Größe".

Nun gibt es zu jeder Farbvariante 5 Bilder. Diese sollen nun dem entsprechendem Farbwert zugeordnet werden, da die Variantenauswahl im Frontend eben über diese Bilder und nicht über die Farbwerte (Texte) erfolgt.

Im Backend ist das alles kein Problem, da kann ich die Bilder auswählen und über den Konfigurator nur der gewünschten Farbe (nicht der Größe) zuordnen. Somit wird die Farbe als Bild und die Größe als Text (S, L, M) dargestellt.

Nur gibt es in der API-Dokumentation kein Beispiel, wie der Aufbau der JSON Datei dazu aussehen muss.

Falls es über die Api möglich ist…

Ich würde im Backend einfach mal einen Artikel manuell so bearbeiten und dann per Api abfragen - dann siehst du ja wie es verknüpft ist an der Ausgabe.
Das müsstest du dann ja im Endeffekt nur nachbauen

Die Bearbeitung im Backend und der Vergleich mit der API-Variante haben wir schon gemacht. Die sind eigentlich identisch.

Hier der Payload-Ausschnitt der Variante (Bilder):

{
"variants": [
    {
      "articleId": 39,
      "unitId": 9,
      "number": "12345-2020-9999-S",
      "supplierNumber": "12345-2020-9999-S",
      "kind": 2,
      "additionalText": "gelb",
      "active": true,
      "ean": "9999999999999",
      "position": 1,
      "minPurchase": 1,
      "shippingFree": false,
      "prices": [
        {
          "customerGroupKey": "EK",
          "price": 40.0,
          "pseudoPrice": 0.0,
          "basePrice": 99.99,
          "percent": 0.0
        }
      ],
      "attribute": {
        "bogxVisible": 1
      },
      "configuratorOptions": [
        {
          "group": "Farbe",
          "option": "gelb",
          "mediId": 0
        },
        {
          "group": "Größe",
          "option": "S"
        }
      ],
      "images": [
        {
          "main": 2,
          "position": 1,
          "parentId": 3229,
          "mediaId": 141,
          "options": {
            "name": "gelb"
          }
        },
        {
          "main": 2,
          "position": 2,
          "parentId": 3217,
          "mediaId": 145,
          "options": {
            "name": "gelb"
          }
        },
        {
          "main": 2,
          "position": 3,
          "parentId": 3218,
          "mediaId": 146,
          "options": {
            "name": "gelb"
          }
        },
        {
          "main": 2,
          "position": 4,
          "parentId": 3219,
          "mediaId": 147,
          "options": {
            "name": "gelb"
          }
        }
      ]
    }
]
}

 

Hast du schon mal die Main-Angaben geändert?

"images":
  "main": 1,
  ...

1 = Hauptbild

2 = Nebenbild

jeweils mit eigerer Position  -“position”

Mit der Zuordnung der Bilder (Hauptbild, Nebenbild usw.) haben wir alles schon durchgespielt.

Vielleicht nochmal zur Visualisierung was ich meine. So sieht ein Artikel aus, den ich im Backend über den Bildkonfigurator der entsprechenden Farbvariante zugeordnet habe:

Dies erfolgt mit jeweils 5 Bildern pro Farbe. Die Variante “Größe” wird dabei nicht ausgewählt.

Und so kommt der Artikel über die API angelegt an.

Hier ist jedes Bild einer Farbvariante auch allen Größen zugeordnet.

Was dann im Frontend so aussieht (falsch):

gegenüber so korrekt:

mhhh. kurios, bis auf möglicherweise ein schluckauf durch

„configuratorOptions“: [ { „group“: „Farbe“, „option“: „gelb“, " mediId": 0

fällt mir spontan nix ein.