2013-10-09 58 views
5

我試圖更新產品的庫存水平,但不幸的是沒有獲得成功。這裏是我的代碼。 我想更新產品的「INVENTORY_LEVEL」,但讓這樣做的..如何通過Bigcommerce中的sku id更新產品的「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/>"; 

         } 


?> 

Here " Bigcommerce::updateProduct(76,$field); " is not working.. 
Please Help me.. 
Thanks.. 

回答

4

我試圖做同樣的事情(不同的編程語言)。我呼籲他們的支持。看起來你仍然必須參考product_id。

您不能SKU簡單地更新。你必須知道product_id。我通過請求所有產品並將響應加載到數組中(product_id,sku等)來解決此問題。然後我通過數組讀取數據,使用SKU從我們的系統獲取數量,並使用關聯的product_id過帳(PUT)inventory_level。

恕我直言,這是對他們的一部分了巨大的監督。誰在乎網站上的product_id?

我要求的增強,使更新的SKU。

+1

我已經聯繫他們談這個問題了。他們似乎對於快速解決這個問題似乎不太感興趣(或其他)。所以,我們實施了相同的解決方案。 –

+0

是啊,我也與他們聯繫有關這個錯誤,但不認爲他們會在不久的future.We改變這些東西都更新「INVENTORY_LEVEL」只是PRODUCT_ID而不是SKU的:( –

8

無需下載所有產品,爲什麼不恢復僅僅是一個擁有你所需要的SKU的產品?

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

解析此ID的響應(這是用於與SKU的產品的產品ID)

然後執行使用該產品ID的PUT。

+1

好但幾乎alright..I會做這種way..Thanks很多.. :) –

+1

我同意這個答案,迭代你的SKU的,並從SKU的ID,然後updateProduct()得到的ID。 我可以提供一個純粹的cURL答案,如果需要可能更容易實現/理解。雖然這個答案似乎很簡單。 – JPMC

+0

不幸的是,在處理每個產品選項具有不同SKU和單獨庫存水平的產品時不幸運行。 –

相關問題