有没有办法使用 Rest api 在 Magento 2 中获取特定类别的自定义过滤器?

Is there a way to fetch custom filters for a particular category in Magento 2 using Rest api?

我正在使用下面的 url 来获取特定类别的产品,它工作正常。

/rest/default/V1/products?searchCriteria[filterGroups][0][filters][0][field]=category_id&searchCriteria[filterGroups][0][filters][0][value]=262&searchCriteria[filterGroups][0][filters][0][conditionType]=eq&searchCriteria[filterGroups][1][filters][0][field]=visibility&searchCriteria[filterGroups][1][filters][0][value]=4&searchCriteria[filterGroups][1][filters][0][conditionType]=eq&searchCriteria[pageSize]=10&searchCriteria[currentPage]=0

唯一的问题是我想根据所选类别显示过滤器。例如,价格过滤器适用于每个类别,但尺寸和颜色过滤器仅适用于服装类别,而屏幕尺寸适用于电子产品。

知道如何获取每个类别的过滤器吗?

您可以尝试 magento 搜索 api 通过传递类别或任何其他字段来获取过滤器,如下例所示。

{{url}}/rest/V1/search?searchCriteria[requestName]=catalog_view_container&searchCriteria[filterGroups][0][filters][0][field]=category_ids&searchCriteria[filterGroups][0][filters][0][value]=10

结果将包含类别和其他存储桶,如下所示:

[
  {
    "name": "category_bucket",
    "values": [
      {
        "value": "2",
        "metrics": [
          2,
          634
        ]
      },
      {
        "value": "10",
        "metrics": [
          10,
          634
        ]
      }
    ]
  },
  {
    "name": "brand_bucket",
    "values": [
      {
        "value": "617",
        "metrics": [
          617,
          562
        ]
      },
      {
        "value": "639",
        "metrics": [
          639,
          29
        ]
      },
      {
        "value": "1218",
        "metrics": [
          1218,
          26
        ]
      },
      {
        "value": "640",
        "metrics": [
          640,
          8
        ]
      },
      {
        "value": "1332",
        "metrics": [
          1332,
          4
        ]
      }
    ]
  }
]

您可以将此结果与属性 api 结果映射以获得标签 {{url}}/rest/all/V1/products/attributes?searchCriteria=&fields=items[attribute_id,attribute_code,options,frontend_labels]

我找到了答案,但我不得不从使用 rest api 切换到 graphql,因为 graphql 支持 aggregations。这正是我所需要的,而且与 magento 2 的 rest api 相比,graphql 似乎具有更多功能。