如何使用亚马逊商城网络服务(亚马逊MWS)API更新产品价格

eve*_*man 5 amazon-mws

只是试图找出,更新亚马逊市场商店的产品价格是多么容易(或者可能很难).

经过一些搜索后,我找到了关于"亚马逊商城网络服务(亚马逊MWS)"的文档.我还检查了API文档和客户端实现之一,但我无法(或盲目,愚蠢,无论如何)找到有关为特定产品设置价格的任何文档.

或者我需要其他API吗?

编辑:感谢@ScottG和@Keyur,我找到了'缺失的链接' Feeds.http://docs.developer.amazonservices.com/en_US/feeds/Feeds_SubmitFeed.html# 对于PHP存在的一个很好的例子PHP客户端库下src\MarketplaceWebService\Samples\SubmitFeedSample.php.有关_POST_PRODUCT_PRICING_DATA_ FeedType示例,请参阅@ Keyur的答案.

Key*_*lia 7

您需要将以下Feed发送到amazon mws feed api,您通过循环浏览每个SKU的元素,在一个请求中发送15个不同SKU的价格Feed

$feed = <<< EOD
<?xml version="1.0" encoding="utf-8"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>$merchant_token</MerchantIdentifier>
</Header>
<MessageType>Price</MessageType>
<Message>
  <MessageID>$i</MessageID>
  <Price>
    <SKU>$sku</SKU>
    <StandardPrice currency="$currency">$new_price</StandardPrice>
  </Price>
</Message>
</AmazonEnvelope>
EOD;

$feedHandle = @fopen('php://temp', 'rw+');
fwrite($feedHandle, $feed);
rewind($feedHandle);

$parameters = array(
    'Merchant' => $MERCHANT_ID,
    'MarketplaceIdList' => $marketplaceIdArray,
    'FeedType' => '_POST_PRODUCT_PRICING_DATA_',
    'FeedContent' => $feedHandle,
    'PurgeAndReplace' => false, //Leave this PurgeAndReplace to false so that it want replace whole product in amazon inventory
    'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true))
);

$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
$return_feed = invokeSubmitFeed($service, $request);
fclose($feedHandle);
Run Code Online (Sandbox Code Playgroud)

  • Amazon文档中引用的15个请求配额适用于http请求本身,而不适用于每个请求中SKU的数量。他们建议,例如,将列表保留在30,000个以下。 (2认同)