通过 API 从多个集合中列出 Shopify 产品

Listing Shopify Products Via API From Multiple Collections

我知道如何使用 APi

列出来自特定自定义集合的产品
...products.json?collection_id=xxxx

如何列出两个或三个特定系列的产品?如果有办法告诉 API 列出仅在这些集合中找到的产品,我。 e.只有集合A和集合B?

这是通过收集 API 完成的。产品不直接与自定义集合关联——它们与集合关联,然后集合与自定义集合关联。因此,使用 Collect API,您可以获得与自定义集合关联的所有 Collects,然后检索与这些 Collects 关联的所有产品。您甚至可以在一个请求中获得这些产品(如下所示;参见陷阱)。

参见文档中的此处:

Getting all Collects for a certain Custom Collection

Getting a list of specific products


示例:

(因为我们只关心从集合中获取产品 ID,我们可以将 product_id 传递给 fields 参数以获得更快的响应时间)

GET /admin/collects.json?collection_id=841564295&fields=product_id

回复:

{
  "collects": [
    {
      "product_id": 921728736,
    },
    {
      "product_id": 632910392,
    }
  ]
}

GET /admin/products.json?ids=921728736,632910392

回复:

{
    "products": [ ... ]
}

陷阱:

对于 Collect 和 Product 端点,每个响应的默认限制为 50 个项目,因此您需要处理分页。您可以使用 limit=250 将这 50 个限制提高到 250 个,这将减少您的请求总数。

虽然您使用 ids 参数指定的 ID 数量没有限制,但产品端点仍将遵循此默认值或指定的 limit。因此,最好将您的 ID 分成 250 个一组,将它们以逗号分隔作为 ids 的值传递,然后记得添加 limit=250 参数以避免必须分页。