2014-02-07 26 views
1

我目前正在嘗試將所有產品從BC拖到本地數據庫中,以便我可以使用它們。極限正在讓我頭痛!Bigcommerce getProducts使用限制過濾器的SKU呼叫

此代碼之前工作的罰款讓所有的產品和SKU

$filter = array('limit' => 200, 'page' => 1); 
$products = Bigcommerce::getProducts($filter); 

foreach ($products as $product) 
{ 
$ParentSKU = $product->sku; 
$BC_Product_ID = $product->id; 
    if ($product->skus != '') 
    { 
    foreach ($product->skus as $sku) 
    $ChildSKU = $sku->sku; 
    $Child_BC_Product_ID = $sku->id; 
    } 
} 

現在,這是使用PHP庫和作品所提供的產品具有小於50級的SKU(我認爲這個數字是正確的)。 這是因爲它正在調用....

https://store.mybigcommerce.com/api/v2/products/#productid#/skus.json?max_id=9999&limit=250 

而且這個結果僅返回50

現在我可以通過添加過濾器限制這樣接待他們的所有....

https://store.mybigcommerce.com/api/v2/products/#productid#/skus.json?limit=250 

250是最大限制 - 對於每個產品的可配置選項數量,這將是正確的。但如何將此過濾器添加到我的

$product->skus 

命令?我試圖這樣做...

$filtertest = array ('limit' => 200); 
$product->skus($filtertest); 

但是,當我var_dump這似乎完全忽略了過濾器?任何想法如何通過這種機制添加過濾器?

我希望BC公司有一個選項,只需在一次調用中顯示所有SKU的父母/子女,作爲出口產品的一部分,因爲它可以讓您更輕鬆地使用!

任何幫助非常感謝!

回答

1

好,所以我並沒有爲每件產品獲得SKU,而是更容易分開獲得所有SKU。

首先,通過查找以下URL,我發現總共有多少個SKU可用。

/api/v2/products/skus/count.json 

和同父產品

/api/v2/products/count.json 

100分割這些(因爲我想他們頁100)

然後我用PHP的API在下面的命令提供通過的Bigcommerce 對於單品..

Bigcommerce::getSkus($filter)  

對於產品...

Bigcommerce::getProducts($filter) 

然後我使用下面的過濾器。

$filter = array('limit' => 100, 'page' => $AmountOfPagesReturnedFromCurl); 

這也就那麼循環它通過所有的SKU /產品,我可以添加在循環SQL命令將它們添加到我的數據庫。

我希望這有助於某人,我真的很喜歡用Bigcommerce開發。