Problem mit Varianten über die API - sind nicht im Frontend sichtbar

Guten Morgen,
ich lade meine Varianten über die API in Shopware. Das sieht im Backend auch gut aus. Aber sie werden mir trotzdem nicht angezeigt. Ich hatte mich ziemlich nach diesem Beitrag gerichtet: [Admin-API: Produkt mit Varianten anlegen - #4 von Krispin](https://Admin-API: Produkt mit Varianten anlegen) Trotzdem klappt es nicht. Was mache ich falsch?

Zum Aufbau: Ich erzeuge das Produkt und alle Varianten. Diese übergebe ich dann der Api, die mir auch ein Success zurückgibt. Danach lade ich dann die Bilder für alle Produkte hoch. Die Medien-ID erzeuge ich bereits beim Anlegen des Produkts. Alles klappt. Nur halt die Sichtbarkeit im Frontend nicht.

Hier mal mein Request, den ich sende:

{ 
	"write-product": 
	{ 
		"entity": "product", 
		"action": "upsert",  
		"payload": [ 
			{
				"id": "17cf3bac8966cc4de52aa557f59e5fd3",
				"active": true,
				"deliveryTimeId": "1e04777cb17d4396b424129b2d8e3a79",
				"description": "Produktbeschreibung",
				"ean": null,
				"featureSetId": null,
				"manufacturerId": null,
				"manufacturerNumber": null,
				"minPurchase": 1,
				"name": "Produktname",
				"productNumber": "Nummer",
				"releaseDate": "2022-09-28T14:12:18.03",
				"stock": 999999,
				"taxId": "2842fd17d5a7424795853e7fe7072448",
				"price":[
					{
						"currencyId": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
						"net": 13.77,
						"gross": 16.39,
						"linked": false
					}
				],
				"categories":[
					{ 
						"id":"648875017ed54637a41c8c1f972c239f",
						"name":"Kategoriename"
					}
				],
				"configuratorSettings": [
					{ 
						"productId": "17cf3bac8966cc4de52aa557f59e5fd3",
						"optionId": "2ab9df7d2dd94ad38eb53cf7dcf16e56" 
					},
					{ 
						"productId": "17cf3bac8966cc4de52aa557f59e5fd3",
						"optionId": "0fcf784970ea448bac1f7db542df9b86" 
					},
					{ 
						"productId": "17cf3bac8966cc4de52aa557f59e5fd3",
						"optionId": "0014aa7dc0b644b78cd4b39193f580b4" 
					}
				],
				"properties": [
					{ 
						"groupId":"ca74efd59b5545f2b4e4f532c217b2ce",
						"name": "1,0 m" 
					},
					{ 
						"groupId":"fa7f63d697d44684a5bb74ba5a73d3c7",
						"name": "2,0 mm" 
					},
					{ 
						"groupId":"a431bc98fe0149c3bf3ececf629e9740",
						"name": "Material" 
					}
				],
				"visibilities": [
					{
						"id": "17cf3bac8966cc4de52aa557f59e5fd3",
						"salesChannelId": "840a0403b56240b6a11502af1d46521e",
						"visibility": 30
					}
				],
				"coverId": "0f9ab99638bd0ea5e907234bf425819e", 
				"cover": 
				{ 
					"mediaId": "0f9ab99638bd0ea5e907234bf425819e" 
				}, 
				"media": [
					{ 
						"media": 
						{ 
							"id": "0f9ab99638bd0ea5e907234bf425819e", 
							"position": 0, 
							"mediaFolderId": "d8f460870e454c0bbca540614ca30029",
							"alt": "Bildname", 
							"description": "Bildbeschreibung", 
							"title": "Bildtitel" 
						} 
					}
				],
				"children": [ 
					{
						"id": "25c8876fb7577cad78df7539737d25ce",
						"active": true,
						"deliveryTimeId": "1e04777cb17d4396b424129b2d8e3a79",
						"description": "Beschreibung Kindelement",
						"ean": null,
						"featureSetId": null,
						"manufacturerId": null,
						"manufacturerNumber": null,
						"minPurchase": 1,
						"name": "Name Kindelement",
						"productNumber": "Nummer Kindelement",
						"releaseDate": "2022-09-16T14:14:31.41",
						"stock": 999999,
						"taxId": "2842fd17d5a7424795853e7fe7072448",
						"price":[
							{
								"currencyId": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
								"net": 82.63,
								"gross": 98.33,
								"linked": false
							}
						],
						"categories":[
							{ 
								"id":"648875017ed54637a41c8c1f972c239f",
								"name":"Kategoriename"
							}
						],
						"configuratorSettings": [
							{ 
								"productId": "25c8876fb7577cad78df7539737d25ce",
								"optionId": "b224173313cb4f8da03578ef83702751" 
							},
							{ 	
								"productId": "25c8876fb7577cad78df7539737d25ce",
								"optionId": "0fcf784970ea448bac1f7db542df9b86" 
							},
							{ 
								"productId": "25c8876fb7577cad78df7539737d25ce",
								"optionId": "0014aa7dc0b644b78cd4b39193f580b4" 
							}
						],
						"properties": [
							{ 
								"groupId":"ca74efd59b5545f2b4e4f532c217b2ce",
								"name": "6,0 m" 
							},
							{ 
								"groupId":"fa7f63d697d44684a5bb74ba5a73d3c7",
								"name": "2,0 mm" 
							},
							{ 
								"groupId":"a431bc98fe0149c3bf3ececf629e9740",
								"name": "Material" 
							}
						],
						"parentId": "17cf3bac8966cc4de52aa557f59e5fd3",
						"options": [
							{ 
								"id":"b224173313cb4f8da03578ef83702751",
								"group": {
									"id":"ca74efd59b5545f2b4e4f532c217b2ce"}
								},
								{ 
								"id":"0fcf784970ea448bac1f7db542df9b86",
								"group": {
									"id":"fa7f63d697d44684a5bb74ba5a73d3c7"}
								},
								{ 
								"id":"0014aa7dc0b644b78cd4b39193f580b4",
								"group": {
									"id":"a431bc98fe0149c3bf3ececf629e9740"
								}
							}
						],
						"visibilities": [
							{
								"id": "25c8876fb7577cad78df7539737d25ce",
								"salesChannelId": "840a0403b56240b6a11502af1d46521e",
								"visibility": 30
							}
						],
						"media": [
							{ 
								"media": { 
									"id": "fba6e74294488b554aa88f7dcf6f38f2", 
									"position": 0, 
									"mediaFolderId": "d8f460870e454c0bbca540614ca30029",
									"alt": "Bildname Kindelement", 
									"description": "Beschreibung Kindelement", 
									"title": "Bildtitel Kindelement" 
								} 
							}
						]
					}
				]
			}
		] 
	} 
}

Danke für die Hilfe!
René

Ohne es zu wissen oder nachgesehen haben, aber haben properties (bei den children) nicht auch id(s)?! Würde mich etwas verwundern, wenn man damit die poperties zeitgleich neu anlegen könnte.

Danke. Ich teste das einmal.

Das war es leider nicht.

Ich konnte es lösen. Zunächst habe ich alles aufgeteilt. Ich bin folgendermaßen vorgegangen:

  1. Den Artikel anlegen
  2. Das Artikelbild hochladen
  3. Jede Variante anlegen
  4. Die Variantenbilder hochladen.
  5. Den Artikel updaten:
{	"id": "aa4ccd7075a75e4ae497128c59989aab",	
	"variantListingConfig": {		
		"displayParent": true
	},
	"configuratorSettings": [
		{
			"id": "5d032d664299cf32221b30abf7542458",
			"optionId": "fd7276b9f53e4bad80b78ebd75c2cd97"\
		},
		{
			"id": "5d032d664299cf32221b30abf7542458",
			"optionId": "57908e926fff46629257f9896035a360"
		},
		{
			"id": "5d032d664299cf32221b30abf7542458",
			"optionId": "23e94c0b9b4d48b2941823193f2dfbcd"\
		}
	]
}

Die Id unter configuratorSettings ist die Id der Variante. Damit war dann alles sichtbar.

Eigentlich ist die „id“ bei den Settings eine randomId, soweit ich das reverse engineered habe aus dem Admin-Panel.

Wichtig aber zu wissen: Entfernen kann man die Settings nach dem Setzen nur noch über einen DELETE Call an folgende API:

/api/product/<productId>/configurator-settings/<IdConfigSetting>

Die APIs von Shopware machen mich völlig wahnsinnig, mit den random Changes zwischen den Versionen :crazy_face: