Ebay: получить полный список товаров по сайту

Кто-нибудь знает, как получить полный список товаров по сайту (ebay.us, ebay.fr ..), используя ebay API? Я пользуюсь сервисом крупной торговли, потому что управляю тысячами товаров на каждом сайте (около 100 тыс.). http://developer.ebay.com/devzone/large-merchant-services/concepts/lms_apiguide.html

1-е решение, которое я попробовал (Отчет об активной инвентаризации) Согласно документу: Получение отчета об активной инвентаризации

Active Inventory ReportRequest позволяет вам загрузить описание всех ваших активных списков по SKU. Данные SKU включают ItemID, цену, количество, SKU и SiteID.

Я проверил с премиум поддержкой и есть ошибка, SiteID никогда не включается в ответ.

2-е решение (GetSellerList)

developer.ebay.com/devzone/xml/docs/reference/ebay/GetSellerList.html Согласно документам:

GetSellerList возвращает максимум 5000 элементов за вызов (это возможно, если вы не укажете уровень детализации и, следовательно, вернете наименьший набор данных для каждого элемента). Однако, если вы укажете какое-либо значение DetailLevel (и, следовательно, увеличите поля, возвращаемые для каждого элемента), вам может понадобиться использовать значения Pagination для получения полного набора результатов. Если вы используете DetailLevel, ответ может содержать не более 200 элементов на вызов.

Так что не могу использовать этот из-за ограничения до 5000 элементов, и я не знаю, когда элементы были добавлены, несколько лет назад для нескольких из них.

Есть идеи?

С уважением

1 ответ

Вы можете получить более 5000 результатов с GetSellerList, но вы правы, вы можете получить только 200 одновременно. Приведенный ниже код является частью цикла, повторяющегося до тех пор, пока HasMoreItems не станет ложным. Код написан на 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";

}
Другие вопросы по тегам