Bilder (Media Elemente) via API hinzufügen

Hallo,

ich habe mich so langsam durch die API Welt gekämpft.
Bei Shopware 5 war vieles einfacher…

Jedenfalls: Wie füge ich Bilder hinzu?

$parameter["title"] = "Hallo";
$parameter["mediaFolderId"] = "bf98f21ee213479db75583769a3a75fc";
$parameter["url"] = "Jens.jpg";
$response = $service->request("POST", "media", $parameter);

Muss das ganze vielleicht base64 encoden? Via $_files irgendwie? Was weis ich…

Vielen dank!

Hi jungblut,

da die Administration auch immer die API nutzt, kannst du dir solche Sachen immer ganz gut im Admin abschauen, wenn du nicht weiter weist.
Du musst zu erst ein Media-Objekt erstellen:

POST: http://shopware.local/api/v2/media

{
   "mediaFolderId":"2b1e1d56c13f457f9b26467fa2a85ab3",
   "id":"2c06cb9acf8d49828948f6d5c9ed1e6f"
}

Und danach die Datei per Media-Id uploaden:

POST: http://shopware.local/api/v1/_action/media/2c06cb9acf8d49828948f6d5c9ed1e6f/upload?extension=jpg&fileName=exampleFile

{
  "url":"https://as1.ftcdn.net/jpg/03/39/13/60/500_F_339136035_xxYedXqcvjQg1e4mBYgocdkeoCRD4cns.jpg"
}

Hoffe das Hilft dir weiter.

Gruß

Krispin

Das probier ich gleich aus vielen dank!

Machst du das dann ganz normal über die Entwicklertools oder wie genau “schaust du es dir ab”?

Danke!

Hi jungblut,

gern geschehen.

Genau, ich schaue mir solche Calls per Developer-Console über Chrome / Firefox an und kann diese dann per Postman etc. nachspielen.

Gruß

Krispin

Das bild ist da vielen herzlichen dank! Thumb-Up Thumb-Up Thumb-Up

Jetzt die letze und wichtigste Frage: Woher hast du den Parameter “URL”?
Hast du die aus dem Schema?

http://localhost/demoshop/public/api/v1/_action/media/974ce266128c44e08a27c8a5718dead4/upload?extension=png&fileName=Bildschirmfoto+2020-05-14+um+09.18.44

In meiner Entwicklerkonsole sehe ich das Bild als “POST” inhalt oder bei Google Chrome wird es als “Request Payload” bezeichnet.
Das könnte ich ja noch googeln, wie ich das übermittle.

Vielen lieben dank nochmal!

@Krispin‍ ist hier noch ein direktes hochgeben von Bildern geplant? Was man aktuell in der Sync API durch Batch hochgeben von Produkten spart, wird durch das einzelne Bildhochgeben und verlinken auf die Produkte wieder zunichte gemacht.