Preisupdate via API / Wie Haupt- und Variantenartikel unterscheiden?

Ich habe normale und Variantenartikel im Shop. In der Preisliste, die eingespielt werden muss, steht aber (natürlich) nur 'ne Artikelnummer und nicht was es für ein Artikel ist.

Wie kann man denn schnell und performant rausfinden, ob ich für das Update die articles oder die variants resource nehmen muss? Via articles nimmt er ja nur den Hauptartikel und überbügelt gleichzeitig alle Variantenpreise. Die haben aber z.T. unterschiedliche Preise.

Ich glaube dieses Variantensystem ist nicht ganz zu Ende gedacht oder?  :-/ 

 

Es wird noch geiler… wenn man aus Versehen nen Hauptartikel mit Variantenpreisen “bombardiert”, ist der ganze Artikel geschrottet.  Wunderbar…  

ggf meinst du sowas:

	public function hasVariants(int $swID) :bool{

		$swProduct = $this->apiClientArticle->getResourceById($swID);
		return isset($swProduct['configuratorSetId']) && !is_null($swProduct['configuratorSetId']);

	}

 

Ähm… wie hilft mir das genau die API korrekt zu bedienen?

Mein Problem ist gerade, dass ich immer erst vorab den Artikel abfragen muss anstatt ihn direkt via PUT upzudaten, weil ich eben nicht weiss, ob es ein Haupt- oder einen Variantenartikel ist.