# Varianten per API anlegen und zuweisen

**URL:** https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817
**Category:** Shopware Playground - API first Sandbox
**Created:** [16. Februar 2021 um 12:52 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817 "2021-02-16T12:52:45Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![MentionMarcel](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@MentionMarcel](https://forum.shopware.com/u/MentionMarcel)
#### Post date: [16. Februar 2021 um 12:52 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817/1 "2021-02-16T12:52:45Z")

</div>

Hallo zusammen,&nbsp;

ich habe folgendes Problem, wenn ich&nbsp;Varianten per API anlege&nbsp;und einem Produkt zuzuweise werden diese im Frontend nicht angezeigt und im Backend gibt es auch unterschiede zu einer manuellen Varianten Anlage. Hier einmal meine Vorgehensweise / Daten:

Ich lade als erstes den Variantenkopf hoch, Request:

```
{
    "productNumber": "10000",
    "name":"Der Nagelknipser ~ sheesh ~",
    "taxId":"14b308f048db4cfcb43ec572efd3039b",
    "price":[
        {
            "currencyId": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
            "net": 0.50,
            "gross": 1.00,
            "linked": true
        }        
    ],
    "stock": 120,
    "customFields":{
        "Breite": "12.4"
    },
    "properties":[
        { "id":"2bfd278e87204807a890da4a3e81dd90"},
        { "id":"41e5013b67d64d3a92b7a275da8af441"}
    ]
}

```

Das Ding geht sauber hoch und wirft keine Fehler. Dann lege ich meine Variante an, Requst:

```
{
    "productNumber": "10001",
    "name":"Der Nagelknipser, in einem 1 nicen Rot malga#",
    "taxId":"14b308f048db4cfcb43ec572efd3039b",
    "parentId":"f921f95ab2da4056adb8c0dc03aa45df",
    "stock": 0,
    "options":[
        { "id":"52454db2adf942b2ac079a296f454a10"},
        { "id":"41e5013b67d64d3a92b7a275da8af441"}
    ]
}

```

Das Teil geht ebenfalls sauber hoch und wirft keine Fehler.

Im Backend sieht es jetzt so aus:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/2/2dc7962f887c8a62a51ae5164ebb7aec9cd4ac58.png)

&nbsp;

Im Frontend sieht es so aus :

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/1/19dba73afed980acd1cc9fceed58325d7f8cf9d8.png)

&nbsp;

Hier zeigt er mir die Variante an aber diese hat keine Möglichkeit, ein Variantenwert&nbsp;zu selektieren. (Farbe „Rot“ o. Größe „S“)

Im Backend ist mir aufgefallen, das in dem Produkt unter „Varianten/Varianten generieren“ keine ausgewählt sind:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/f/f3106280dec922aed1ca4aadf819f38ed6d9284d.png)

&nbsp;

Wenn ich jetzt hier Farbe „Rot“ und Größe „S“ auswähle, und die Variante generiere, erstellt er keine neue verwendet die vorher erstellte :

&nbsp;

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/a/af8b03043f168476d5e1eedf6e4ccb793f375055.png)

Danach sind die Varainten in der Maske markiert :

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/e/ed3b482e8befd5aff31dee9a28c5c2a6d892b91c.png)

Jetzt wird mir der Artikel auch korrekt im Fronted angezeigt :

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/2/2fce0509d826d310d17009fa9fa91deea490fc43.png)

&nbsp;

Kann mir jemand sagen, wie ich diese Optionen setzen kann ? Hatte das Problem schonmal jemand ? Was muss ich noch setzen oder angeben ?

Freue mich auf antworten !&nbsp; ![Smile](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/smile.png "Smile")

---

<div class="post-metadata">

### Author: ![CarstenHarnisch](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@CarstenHarnisch](https://forum.shopware.com/u/CarstenHarnisch)
#### Post date: [19. Februar 2021 um 22:39 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817/2 "2021-02-19T22:39:18Z")

</div>

Dann braucht es noch die Optionen der Varianten im Wesentlichen das Kopf-Product (parentId), SKU, evtl. noch Stock.

Und das Kopf-Product bekommt dann noch die&nbsp;ConfiguratorSettings für alle Options.

Ein bissel over-engineered, aber gut.

---

<div class="post-metadata">

### Author: ![Reimers](https://avatars.discourse-cdn.com/v4/letter/r/a88e57/32.png) [@Reimers](https://forum.shopware.com/u/Reimers)
#### Post date: [29. November 2021 um 15:33 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817/4 "2021-11-29T15:33:34Z")

</div>

Hallo!  
Wenn ich versuche eine Variante mit folgendem Code anzulegen,

```auto
{
	"productNumber": "ME_Test_250.7",
	"name": "UploadTest",
	"parentId": "603f5455975245de834cc6d36a01b123",
	"stock": 1,
	"optionIds": [
		"4bf4e06ec29f4b1f9e50f7aa769ed1e9"
	]
}

```

bekomme ich den Fehler:  
status: 400  
code: FRAMEWORK\_\_WRITE\_CONSTRAINT\_VIOLATION  
detail: This field is write-protected.

Ist dies ab der Version 6.4.6.0 nicht mehr so möglich?  
Danke!

---

<div class="post-metadata">

### Author: ![Reimers](https://avatars.discourse-cdn.com/v4/letter/r/a88e57/32.png) [@Reimers](https://forum.shopware.com/u/Reimers)
#### Post date: [29. November 2021 um 15:45 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817/5 "2021-11-29T15:45:00Z")

</div>

Oh, Fehler im JSON Code!  
Es geht doch mit:

```auto
{
	"name": "UploadTest",
	"parentId": "603f5455975245de834cc6d36a01b123",
	"stock": 1,
	"options": [
		{
			"id": "4bf4e06ec29f4b1f9e50f7aa769ed1e9"
		}
	]
}

```

---

<div class="post-metadata">

### Author: ![JF\_Dev](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@JF\_Dev](https://forum.shopware.com/u/JF_Dev)
#### Post date: [15. Juni 2025 um 11:25 UTC](https://forum.shopware.com/t/varianten-per-api-anlegen-und-zuweisen/72817/6 "2025-06-15T11:25:59Z")

</div>

Aus Erfahrung:

1. Vaterprodukt erstellen
2. PropertyGroups erstellen
3. PropertyGroupOptions erstellen
4. ConfiguratorSetting mit OptionId und ParentId vom Produkt erstellen
5. Variante erstellen mit options gefüllt.

Shop indexieren → wichtig
