REST-API: Artikel mit Varianten anlegen klappt nicht

Hallo zusammen, ich möchte einen Shop (Shopware 5.0.4) von außen per REST-API mit Artikeldaten füllen. Der Artikel lässt sich anlegen, jedoch als die Varianten dazukamen, stieß ich auf Probleme. Der Artikel 999 ist z.B. in drei Varianten verfügbar (999.01, 999.02, 999.03), wobei 01 die Standard-Variante ist, soweit kein Problem. Übertrage ich das jetzt per REST (JSON) erzeugt Shopware zwar den Hauptartikel und die Artikel in article_details, jedoch sind die nicht als Varianten verknüpft. Wenn ich im Backend dann schaue, dann kann ich die Varianten immer noch generieren und habe ich nicht bestehenden Varianten vor mir. Probeweise habe ich die Varianten dann mal generieren lassen, jedoch hat er dann nicht meine vorgegebenen Artikelnummern genommen, sondern nur von der Hauptvarianten + fortlaufende Zahl. Ich habe es bereits mit dem Anlegen des Artikels per REST probiert und dem nachträglichen Aktualisieren der Variants. Komme ich jedoch zu demselben Problem. http://imgur.com/Z8IJnMz http://imgur.com/4Ehh3gr Anbei das JSON-Request, dass ich ausführe: { "name": "Rasenmäher", "active": true, "tax": 19, "supplier": "Leitz", "description": "I am a description", "descriptionLong": "I am a long description", "categories": [{ "id": 1110 }], "priceGroupId": 1, "priceGroupActive": true, "mainDetail": { "number": "999" }, "configuratorSet": { "groups": [{ "name": "Variation", "options": [ { "name": "01" }, { "name": "02" }, { "name": "03" }] } ] }, "variants": [{ "number": "999.01", "active": true, "isMain": true, "inStock": 125, "kind": 1, "prices": [ { "from": 1, "to": "beliebig", "price": 2.99 }], "configuratorOptions": [{ "name": "01" }] }, { "number": "999.02", "active": true, "inStock": 222, "kind": 2, "prices": [{ "from": 1, "to": "beliebig", "price": 2.99 }], "configuratorOptions": [{ "name": "02" }] }, { "number": "999.03", "active": true, "inStock": 888, "kind": 2, "prices": [{ "from": 1, "to": "beliebig", "price": 2.99 }], "configuratorOptions": [{ "name": "03" }] } ] }

Hallo aus Österreich,

ich habe beim Anlegen von Artikeln mit drei Varianten  per REST API über den Artikel Endpunkt ein ähnliches Problem.

Wenn ich folgendes JSON Request ausführe

{
    “name”: “Test Variantenartikel Schuhe”,
    “taxId”: 1,
    “active”: true,
    “price”: 300.25,
    “supplier”: “BASL GmbH - Softwarelösungen nach Maß”,
    “categories”: {
        “11”: {
            “id”: “11”,
            “name”: “Maschinen + Ger\u00e4te”
        }
    },
    “mainDetail”: {
        “number”: “Test.01”
    },
    “configuratorSet”: [{
        “name”: “My_shoe_config”,
        “groups”: [{
            “name”: “Color”,
            “options”: [{
                “name”: “White”
            },
            {
                “name”: “Yellow”
            },
            {
                “name”: “Blue”
            },
            {
                “name”: “Black”
            }]
        }]
    }],
    “variants”: [{
        “active”: true,
        “number”: “Test.01.1”,
        “inStock”: 15,
        “additionaltext”: “S / Schwarz”,
        “configuratorOptions”: [{
            “group”: “Color”,
            “option”: “Black”
        }],
        “prices”: [{
            “customerGroupKey”: “H”,
            “from”: 1,
            “to”: 20,
            “price”: 15
        },
        {
            “customerGroupKey”: “EK”,
            “price”: 15
        },
        {
            “customerGroupKey”: “H”,
            “from”: 20,
            “to”: “”,
            “price”: 10
        }]
    },
    {
        “number”: “Test.01.2”,
        “active”: true,
        “inStock”: 10,
        “additionaltext”: “S / White”,
        “configuratorOptions”: [{
            “group”: “Color”,
            “option”: “White”
        }],
        “prices”: [{
            “customerGroupKey”: “H”,
            “price”: 25
        },
        {
            “customerGroupKey”: “EK”,
            “price”: 25
        }]
    },
    {
        “number”: “Test.01.3”,
        “active”: true,
        “inStock”: 5,
        “additionaltext”: “S / Blue”,
        “configuratorOptions”: [{
            “group”: “Color”,
            “option”: “Blue”
        }],
        “prices”: [{
            “customerGroupKey”: “H”,
            “price”: 30
        },
        {
            “customerGroupKey”: “EK”,
            “price”: 30
        }
        ]
    }
    ]
}

 

dann ist nur der Grundartikel im Backend sichtbar.

Sehe mich mir den Artikel direkt in der Datenbank an, so ist er in der Tabelle “s_articles” vorhanden und in der Tabelle “s_articles_details” sind die Varianten nicht vorhanden.

Weiters ist mir aufgefallen, daß nur mehr die Daten in der Tabelle “s_article_configurator-sets” stehen, aber die anderen Tabellen “s_article_configurator_groups”, “s_article_configurator_options”, “s_article_configurator_option_relations”,“s_article_configurator_set_group_relations”, “s_article_configurator_set_option_relations” nicht mit Daten befüllt werden. Nur wenn ich diese Tabellen per Hand mit den richtigen Daten befülle, kann ich auch die Varianten im Backend sehen. 

Meine Frage wäre hast du dein Problem lösen können?

Was mach ich falsch, bzw was fehlt noch im JSON Request?

 

Liebe Grüße

Robert