【问题标题】:Magento 2 - REST API PUT productMagento 2 - REST API PUT 产品
【发布时间】:2017-04-29 15:21:40
【问题描述】:

当我尝试更新通过 REST V1 API 创建的产品时,只会更新默认网站的值。不幸的是,我找不到在 te json 中发送网站 ID 的任何可能性。有没有人经历过这种情况?

我为更新发送到 /V1/products/123456 的数据:

{"product":{"sku":"123456","name":"D4D0123299","price":21,"type_id":"simple","custom_attributes":[],"extension_attributes":{"stock_item":{"use_config_manage_stock":1}}}}"

将产品链接到特定网站是通过第二个请求完成的,在通过 /V1/products 创建后,使用每个网站的此数据到 /V1/products/123456/websites (POST):

"{"productWebsiteLink":{"sku":"D4D01232","websiteId":1}}"
"{"productWebsiteLink":{"sku":"D4D01232","websiteId":2}}"

Magento 2 版本是 2.1.0

【问题讨论】:

    标签: php rest magento magento2 magento-2.0


    【解决方案1】:

    Magento2 在 PUT 或 POST API 调用时总是设置默认存储

    要使用 ref 将值保存到 Store,您可以像下面这样使用

    API 网址

    http://yourmagento2store.com/rest/default/V1/products/123456
    

    其中 default 是商店代码

    如果您想更新@管理员级别而不是商店级别,您也可以使用 admin

    http://yourmagento2store.com/rest/admin/V1/products/123456
    

    如果您需要任何自定义,也可以参考Magento2: REST API : Save Product Detail per store view not working

    【讨论】:

    • 有没有办法在一个 PUT 请求中更改所有商店的产品名称?还是一种在一个 PUT 请求中更新所有商店的整个产品的方法?
    • 当我向yourmagento2store.com/rest/admin/V1/products/123456 发出请求时,我得到以下响应:客户端错误:PUT http://yourmagento2store.com/rest/admin/V1/products/123456 导致404 Not Found 响应:{"message":"请求不匹配任何路由。 "} 它没有按照你建议的方式工作。您确定这适用于 Magento 2 吗?我也找不到任何关于此的文档。
    • 顺便提一下 yourmagento2store.com/rest/0/V1/products/123456
    • 0 是管理商店 ID:使用“admin”作为:yourmagento2store.com/rest/admin/V1/products/123456
    • 如果这不起作用,您可以尝试使用stackoverflow.com/questions/37744874/… 中提到的此解决方案并在 URL 参数中使用商店 ID
    猜你喜欢
    • 1970-01-01
    • 2019-08-09
    • 2017-10-17
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多