# Medien über URL importieren via API - Wie?

**URL:** <https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520>\
**Category:** Allgemein\
**Created:** [22. Juli 2020 um 11:36 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520 "2020-07-22T11:36:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [22. Juli 2020 um 11:36 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/1 "2020-07-22T11:36:51Z")

</div>

Hallo,

leider komme ich beim Importieren von Medien über die API nicht weiter. Wir möchten Bilder aus der WaWi in den Shop importieren über URLs.

Welche Felder muss ich alles angeben, damit das funktioniert?

ich habe aktuell

```
[
    "id" => $md5GeneratedId,
    "url" => $urlToImageInErp
    "mediaFolderId" => "9aabf01aa771439da41a8a299f6bc618"
]

```

das erzeugt ein leeres Medien-Objekt im richtigen Folder. Aber wieso leer? Klappt das über nur die URL nicht?

Leider ist wieder mal die Doku mangelhaft…

Eigentlich möchte ich ja die Bilder direkt dem Produkt zuweisen, aber auch hier funktioniert es nicht. Deshalb wollte ich den Umweg gehen über erste Medien anlegen und dann zuweisen…

&nbsp;

ps: ich will natürlich mehrfache Medien verhindern, wenn täglich ein Abgleich läuft… deshalb wollte ich über GET media über die ID ein Medium abrufen. Wenn eins zurückkommt überspring ich es, wenn keins zurückkommt, leg ich eins an. Da ich die IDs beim Import über die URL md5-hashe und bilde, könnte ich das identifizieren… Leider ist die Methode wohl nicht dafür da, um Medien zu IDs abzurufen, die es nicht gibt. Es gibt eine Exception …

wie importiert man also Medien korrekt?

---

<div class="post-metadata">

**Author:** ![Exe](https://avatars.discourse-cdn.com/v4/letter/e/49beb7/32.png) [@Exe](https://forum.shopware.com/u/Exe)\
**Post date:** [22. Juli 2020 um 13:04 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/2 "2020-07-22T13:04:50Z")

</div>

Man muss pro Bild 2 API Calls ausführen. Der erste Call erzeugt ein leeres Medianobjekt in der DB. Der 2. Call läd dann das Bild hoch dazu hoch. Ich hab das via&nbsp;v1/\_action/sync und&nbsp;v1/\_action/media/{uuid}/upload?extension=jpg&fileName={filename}&nbsp;gemacht.

Hab ich auch einiges an Zeit gelassen, weil wie gewohnt, die Doku einen im Stich lässt.

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [22. Juli 2020 um 13:36 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/3 "2020-07-22T13:36:33Z")

</div>

hi @Exe‍,

danke für die Hilfe. Jetzt hab ich die Medien zumindest mal online. Für das Zuweisen als Cover-Image beim Produkt muss jetzt wohl noch einen 3. Call machen… alles in allem nicht so schön, das war bei der SW5-API besser …

&nbsp;

bleibt das Problem mit den Duplikaten… wenn mein Import täglich läuft, lädt er täglich die selben Bilder immer und immer wieder hoch. Dafür muss ich noch eine Lösung finden…

**und** : wie umgeht man die Exception \_ **CONTENT\_\_MEDIA\_DUPLICATED\_FILE\_NAME** \_ wenn mehrere Artikel das selbe Bild haben?

&nbsp;

---

<div class="post-metadata">

**Author:** ![Exe](https://avatars.discourse-cdn.com/v4/letter/e/49beb7/32.png) [@Exe](https://forum.shopware.com/u/Exe)\
**Post date:** [22. Juli 2020 um 14:32 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/4 "2020-07-22T14:32:38Z")

</div>

Produktnummer in den Bildnamen aufnehmen, dann kann das nicht mit anderen Produkten kollidieren. Bei wiederholtem Upload, lösche ich bei einem duplicate den leeren Bildeintrag wieder.

Ein täglicher Upload aller Bilder macht aber wenig sinn. Kannst du das nicht anhand eines created oder updated at Zeitstempels in deiner WaWi filtern?&nbsp;So effizient ist die SW6 dafür ja garnicht, weil die im Grunde wie die DB aufgebaut ist und man für jeden Käse einen extra Call machen muss. So geht zwar auf der einen Seite fast alles über die API aber dafür nur umständlich und überhaupt nicht auf Performance optimiert.

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [22. Juli 2020 um 14:42 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/5 "2020-07-22T14:42:59Z")

</div>

@Exe‍  
nein , leider hab ich auf WaWi-Seite keine Möglichkeit für Zeitstempel.

Zumal ein bloßes „updatedAt“ beim ganzen Produkt nichts bringen würde, da ja ggf. lediglich der Bestand geupdated wurde.

> Bei wiederholtem Upload, lösche ich bei einem duplicate den leeren Bildeintrag wieder

wie erkennst du das Duplicate dann?&nbsp;

Ich habe versucht, über GET /media ein Medium für meine generierten IDs abzufragen, um zu prüfen ob es bereits da ist oder nicht. Führt halt dazu, dass ich ggf. auch (bei neuen Bildern) für IDs abfrage, die im Shop noch nicht existieren. Aber leider funktioniert der Endpoint so nicht. Ist wohl nicht drauf ausgelegt, IDs abzufragen, die es nicht gibt… gibt nur Exception.

---

<div class="post-metadata">

**Author:** ![Exe](https://avatars.discourse-cdn.com/v4/letter/e/49beb7/32.png) [@Exe](https://forum.shopware.com/u/Exe)\
**Post date:** [22. Juli 2020 um 15:11 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/6 "2020-07-22T15:11:03Z")

</div>

Ein Duplicate erkenne ich daran, dass die API meckert. Die Exception per Catch abfangen und daraufhin das eben angelegte Mediaelement wieder löschen. ISt zwar blöd aber bei uns ist der Bildimport auch eher für das initiale befüttern der Produkte und nicht als Dauerlösung. Da ist das durchauch ok, wenn es nicht optimal und super effizient läuft.

---

<div class="post-metadata">

**Author:** ![FloC3](https://avatars.discourse-cdn.com/v4/letter/f/838e76/32.png) [@FloC3](https://forum.shopware.com/u/FloC3)\
**Post date:** [22. Juli 2020 um 15:14 UTC](https://forum.shopware.com/t/medien-uber-url-importieren-via-api-wie/68520/7 "2020-07-22T15:14:02Z")

</div>

naja es ist ja durchaus möglich, dass sich Artikel-Bilder ändern oder neue dazukommen.
