【问题标题】:How to create new assets media for product in shopware 6 using API如何使用 API 在 shopware 6 中为产品创建新资产媒体
【发布时间】:2023-01-20 21:52:12
【问题描述】:

我想在数据库中添加带有图像的产品并且添加到购物车商店用品 6使用应用程序接口. 添加产品时我卡在了上传图片。产品添加成功但不是媒体图像。 我创造自定义插件并通过它上传图片。 先感谢您。

【问题讨论】:

    标签: php api shopware6-api


    【解决方案1】:

    需要先创建一个新的媒体实体,然后才能为添加产品 API 调用引用它们。我添加了一个示例来创建媒体并将其分配给您的产品,可能需要根据您的规格进行调整:

    创建空媒体实体

    curl --request POST 
      --url https://127.0.0.1:8000/api/media 
      --header 'Authorization: Bearer OAUTH2_TOKEN' 
      --header 'Content-Type: application/json' 
      --data '{
        "id": "eb85c29df15c41e8abd79552dce73e9a"
    }'
    

    uuid 必须是唯一的,并且在 shopware 中未使用。

    上传媒体内容

    curl --request POST 
      --url 'https://127.0.0.1:8000/api/_action/media/eb85c29df15c41e8abd79552dce73e9a/upload?extension=png&fileName=test' 
      --header 'Authorization: Bearer OAUTH2_TOKEN' 
      --header 'Content-Type: image/png' 
      --data 'base64encode(file_get_contents($file))'
    

    图像需要进行base64编码,然后可以作为请求体传输。

    将媒体分配给产品

    curl --request PATCH 
      --url https://127.0.0.1:8000/api/product/2a88d9b59d474c7e869d8071649be43c 
      --header 'Authorization: Bearer OAUTH2_TOKEN' 
      --header 'Content-Type: application/json' 
      --data '{
      "coverId": "eb85c29df15c41e8abd79552dce73e9a"
    }'
    

    媒体也可以通过同步端点添加和/或用作图库元素。

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2022-11-10
      • 2021-01-01
      • 2023-01-03
      • 2020-12-04
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      相关资源
      最近更新 更多