API -> PUT articles -> images: Bilder werden mehrfach zugewiesen

Hallo zusammen!

Ich möchte über die API einem Artikel ein Bild aus einen SW-Album zuweisen. Dies würde ich automatisch jedes Mal machen, wenn ich eh den Article über die API aktualisiere.

Ich verwende also:

$result = $this->put('articles/'.$offer->getNumber().'?useNumberAsId=true', $updateArticle);

        $updateArticle = array(
            'lastStock' => true,
            'mainDetail' =>
                array(
                    'number' => $offer->getNumber(),
                    'inStock' => $offer->getStock(),
                    'prices' => array(
                        array(
                            'from' => 1,
                            'price' => $offer->getPrice()
                        ),
                    )
                ),
            'images' => $imageArray
        );

$imageArray[] = ["mediaId" => $shopID->getShopID(), "position" => $position, "main" => ($position === 1) ? 1 : 2];

Im Prinzip funktioniert es soweit - mein Problem ist jedoch, dass dieses Bild mit jedem PUT-Vorgang dem Artikel zusätzlich zugewiesen wird.

So sieht es dann in der Datenbank aus:

Interessanterweise überschreibt SW meine „main“-Angabe und setzt alle weiteren Bilder auf „2“.

Hat jemand eine Idee, wie ich dieses Verhalten unterbinden kann? Vielen Dank im Voraus für eure Unterstützung!

Viele Grüße,

Tobias

hm, zum Update von Bildern nutze ich eigentlich ->put(‚media‘) …

mit put(„media“) kannst du aber nur ein Bild an sich aktualisieren, aber nicht ein schon hochgeladenes Bild einem Artikel zuordnen, oder? Ich hoffe doch, dass ich hier einen Denkfehler habe und es über diesen Weg sauber funktioniert :slight_smile:

Willst du neue Bilder einem Artikel hinzufügen, dann put(‚articles‘). Willst du Bilder austauschen dann musst du put(‚media‘) nutzen. Beim letzteren musst du allerdings das Bild über die Media_Id ansprechen.