php - Magento 2 - REST API PUT 产品

标签 php rest magento magento2 magento-2.0

当我尝试更新通过 REST V1 API 创建的产品时,只有默认网站的值会更新。不幸的是,我找不到在 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

最佳答案

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

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

API 网址

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

其中 default 是商店代码

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

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

如果你需要自定义也可以引用Magento2: REST API : Save Product Detail per store view not working

关于php - Magento 2 - REST API PUT 产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41140175/

相关文章:

magento - 在 magento 中添加新的系统属性

php - 是否可以对具有串联变量的查询进行参数化?

php - 查询 Eloquent hasMany 返回 columnize 错误

java - 为什么我的 Jersey 过滤器没有被触发?

rest - 使用 Heroku 和 303 的 SSL 端点

java - 读取托管非常大数据的 REST api 响应

php - 正在显示缓存的图像,任何人都可以给我解决方案

css - 没有 css,js 的 Magento 1.8 后端加载

php - 创建一张表供用户和客户登录或为每个用户和客户创建不同的表?

php - 返回 HTTP 405 的 CORS 预检请求