REST API Import Artikel mit Varianten und Attribute

Hallo Leute,

ich versuche über das Rest-API ein Artikel mit Varianten anzulegen. Wobei die erste Variante die Hauptvariante ist. Mein Ziel ist es, das an dieser Variante die Attribute mit importiert werden.

Folgende JSON-Struktur habe ich:

{
  "name": "Test",
  "mainDetail": {
    "number": "12"
  },
  "variants": [
    {
      "isMain": true,
      "number": "12",
      "attribute": {
        "attr1": "Test Attr1"
      }
    }
  ]
}

  (Struktur ist nicht komplett, dient nur zur Anschauung relevanter Daten)

Wenn ich das importiere, dann legt er den Artikel an und die Variante als Hauptvariante.
Der Artikel sowie die Variante haben dann aber NICHT das Freitextfeld 1 (attr1), so wie in den Freitextfeldern in den Artikel Grundeinstellungen definiert.
Wenn ich den Artikel ohne Varaiante importiere und die „attribute“ in die „mainDetail“ verschiebe importiert er diese auch.
Er importiert sie auch, wenn ich die Variante nicht als Hauptvariante deklariere.

Also woran kann es liegen das unter angabe der Variante als Hauptvariante er das „attribute“ set nicht mit übernimmt? Hab ich da das Model von Shopware noch nicht verstanden?
Ich verwende Shopware 5.1.6

Auf Hilfe freu ich mich sehr :slight_smile:

 

Viele Grüße, Michael

Hallo,

ich glaube Ihr Code ist richtig. Können Sie bitte die Value in Datenbank prüfen.

Viele Grüße,

Ahmad

Hallo,

vielen Dank für die Antwort :slight_smile:

In der Datenbank-Tabelle ‘s_articles_attributes’ werden leider auch keine Werte eingetragen. 

Wenn ich den den Artikel mit einzelnen Varianten (ohne Hauptvariante) importiere, dann trägt er die “attribute” aus mainDetail ein.
“attribute” an den Varianten werden aber weiterhin ignoriert und nicht eingetragen. 

Hat noch jemand eine Idee?

Viele Dank und Grüße
Michael

Hallo nochmal Michael,

Könnten Sie etwas probieren und dann, ob es funktionierte. kann ich was passiert hier erkelerern.

Hinzufügen Sie die nächtse line in Ihre mainDetail array :

„configuratorOptions“:

also :

 

{
  "name": "Test",
  "mainDetail": {
    "number": "12",
     "configuratorOptions":[]
  },
  "variants": [
    {
      "isMain": true,
      "number": "12",
      "attribute": {
        "attr1": "Test Attr1"
      }
    }
  ]
}

ich warte Ihre Antwort.

Viele Güße,

Ahmad

1 „Gefällt mir“

Hallo Ahmad,

ich habe die Zeile hinzugefügt und neu importiert. Leider ändert es nichts. Die Attribute werden für die Hauptvariante nicht mit importiert. 

Vg Michael

Könnten Sie Bitte die Komplette Struktur hier hinzufügen

Ok. Ich habe einen kleinen Erfolg erzielen können:

Wenn ich die Hauptvariante in “mainDetail” deklariere, dann übernimmt er die “attribute”. Also nach alter Struktur so:

{
  "name": "Test",
  "mainDetail": {
    "isMain": true,
    "number": "12",
    "attribute": {
      "attr1": "Test Attr1"
    }
  },
  "variants": []
}

Wenn ich jetzt aber noch eine normale Variante habe, dann trägt er davon die Attribute nicht ein: Also so:D

{
  "name": "Test",
  "mainDetail": {
    "isMain": true,
    "number": "12",
    "attribute": {
      "attr1": "Test Attr1"
    }
  },
  "variants": [
    {
      "isMain": false,
      "number": "13",
      "attribute": {
        "attr1": "Test 2 Attr1"
      }
    }
  ]
}

Jetzt legt er das Attribute für Variante 13 nicht an :frowning:

 

Hier nochmal eine Ausführliche JSON-Struktur

{
  "filterGroupId": 15,
  "name": "TestName",
  "description": "TestDescription",
  "descriptionLong": "TestDescriptionLong",
  "added": "2016-09-28T10:11:46",
  "active": true,
  "metaTitle": "Meta Title Test",
  "lastStock": false,
  "notification": false,
  "mainDetail": {
    "isMain": true,
    "active": true,
    "number": "12",
    "inStock": 2,
    "width": "60.2",
    "len": "26.0",
    "height": "32.0",
    "ean": "128379128379",
    "packUnit": "Paket",
    "shippingFree": true,
    "shippingTime": "3-5",
    "additionaltext": "schwarz",
    "prices": [
      {
        "price": 89.5
      }
    ],
    "configuratorOptions": [
      {
        "group": "Farbe",
        "option": "schwarz"
      }
    ],
    "attribute": {
      "attr1": "Test Attr1"
    }
  },
  "tax": {
    "tax": "19.00",
    "name": "19%"
  },
  "propertyValues": [
    {
      "value": "32,00 cm",
      "option": {
        "name": "Höhe"
      }
    },
    {
      "value": "60,20 cm",
      "option": {
        "name": "Breite"
      }
    },
    {
      "value": "26,00 cm",
      "option": {
        "name": "Tiefe"
      }
    }
  ],
  "supplier": "TestSupplier",
  "configuratorSet": {
    "groups": [
      {
        "name": "Farbe",
        "options": [
          {
            "name": "schwarz"
          },
          {
            "name": "weiss"
          }
        ]
      }
    ]
  },
  "categories": {
    "596": {
      "id": 596
    }
  },
  "variants": [
    {
      "isMain": false,
      "kind": 2,
      "active": true,
      "number": "13",
      "inStock": 0,
      "width": "60.2",
      "len": "26.0",
      "height": "32.0",
      "ean": "128379128380",
      "packUnit": "Paket",
      "shippingFree": true,
      "shippingTime": "3-5",
      "additionaltext": "weiss",
      "prices": [
        {
          "price": 89.5
        }
      ],
      "configuratorOptions": [
        {
          "group": "Farbe",
          "option": "weiss"
        }
      ],
      "attribute": {
        "attr1": "Test Attr2"
      }
    }
  ]
}

 

Hallo,
ich habe Ihre Struktur in meine Shop probiert und es gut funktionert.

Aber ich habe Shopware 5.2.9.

Vielleicht Ihr Problem im Zusammenhang mit:

Viele Grüße,

Ahmad.

Weiß Jemand ob das mit attr > 20 auch geht ?