# Produkt mit Varianten via Admin API erstellen in Shopware 6.5.0.0

**URL:** <https://forum.shopware.com/t/produkt-mit-varianten-via-admin-api-erstellen-in-shopware-6-5-0-0/100067>\
**Category:** Shopware Playground - API first Sandbox\
**Tags:** programming\
**Created:** [13. Juni 2023 um 08:23 UTC](https://forum.shopware.com/t/produkt-mit-varianten-via-admin-api-erstellen-in-shopware-6-5-0-0/100067 "2023-06-13T08:23:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![djengis](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/djengis/32/20482_2.png) [@djengis](https://forum.shopware.com/u/djengis)\
**Post date:** [13. Juni 2023 um 08:23 UTC](https://forum.shopware.com/t/produkt-mit-varianten-via-admin-api-erstellen-in-shopware-6-5-0-0/100067/1 "2023-06-13T08:23:30Z")

</div>

Hallo liebes Forum,

wir versuche aktuell den Webshop eines Kunden von Shopware 5 auf 6 zu migrieren. Hierzu haben wir unter anderem ein Script, welches die Produkte aus SW5 zieht und nach SW6 pushed.

Das erstellen der Produkte funktioniert einwandfrei, wenn man die `configuratorSettings` der Gruppe weglässt, also z.B.:

```auto
{
   "id":"a6d25ed7cc8134846b28809a3ec8146e",
   "name":"ProduktName",
   "productNumber":"test-8820222",
   "price":[
      {
         "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
         "net":0,
         "gross":160,
         "linked":false
      }
   ],
   "stock":0,
   "taxId":"c3ab837bc1564ea787fc0944500ee432",
   "children":[
      {
         "id":"b244e7b9e864eac583e2c7f5f6a9639a",
         "productNumber":"OPT00092",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"8f7882a0ad19cd474c0645af0ae1f85e",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Havana"
            }
         ]
      },
      {
         "id":"08758b4b55c84f915aa11752222cd918",
         "productNumber":"OPT00093",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"b0b9b90a89fb75e5b64a28c94edfbe60",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Black"
            }
         ]
      }
   ]
}

```

Das Problem ist dann allerdings, dass diese nicht korrekt erstellt werden. Diese schauen erst korrekt im Backend aus, wenn man aber versucht sich die Storefront anzusehen, lädt dies nicht.

Ich bin mir relativ sicher, dass das daran liegt, dass wir die `configuratorSettings` nicht mit senden. Wenn dies aber tuen, bekommen wir einen nicht wirklich aussagekräftigen Fehler.

Hier zunächst der **vollständige** Payload:

```auto
{
   "id":"a6d25ed7cc8134846b28809a3ec8146e",
   "name":"ProduktName",
   "productNumber":"test-8820222",
   "price":[
      {
         "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
         "net":0,
         "gross":160,
         "linked":false
      }
   ],
   "stock":0,
   "configuratorSettings":[
      {
         "id":"2201756806604f0a929f0fb284f8d070",
         "productId":"b244e7b9e864eac583e2c7f5f6a9639a",
         "optionId":"733d35ea2c123034902cd71b702b936b"
      },
      {
         "id":"e7ccc83b3d8449aca62e7c1cecf372b3",
         "productId":"b244e7b9e864eac583e2c7f5f6a9639a",
         "optionId":"8f7882a0ad19cd474c0645af0ae1f85e"
      },
      {
         "id":"60ed0fa22ba14f948e671f352426bbd9",
         "productId":"08758b4b55c84f915aa11752222cd918",
         "optionId":"733d35ea2c123034902cd71b702b936b"
      },
      {
         "id":"0710b77f6f6c4b2997e92d27eb61bf34",
         "productId":"08758b4b55c84f915aa11752222cd918",
         "optionId":"b0b9b90a89fb75e5b64a28c94edfbe60"
      }
   ],
   "taxId":"c3ab837bc1564ea787fc0944500ee432",
   "children":[
      {
         "id":"b244e7b9e864eac583e2c7f5f6a9639a",
         "productNumber":"OPT00092",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"8f7882a0ad19cd474c0645af0ae1f85e",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Havana"
            }
         ]
      },
      {
         "id":"08758b4b55c84f915aa11752222cd918",
         "productNumber":"OPT00093",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"b0b9b90a89fb75e5b64a28c94edfbe60",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Black"
            }
         ]
      }
   ]
}

```

Hier erhalten wir nun aber diesen Fehler:

```auto
An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '\\xA6\\xD2^\\xD7\\xCC\\x814\\x84k(\\x80\\x9A>\\xC8\\x14n-\\x0F\\xA9\\x1C\\xE3\\' for key 'product_configurator_setting.uniq.product_configurator_setting.prod_id.vers_id.prop_group_id'

```

Kann hier jemand helfen? Wir verstehen nicht, was genau das problem ist, die `configuratorSettings` sind meines erachtens korrekt, oder?

Vielen Dank!  
djengis

---

<div class="post-metadata">

**Author:** ![djengis](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/djengis/32/20482_2.png) [@djengis](https://forum.shopware.com/u/djengis)\
**Post date:** [13. Juni 2023 um 08:45 UTC](https://forum.shopware.com/t/produkt-mit-varianten-via-admin-api-erstellen-in-shopware-6-5-0-0/100067/2 "2023-06-13T08:45:42Z")

</div>

Heyho,

ich glaube, ich habe Lösung gefunden. Ich dachte, man muss die `configuratorSettings` so bauen, dass die auf die Varianten mappen… ansich muss man nur sagen, welche Optionen es gibt und das wars:

```auto
{
   "id":"a6d25ed7cc8134846b28809a3ec8146e",
   "name":"11",
   "productNumber":"test-7536136",
   "price":[
      {
         "currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca",
         "net":0,
         "gross":160,
         "linked":false
      }
   ],
   "stock":0,
   "configuratorSettings":[
      {
         "optionId":"733d35ea2c123034902cd71b702b936b"
      },
      {
         "optionId":"8f7882a0ad19cd474c0645af0ae1f85e"
      },
      {
         "optionId":"b0b9b90a89fb75e5b64a28c94edfbe60"
      }
   ],
   "taxId":"c3ab837bc1564ea787fc0944500ee432",
   "children":[
      {
         "id":"b244e7b9e864eac583e2c7f5f6a9639a",
         "productNumber":"OPT00092",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"8f7882a0ad19cd474c0645af0ae1f85e",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Havana"
            }
         ]
      },
      {
         "id":"08758b4b55c84f915aa11752222cd918",
         "productNumber":"OPT00093",
         "stock":0,
         "options":[
            {
               "id":"733d35ea2c123034902cd71b702b936b",
               "groupId":"d8e1f09240d4430bb25e5fe712c45719",
               "name":"51"
            },
            {
               "id":"b0b9b90a89fb75e5b64a28c94edfbe60",
               "groupId":"28d5a5de7b2c48238088812a754f98cd",
               "name":"Black"
            }
         ]
      }
   ]
}

```

Ich lasse den Beitrag mal hier für Leute, die auf das selbe Problem stoßen 😉

Danke und Beste Grüße

---

<div class="post-metadata">

**Author:** ![bebob](https://avatars.discourse-cdn.com/v4/letter/b/58f4c7/32.png) [@bebob](https://forum.shopware.com/u/bebob)\
**Post date:** [16. August 2024 um 11:34 UTC](https://forum.shopware.com/t/produkt-mit-varianten-via-admin-api-erstellen-in-shopware-6-5-0-0/100067/3 "2024-08-16T11:34:39Z")

</div>

Moin, werden die Varianten dann direkt mit angelegt und verknüpft oder muss das in einem seperaten request erfolgen?
