4

Shopify API 允许客户一次下载包含 250 个项目的列表(产品、集合等)。有没有办法通过一个 API 调用也可以上传包含多个项目的新列表?从 api.shopify.com 的文档看来,每次调用只能创建一个项目。如果属实,例如,对于试图将店面与现有库存管理系统连接的用户来说,这将适得其反并且效率极低。

假设我们有一家商店,有 20,000 种产品和 200 个定制系列,为了论证,一个产品只属于一个系列。下载产品信息需要调用 products.xml 80 次,调用 custom_collections.xml 1 次,调用 collects.xml 80 次。我们只需要 161 次调用 API 来执行操作,而这个数字远低于 Shopify 规定的 5 分钟内 500 次调用的限制。

但是,要执行相反的任务(根据文档,一次创建或修改相同数量的产品)将需要对 products.xml 进行 20,000 次 API 调用、对 custom_collections.xml 进行 200 次调用和对 collects.xml 进行 20,000 次调用,每 5 分钟完成 500 个呼叫需要 7 小时。

有一个更好的方法吗?

编辑 我从下面的答案中了解到,确实,Shopify API 不允许一次创建/更新多个产品。在我看来,这是其他高效产品的一个重大缺陷,因此我将实现此功能的请求留在这里。现在我必须创建一个服务应用程序,它会不停地访问 API,尽可能快地更新产品。

4

2 回答 2

1

截至 2019 年 10 月,Shopify GraphQL API 确实有批量操作突变,允许完成大量工作。对于这个用例来说可能不是很好,但仍然是一个改进。

您确实需要进行 20,000 次 API 调用才能使用 API 创建 20,000 个产品。API 调用被定量分配,每 300 秒 500 个。你在所有方面都是正确的。

一个简单的脚本将确保您遵守 API 限制,因此只需启动它,如果需要 7 小时才能完成,那又如何?您无需为每次 API 调用付费。您还可以完全避免 API 问题,只需使用 CSV 文件通过 Shopify 将所有 20,000 种产品直接上传到商店。那里没有刻录 API 调用。

于 2012-08-13T16:08:58.007 回答
0

不,无法通过 API 批量创建产品。

在使用库存管理系统时,我建议:

  1. 等待初始 7 小时设置或要求商家使用 CSV 上传批量创建第一个负载
  2. 注册 webhook,只告诉您已更改的产品库存,因此您只需更新集中库存系统中的这些条目
  3. 使用since_id这篇关于与商店同步的文章

如果您仍然需要更多的喘息空间,请联系 apps@shopify.com 以获取更高的 API 限制,说明您需要它的原因以及您需要多少次调用。


爱德华,Shopify 开发者倡导者

于 2012-08-13T16:12:13.723 回答