【发布时间】:2015-09-04 05:03:45
【问题描述】:
我正在编写一个自动化脚本来列出亚马逊市场上的产品,它适用于我试图列出的 95% 的产品,但我遇到了特定项目的问题,例如“批量交易”或“X 包”列表。
例如,我有一个 EAN 条形码为 7613032631703 的产品,我可以查询 Amazon API 以获取有关带有类似这样条形码的产品的信息
$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 的产品列表,据我所知,这意味着亚马逊错了,在本例中,EAN 条形码7613032631703 转换为一包 x12这个产品,亚马逊说它是同一种产品,但在一个多包 4 件(所以总共 48 包)。
显然我不想将我的产品设置为与“批量交易”列表相同的 ASIN,因为我是单独销售它们。
有没有办法防止这种情况发生?我在亚马逊 API 文档中找不到任何地方提到“列表数量”或“库存关系值”,或者我可以用来识别他们何时使用单个条形码来识别实际上是多件包装的列表。
非常感谢任何人都可以给我的任何想法。
编辑:
在进一步研究后,我认为这是不可能的。简而言之,亚马逊上有不正确的列表,您不能相信亚马逊为您提供的信息能够自动执行每个列表。
我最大的希望是MarketplaceWebServiceProducts_Model_ListMatchingProductsRequest 的结果属性,如果你深入研究AttributeSets,你可以找到PackageQuantity 的列表。在我为条形码7613032631703 给出的示例中,一些返回的列表的PackageQuantity 为4,这是正确的!然后你可以使用自动化这个过程。但是同一产品的其他几个列表的PackageQuantity 为 1,其中一个的 PackageQuantity 为 48....亚马逊提供的数据只是不准确(这些列表错误并不是他们的错,无论是谁首先创建列表做错了。但我确实认为他们应该更好地监管和修复这些列表)。
如果有人找到了允许自动化的可靠解决方案,我真的很感兴趣,但如果其他人也遇到同样的问题,我认为这不太可能,我建议不要尝试将其自动化它可能犯的潜在错误是巨大的。
【问题讨论】:
标签: php amazon-web-services aws-sdk