亚马逊市场条形码到产品数量

时间:2015-06-18 13:54:50

标签: php amazon-web-services aws-sdk

我正在编写一个自动脚本来列出亚马逊市场上的产品,它适用于我试图列出的95%的产品,但是我遇到了特定项目的问题,例如作为"批量交易"或" X"目录。

例如,我有一个EAN条形码为7613032631703的产品,我可以在亚马逊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 ....亚马逊提供的数据只是不准确(它不是真正的这些列表错误的错误,无论谁创建列表都是错误的。但我确实认为他们应该警察并更好地修复这些列表。

我真的很感兴趣,如果有人找到了一个可以实现自动化的可靠解决方案,但是如果其他人在这里遇到同样的问题,我认为它看起来不太可能,我建议反对尝试自动化它,因为它可能造成的潜在错误是巨大的。

1 个答案:

答案 0 :(得分:0)

我是为客户做的。我最终不得不刮掉他们让你查看的页面。我不确定你在哪里找到它但它存在。大约一年前我这样做了,像我一样,这是不可能的。但我有一个客户向我投入大量资金来解决问题,所以我做到了。

我需要花费数小时来编写用于抓取的算法,因为它非常复杂,无法获得我需要的内容,并且还需要调用API。我确信这都是对他们的服务条款的某种违反,所以让我通过说,这是可能的,但这仅仅是出于提供信息的目的而放弃这一点。你不应该违反服务条款。

希望这会有所帮助。 :)