如何使用 BigCommerce 有效管理库存 API

How to effectively manage inventory with BigCommerce API

我正在尝试制作一个工具来管理我的仓库系统和我的 bigcommerce 商店之间的库存水平。我 运行 遇到的问题是 Bigcommerce 仅根据 Ids/Variant ID 设置库存水平。我的仓库软件只知道 sku/subsku 的产品。

流程的第一步是获取 ID 和变体 ID 并存储它们以供当前和以后使用。
为此,我调用 "catalog/products" 并通过一系列调用获取目录的所有产品以构建完整列表。我遍历然后对变体执行相同的操作 "catalog/products/{0}/variants"

通过此列表,我将我的 SKU 和变体与返回的目录列表相匹配。将匹配的 skus 更新为大型商业 id/variant ids 以供将来使用,然后最后我开始实际更新库存水平的过程。

然后我通过调用端点开始更新产品 "catalog/products/{id}" 要么 "catalog/products/{id}/variants/{variantId}"

这个过程花费的时间太长,即使是一些数量级别的更新。有没有更好的方法?
我还注意到,有时大型商业 ID 会因某些 SKU 而改变。这需要完全重新同步。

是否有更好的端点可供使用?有没有办法根据 sku 而不是 id/variantid 来更新项目?

我的解决方案是在 C# 中,但代码不是问题所在。问题是调用什么以及是否有更好的方法来调用端点。

我认为可以简化 API 调用的一个领域是:

I do this by calling "catalog/products" and getting all the products for the catalog through a series of calls to build a complete list. I loop through and then do the same for the variants "catalog/products/{0}/variants"

您可以使用 ?include= 参数将变体作为子资源包含在内,从而获取产品及其变体。例如:

catalog/products?include=variants

仍然需要某种从 variantID 到 SKU 的映射,但是在将更新后的库存推送到 BigCommerce 时,我们也即将发布更新,允许您批量更新多达 50 个一次通话中的产品或变体。请关注我们的更新日志以了解该公告:https://developer.bigcommerce.com/changelog