Shopware 6中如何通过API借助productName获取产品数据
Shopware 6 按产品名称获取产品数据的API请求结构
问题排查
你当前的请求筛选的是productNumber(产品SKU)字段,并非产品名称,且出现limit配置生效前返回多结果的常见原因是:
- 未指定上下文语言,匹配到了同个产品的多语言版本条目
- 存在多个完全匹配筛选条件的独立产品
精准匹配完整产品名称请求结构
如果你需要完全匹配产品名称内容,调整筛选规则中的字段为name即可,参考请求示例:
{ "search": { "products": { "limit": 1, "filter": [ { "type": "equals", "field": "name", "value": "你要匹配的完整产品名称" } ], "sort": [ { "field": "name", "order": "ASC" } ] } } }
模糊匹配产品名称请求结构
如果你需要搜索包含指定关键词的产品,将筛选类型改为contains即可:
{ "search": { "products": { "limit": 10, "filter": [ { "type": "contains", "field": "name", "value": "关键词" } ] } } }
额外优化建议
- 调用接口时在请求头指定
sw-language-id参数明确匹配语言,避免同产品多语言条目重复返回 - 如果需要确认匹配量级,可额外添加
"total-count-mode": 1参数获取匹配总数,判断是否存在多匹配项
内容的提问来源于stack exchange,提问作者Yogesh
相关产品推荐
相关产品推荐

