2016-11-08 1 views
1

Bigcommerceの特定のSKUの設定可能な商品在庫レベルを更新しようとしています。そのために私は以下のコードを使用していますが、単純な製品では動作しますが、設定可能な製品では動作しません。私はbigcommerce API内のすべてのSkuの商品在庫レベルを更新しようとしています

製品をして更新するための配列:

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

そしてここでupdateproductは、我々は2つの引数を渡すされているBigCommerceのAPIの関数です。 1つはproduct_idで、もう1つは配列です。

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

答えて

0

問題は、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)); }

+0

BigCommerceのAPIドキュメントでは、updateSKu関数を使用できませんでした。 udpateSku機能を私たちに提供してください。 –

+0

こんにちは@GovindGarge、私は示唆したコードを使用してみましたか? 'updateSku()'メソッドは、ここにあるPHP API SDKに関するドキュメントには表示されない場合があります: https://github.com/bigcommerce/bigcommerce-api-php これはまだ現在のバージョンのSDK。 'updateSku()'メソッドの定義はここにあります: https://github.com/bigcommerce/bigcommerce-api-php/blob/master/src/Bigcommerce/Api/Client.php#L1210-L1214 利用可能なメソッドのすべてが文書化されているわけではありませんが、ライブラリファイル(特に 'Client.php')を読んでそれらを見つけたり追加したりすることができます。 –

+0

Bigcommerce PHP API SDKのローカルコピーに 'Client'クラスに' updateSKU() 'メソッドがない場合は、ライブラリの最新バージョンをBigCommerce githubリポジトリから取得する必要があります。あるいは、ローカルコピーに参照しているコードを手動で追加することも、 'updateResource()'メソッドを使って同じコードを取得することもできます。 –

関連する問題