Magento 2调用REST API创建产品时manufacturer属性值无效如何解决
报错原因
你的manufacturer属性是下拉选择类型,Magento 2 REST API处理这类属性时,要求传入选项对应的整数ID,而不是选项的文本名称,你当前传入的$brand是品牌名文本,所以触发类型校验错误。
解决步骤
- 先查询
manufacturer属性所有选项的ID和名称对应关系,调用接口:GET /rest/all/V1/products/attributes/manufacturer/options
返回结果中,label字段对应你设置的品牌名称,value字段就是需要传入的选项ID。 - 将你代码中
$brand变量的值替换为对应品牌名匹配到的value整数值即可,例如你要设置的品牌名称是Brand Name,查询到对应ID是15,就把$brand赋值为15。 - 如果是需要动态新增品牌选项的场景,先调用属性选项新增接口创建对应品牌,拿到返回的ID后再传入商品创建接口即可。
注意事项
如果你的站点配置了多商店视图,查询选项ID时需要带上对应商店视图的请求头或者在接口路径中指定store code,避免不同商店视图下标签匹配错误。
内容的提问来源于stack exchange,提问作者mariobros
相关产品推荐
相关产品推荐

