有没有一种方法可以通过一个Shopify API调用创建多个产品?

有没有一种方法可以通过一个Shopify API调用创建多个产品?,api,shopify,Api,Shopify,ShopifAPI允许客户端一次下载250个项目的列表(产品、收藏等)。是否有一种方法也可以通过一个API调用上载包含多个项目的新列表?从api.shopify.com上的文档来看,每次调用只能创建一个项。例如,如果是真的,那么对于试图将店面与现有库存管理系统连接起来的用户来说,这不仅会适得其反,而且效率极低 假设我们有一家拥有20000种产品和200种定制产品的商店,为了便于讨论,一种产品只属于一种产品。下载有关产品的信息需要80次调用products.xml,1次调用custom_colle

ShopifAPI允许客户端一次下载250个项目的列表(产品、收藏等)。是否有一种方法也可以通过一个API调用上载包含多个项目的新列表?从api.shopify.com上的文档来看,每次调用只能创建一个项。例如,如果是真的,那么对于试图将店面与现有库存管理系统连接起来的用户来说,这不仅会适得其反,而且效率极低

假设我们有一家拥有20000种产品和200种定制产品的商店,为了便于讨论,一种产品只属于一种产品。下载有关产品的信息需要80次调用products.xml,1次调用custom_collections.xml,80次调用collections.xml。我们只需要161次对API的调用就可以执行该操作,而这个数字远远低于Shopify规定的5分钟内500次调用的限制

但是,要执行相反的任务(根据文档,创建或修改相同数量的产品,一次一个),需要对products.xml调用20000个API,对custom_collections.xml调用200个,对collections.xml调用20000个,每5分钟调用500个,需要7小时才能完成

有更好的方法吗


编辑我从下面的答案中了解到,事实上,Shopify API不允许一次创建/更新多个产品。在我看来,这是一个在其他方面效率很高的产品中的一个重要缺点,因此我在这里提出了实现此功能的要求。目前,我必须创建一个服务应用程序,该应用程序将不间断地访问API,并尽可能快地更新产品。

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

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


一个简单的脚本将确保您遵守API限制,所以只需启动它,如果它需要七个小时才能完成,那又怎样?每个API调用不向您收取$。您还可以完全避免API问题,只需使用CSV文件将所有20000种产品直接上传到Shopify商店即可。那里没有烧录API调用。

不,没有办法通过API批量创建产品

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

  • 等待初始7小时设置,或要求商户批量创建第一次加载
  • 这只会告诉您已更改的产品库存,因此您只需在集中库存系统中更新这些条目
  • 使用
    自\u id以来
  • 如果您仍然需要更多的呼吸空间,请联系apps@shopify.com对于更高的API限制,请说明为什么需要它以及需要多少调用



    Edward,Shopify开发者拥护者

    最大的问题是我们不打算使用Shopify库存管理模块。我们的本地库存系统保持可用性/数量,即使我首先以CSV形式上传产品,我仍然需要经常更新库存数量。按照我的理解,也没有办法更新多个产品的库存数量字段,所以我只有一个选择,那就是编写一个应用程序,该应用程序可以点击API 24/7更新产品数量?即使使用这种极端的解决方案,我也无法对所有产品每天更新库存可用性超过几次;你一开始说你不打算使用Shopify的库存系统,但你想设置库存数量字段?我当时不知道产品更新/创建是否需要该字段,我想保持该数字正确,以便我们可以在我们的液体模板中使用它(打印“库存少于5”或“延期付款”).但鉴于限制,我们放弃了这一想法,因此不再频繁更新该特定字段。因此,在最初创建20K+产品之后,每天的更新将仅限于更改的产品。仍然可能需要一段时间,如果API调用需要一个列表,肯定会更高效、更省力我对你答案中的“那又怎样”部分的评论是:1)为了保持库存同步而不停地点击API是极其低效的(阅读我对Edward的评论);和2)如果我必须这样做一次,或者偶尔这样做一次,这不会是一个问题……但我需要使Shopify库存系统与我们当地的库存控制软件保持同步。您处于困境。这里的问题不是Shopify API,而是您的库存系统本身不适合在线电子商务。这就是真是遗憾。听起来你只需要把自己的购物车从库存系统上滚下来,然后继续前进……不需要像Shopify这样的东西。我的看法不同:库存系统足够灵活,可以与任何基于JSON或XML的API接口。问题是Shopify的API是如何构造的,一次只更新一个产品,making这个过程毫无必要地慢。我认为Shopify API走上了正确的轨道,它只需要一个小的优化。:-)很酷。区别是微妙的。一个API调用构建许多产品只是为了方便更少的API调用,这将是非常复杂的。强迫你在一个简单的API上为N个新产品调用N次,比允许你AKE 1 API调用建立n个产品。你认为一个小的优化不是这样的,它是一个主要的架构改变。一个小例子,比如说你用3/4个新的产品加上你的一个API调用,你就搞砸了。