易趣:按网站

时间:2016-07-11 07:12:00

标签: ebay ebay-api ebay-lms

有人知道如何使用ebay API检索Site(ebay.us,ebay.fr ..)的完整项目列表吗? 我正在使用大型商户服务,因为我在每个站点上管理了数千个项目(大约100k)。 http://developer.ebay.com/devzone/large-merchant-services/concepts/lms_apiguide.html

我试过的第一个解决方案(活动库存报告)根据文档: 检索有效库存报告

  

ActiveInventoryReportRequest允许您下载说明   SKU为您提供的所有有效商品。 SKU详细信息包括ItemID,   价格,数量,SKU和SiteID。

我已经通过高级支持进行了检查,并且出现了错误,SiteID从未包含在回复中。

第二个解决方案(GetSellerList)

developer.ebay.com/devzone/xml/docs/reference/ebay/GetSellerList.html 根据文件:

  

GetSellerList每次调用最多返回5,000个项目(如果您未指定详细级别,则可以这样做,因此返回   每个项目的最小数据集)。但是,如果您指定任何   DetailLevel值(从而增加为每个返回的字段   item),您可能需要使用分页值来获得完整的   结果集。如果使用DetailLevel,则响应不能再包含   每次通话超过200件。

所以不能使用这个,因为限制5000件物品,我不知道什么时候添加了物品,几年前还有很多物品。

有什么想法吗?

此致

1 个答案:

答案 0 :(得分:0)

使用GetSellerList可以获得超过5,000个结果,但是你是对的,你一次只能得到200个。下面的代码是迭代循环的一部分,直到HasMoreItems为false。代码用Perl编写,使用Net :: eBay进行连接。

my $result = $eBay->submitRequest( "GetSellerList",
                               {
                UserID => "$ebay_settings{'ebay_account'}",

                GranularityLevel => 'Medium',

                EndTimeFrom => "$start_time",

                EndTimeTo => "$end_time",

                                    Pagination => {
                                                  EntriesPerPage => 200,
                                                  PageNumber => $page_number
                                                  }


                               }
                             );



if( ref $result ) {

$result->{HasMoreItems} eq "false" and $done = "Y";

}