【问题标题】:i am trying to update product inventory level for every sku in bigcommerce api我正在尝试为 bigcommerce api 中的每个 sku 更新产品库存水平
【发布时间】:2016-11-08 07:09:54
【问题描述】:

我正在尝试更新 Bigcommerce 中特定 SKU 的可配置产品库存水平。为此,我使用以下代码,它适用于简单产品,但不适用于可配置产品。

更新产品的数组是:

$qtyarr = array("inventory_level"=>7775);

这里的 updateproduct 是 BigCommerce API 的函数,我们在其中传递了两个参数。 一个是product_id,另一个是数组。

$allproducts = BigCommerce_Api::updateProduct('112',$qtyarr);

【问题讨论】:

    标签: php


    【解决方案1】:

    问题在于 SKU 在其自己的对象上拥有库存,而不是在产品对象上。这是在这里使用产品资源的区别: https://developer.bigcommerce.com/api/v2/#products-reference

    它是 SKU 子资源: https://developer.bigcommerce.com/api/v2/#skus

    您需要做的是首先通过如下调用从产品中提取 SKU 列表:

    $array_of_skus = BigCommerce_Api::getCollection('/products/112/skus?limit=250');

    获得 sku 列表后,您可以遍历每个 SKU 对象并单独更新每个 SKU 上的库存,即:

    foreach($array_of_skus as $sku){ BigCommerce_Api::updateSku( $sku->id, array("inventory_level" => 7775)); }

    【讨论】:

    • BigCommerce 的 API 文档中没有 updateSKu 函数。能否请您提供 udpateSku 功能给我们。
    • 嗨@GovindGarge,您是否尝试过使用我建议的代码? updateSku() 方法可能没有显示在此处找到的有关 PHP API SDK 的文档中:github.com/bigcommerce/bigcommerce-api-php 但它仍然是当前 SDK 版本中代码的一部分。您可以在此处找到updateSku() 方法的定义:github.com/bigcommerce/bigcommerce-api-php/blob/master/src/… 并非所有可用方法都记录在案,但您可以通读库文件(特别是 Client.php)以找到它们或添加更多内容。
    • 如果您的 Bigcommerce PHP API SDK 的本地副本在 Client 类中没有 updateSKU() 方法,那么您需要从 BigCommerce github 存储库中提取最新版本的库。或者,您可以手动将我引用的代码添加到您的本地副本中,或者使用updateResource() 方法实现相同的目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    相关资源
    最近更新 更多