【问题标题】:eBay API: retrieve full item listing by SiteIDeBay API:通过 SiteID 检索完整的项目列表
【发布时间】:2016-11-13 01:19:12
【问题描述】:

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

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

ActiveInventoryReportRequest 允许您下载描述 按 SKU 列出的所有活动列表。 SKU 详细信息包括 ItemID、 价格、数量、SKU 和 SiteID。

我已经检查了高级支持,但有一个错误,SiteID 从未包含在回复中。

第二个解决方案(GetSellerList)

https://developer.ebay.com/devzone/xml/docs/reference/ebay/GetSellerList.html

根据文档:

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

所以不能使用这个,因为限制为5000个项目,我不知道什么时候添加的项目,几年前的一堆。

有什么想法吗?

问候

【问题讨论】:

    标签: ebay-api ebay-lms


    【解决方案1】:

    您可以使用 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";
    
    }
    

    【讨论】:

    • 是的,谢谢,我用 php 做了同样的事情,eBay 可能会考虑在下一个版本中在 LMS 中添加 SiteID ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多