2015-06-18 2 views
6

Я пишу автоматизированный скрипт для перечисления продуктов на рынке Amazon, он отлично работает для 95% продуктов, которые я пытаюсь перечислить, но у меня проблемы с конкретными предметами, такими как как «массовые сделки» или «пакеты X».Amazon marketplace barcode to quantity количество

К примеру, у меня есть продукт с EAN штрих-кода из 7613032631703, и я могу запросить API Amazon для получения информации о продуктах со штрих-кодом с чем-то вроде этого

$amazon_api = new MarketplaceWebServiceProducts_Client(
    AWS_ACCESS_KEY_ID, 
    AWS_SECRET_ACCESS_KEY, 
    APPLICATION_NAME, 
    APPLICATION_VERSION, 
    [ 
     'ServiceURL' => 'https://mws-eu.amazonservices.com/Products/2011-10-01', 
     'ProxyHost' => null, 
     'ProxyPort' => -1, 
     'ProxyUsername' => null, 
     'ProxyPassword' => null, 
     'MaxErrorRetry' => 3, 
    ] 
); 

$list = new MarketplaceWebServiceProducts_Model_IdListType(); 
$list->setId('7613032631703'); 

$request = new MarketplaceWebServiceProducts_Model_GetMatchingProductForIdRequest(); 
$request->setSellerId(SELLER_ID); 
$request->setIdType('EAN'); 
$request->setMarketplaceId(MARKETPLACE_ID); 
$request->setIdList($list); 
$response = $amazon_api->getMatchingProductForId($request); 

который затем возвращает мне MarketplaceWebServiceProducts_Model_GetMatchingProductForIdResponse объект , который я могу использовать хорошо.

Но все результаты Амазонка возвращаемые для перечисления продукта из bulk buys for this product, который, насколько я могу сказать, значит Amazon есть это не так, как в этом примере EAN штрих-код 7613032631703 переводится на один пакет x12 этого продукта, где Amazon говорит, что это один и тот же продукт, но в пакете из 4 (всего 48 пакетов).

Очевидно, что я не хочу устанавливать свой продукт в тот же ASIN, что и в случае с «массовыми сделками», так как я продаю их отдельно.

Есть ли способ предотвратить это? Я не могу найти нигде в документах API Amazon API о «количестве листинга» или «значении отношения запаса» или что-то, что я мог бы использовать, чтобы определить, когда они используют особый штрих-код для списков, которые на самом деле являются множественными.

Большое спасибо за любые идеи, которые могут мне дать.

Edit:

Посмотрев дальше в этом, я в том месте, где я не думаю, что это возможно. Проще говоря, на Amazon есть неверные списки, и вы не можете доверять информации, которую Amazon дает вам возможность автоматизировать каждый листинг.

Наибольшая надежда у меня была атрибутом на результат MarketplaceWebServiceProducts_Model_ListMatchingProductsRequest, если вы копаетесь в AttributeSets, вы можете найти PackageQuantity для объявления. В примере, который я дал для штрих-кода 7613032631703, некоторые из возвращенных объявлений имеют PackageQuantity из 4, что было бы правильно! И вы могли бы использовать его для автоматизации этого процесса. Но несколько других списков для одного и того же продукта имеют PackageQuantity из 1, один из которых имеет PackageQuantity из 48 .... данные, предоставленные Amazon, являются просто неточными (это не их вина, что эти списки неверны, кто бы ни создавал листинг в первое место делало это неправильно, но я думаю, что они должны полиция и лучше фиксировать эти списки).

Мне очень интересно, если кто-то нашел твердое решение, которое позволяет автоматизировать, но если кто-то еще здесь с той же проблемой, я не думаю, что это выглядит вероятным, и я бы посоветовал не пытаться его автоматизировать поскольку возможные ошибки, которые он может сделать, огромны.

ответ

0

Я сделал это для клиента. В итоге мне пришлось очистить страницу, которую они разрешили. Я не уверен, где вы его найдете, но он существует. Я сделал это примерно год назад, и, как и вы, я был, это невозможно. Но у меня был клиент, бросающий на меня огромные деньги, чтобы понять это, поэтому я сделал это.

Мне потребовалось несколько часов, чтобы закодировать алгоритм для очистки, поскольку это было настолько сложно, чтобы получить именно то, что мне было нужно, а также потребовало обращения к API между ними. Я уверен, что все это было своего рода нарушением их TOS, поэтому позвольте мне отказаться от этого, сказав, что это возможно, но это только для информационных целей. Вы не должны нарушать TOS.

Надеюсь, это поможет. :)