Produkt über die api eine bild url mitgeben

ich habe das Problem, dass ich dem Produkt über die api eine https://…  bildurl mitgeben muss:

“media”: [{
      “media”: {
          “mediaFolderId”: “53c42de504004a15b840e63fdc0cbf2a”,
          “url”: “https://www.example.foo/media/BildP/Bild0815.jpg
      }
  }],

das bild wird leider nicht erkannt die url ist aber ereichbar und wenn ich es über das Backend von shopware über den link upload file from url eingebe erkennt er es auch. Ich denke ich muss bei er api noch weitere Eigenschaften mitgeben dass er weis das es sich um eine url handelt und evtl.  noch den typ jpg. Abgelegt wird es im richtigen Verzeichnis product media.

Das Problem ist wohl das er die url also ‘"https://www.example.foo/media/BildP/Bild0815.jpg’ nicht in die Datenbank einträgt beim response wenn ich es über die api /media anlegen bleibt die url leer. Was muss man hier beachten.

Vielen Dank für eure Unterstützung

 

 

Hallo,

das läuft 2-stufig ab. Hier mal ganz grob aus meinem nodeJS Script:

Zuerst machst Du einen Request an http://www.example.foo/api/v1/media?_response=true mit method: ‚POST‘ und body: JSON.stringify({mediaFolderId: „53c42de504004a15b840e63fdc0cbf2a“})

Als „Dankeschön“ erhältst Du eine Media-ID in der Response, die Du Dir in einer Variable zwischenspeichern musst.
Der nächste Call an die API lautet dann:

"http://www.example.foo/api/v1/_action/media/"+DEINE_GESPEICHERTE_MEDIA_ID+"/upload?extension=jpg&fileName=Sensationelles-Bild"; mit dem Body JSON.stringify({url:"http://www.example.foo/media/BildP/Bild0815.jpg"});

Wenn Du zur Kontrolle Informationen zu dem Bild abfragen möchtest geht das mit: http://www.example.foo/api/v1/media/MEDIA_ID_DES_BILDES

Dann wars dat schon :slight_smile:

1 Like