Bigcommerce getProducts SKU调用限制过滤器

时间:2014-02-07 10:19:18

标签: php json api bigcommerce

我目前正在尝试将我的所有产品从BC拖到本地数据库中,以便我可以使用它们。极限让我头疼不已!

在此代码正常工作以获取所有产品和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 个答案:

答案 0 :(得分:1)

好的,不是每个产品都有SKU,我发现更容易分别获得所有SKU。

首先,我通过CURLing以下网址找出了总共有多少SKU。

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

同样适用于母产品

/api/v2/products/count.json

将这些除以100(因为我将它们分页为100)

然后我在bigcommerce提供的PHP API中使用了以下命令 对于SKU ..

Bigcommerce::getSkus($filter)    

对于产品......

Bigcommerce::getProducts($filter)  

然后我使用了以下过滤器。

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

然后将循环遍历所有SKU / Products,我可以在循环中添加SQL命令,将它们添加到我的数据库中。

我希望这对某人有帮助,我真的很喜欢使用Bigcommerce进行开发。