5

我正在尝试更新产品的库存水平,但不幸的是没有成功。这是我的代码。我想更新产品的“inventory_level”,但可以这样做..

<?php

require "bigcommerce.php";
use Bigcommerce\Api\Client as Bigcommerce;


Bigcommerce::configure(array(
    'store_url' => 'https://store-nos85a.mybigcommerce.com/',
    'username' => 'admin',
    'api_key' => '4b7c4bba19f290a728e00be6ae7133cda71f477b'
    ));

Bigcommerce::setCipher('RC4-SHA');
Bigcommerce::verifyPeer(false);
            $product = Bigcommerce::getProduct(76); 
            print_r($product->skus);
                       foreach($product->skus as $sku)
                        {
                           
                            if($sku->id==5)
                                {
                              $fields = array("inventory_level"=>112);
                              Bigcommerce::updateProduct(76,$fields);
                                }
                            echo "id :  ".$sku->id;
                            echo " Invntory Level: ".$sku->inventory_level."<br/>";
                            echo " SKU : ".$sku->sku."<br/>";
                           
                        }
                                                    
           
?>

这里Bigcommerce::updateProduct(76,$field);不工作。

4

2 回答 2

8

无需下载所有产品,为什么不只检索具有您需要的 sku 的产品?

GET: /api/v2/products?sku=sku-that-I'm-interested-in

解析 id 的响应(即具有该 SKU 的产品的产品 ID)

然后使用该产品 ID 执行 PUT。

于 2014-03-18T07:31:59.603 回答
4

我正在尝试做同样的事情(不同的编程语言)。我打电话给他们的支持。看来您仍然必须引用 product_id。

您不能简单地通过 SKU 进行更新。您必须知道 product_id。我通过请求所有产品并将响应加载到数组(product_id、sku 等)中来解决这个问题。然后我通过数组读取,使用 SKU 从我们的系统获取数量,并使用关联的 product_id 发布(PUT)inventory_level。

恕我直言,这对他们来说是一个巨大的疏忽。谁在乎网站上的 product_id 是什么?

我已要求允许按 SKU 进行更新的增强功能。

于 2013-10-14T19:07:43.973 回答