# Produkt via API mit Cover-Bild anlegen?

**URL:** <https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774>\
**Category:** Shopware 6 (German)\
**Created:** [19. März 2025 um 15:03 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774 "2025-03-19T15:03:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [19. März 2025 um 15:03 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/1 "2025-03-19T15:03:48Z")

</div>

Aktuell muss ich mich mal intensiver mit der API befassen. Ziel ist es als erstes ein Produkt via API anzulegen. Hier und da gibt es noch Stolperfallen 🙂

Eine davon ist, dem Produkt auch ein Cover-Bild mit zu übergeben. Das Produkt wird ganz normal mit „/api/product“ angelegt. Grundlage dafür dient diese Doku:

> **[Create a new Product resources. | Admin API](https://shopware.stoplight.io/docs/admin-api/1c10c832ff905-create-a-new-product-resources)**
>
> Available since: 6.0.0.0 Powered by Stoplight.

Hier wird auch das Objekt „cover“ beschrieben. Wenn ich die Doku soweit richtig verstanden habe, kann ich mit dem Produkt auch gleich das Cover-Bild mit übergeben. Jedoch klappt das noch nicht so richtig. Die URL vom Bild wird zwar übermittelt, aber im Zielshop wird das Bild dann nicht angezeigt. Es ist zwar korrekt mit dem Produkt verbunden, aber eben nicht sichtbar. Als ob also der Zielshop das Bild an sich nicht abgeholt hat.

Für das Cover-Bild sieht mein Test-Code wie folgt aus:

```auto
$cover = self::$ProductData['product-media'][0];
$mediaId = self::GetUUID();

$data['cover'] = [ 
  'id' => self::GetUUID(),
  'productId' => self::$ProductData['id'], 
  'mediaId' => $mediaId,
  'position' => $cover['position'],
];

 $data['cover']['media'] = [
  'id' => $mediaId,
  'mediaFolderId' => '019049c7897b70409e0ce99a4ae7972f', // !!!
  'mimeType' => $cover['media']['mimeType'],
  'alt' => $cover['media']['alt'],
  'title' => $cover['media']['title'],
  'fileName' => $cover['media']['fileName'],
  'url' => $cover['media']['url'],
 ];

```

Habe ich einen Paramter übersehen?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. März 2025 um 15:42 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/2 "2025-03-19T15:42:42Z")

</div>

media anlegen und dann dessen UUID als cover eintragen.

> **[Create a new Media resources. | Admin API](https://shopware.stoplight.io/docs/admin-api/c5267f85b987c-create-a-new-media-resources)**
>
> Available since: 6.0.0.0 Powered by Stoplight.

Jedoch funktioniert cover ggf. oder media Zuordnung nicht. Dann benötigst du auch noch productMedia

> **[Create a new Product Media resources. | Admin API](https://shopware.stoplight.io/docs/admin-api/4488b9ba4f0e1-create-a-new-product-media-resources)**
>
> Available since: 6.0.0.0 Powered by Stoplight.

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [20. März 2025 um 10:48 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/3 "2025-03-20T10:48:15Z")

</div>

Hm, im Prinzip habe ich mit „Create a new Media“ das selbe Problem wie eingangs schon erwähnt. Ich gebe die URL an, aber das Bild selber wird nicht angelegt. Irgendetwas übersehe ich.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [20. März 2025 um 11:00 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/4 "2025-03-20T11:00:12Z")

</div>

## Media

### Create

**POST**  
api/media  
{„id“:„00000000000000000000000000000000“,„private“:false}

### Upload

**POST**  
api/\_action/media/00000000000000000000000000000000/upload?extension=svg&fileName=shopware\_docs\_horizontal\_white  
{„url“:„[https://assets.shopware.com/media/logos/extended/shopware\_docs\_horizontal\_white.svg](https://assets.shopware.com/media/logos/extended/shopware_docs_horizontal_white.svg)“}

## ProductMedia

### Add

api/\_action/sync  
[{  
„key“:„write“,„action“:„upsert“,„entity“:„product“,„payload“:[{  
„id“:„00000000000000000000000000000000“,  
„coverId“:„00000000000000000000000000000000“,  
„media“:[{  
„id“:„00000000000000000000000000000000“,  
„mediaId“:„00000000000000000000000000000000“,  
„position“:0  
}]  
}]  
}]

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [20. März 2025 um 11:13 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/5 "2025-03-20T11:13:23Z")

</div>

Ah ich habs verstanden. Aber ganz schön umständlich. Mit der Kirche ums Dorf 🙂

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)\
**Post date:** [19. April 2025 um 11:14 UTC](https://forum.shopware.com/t/produkt-via-api-mit-cover-bild-anlegen/106774/6 "2025-04-19T11:14:19Z")

</div>

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
