代码之家  ›  专栏  ›  技术社区  ›  everyman

如何使用Amazon Marketplace Web Service(Amazon MWS)API更新产品价格

  •  7
  • everyman  · 技术社区  · 9 年前

    我只是想知道,更新亚马逊市场商店的产品价格是多么容易(或者可能是多么困难)。

    经过一番搜索,我找到了关于 "Amazon Marketplace Web Service (Amazon MWS)" 。我还检查了API文档和一个客户端实现,但我无法(或盲目、愚蠢等)找到任何关于为特定产品定价的文档。

    还是我需要另一个API?

    编辑:多亏了@ScottG和@Keyur,我找到了“缺失的链接” 喂养 . http://docs.developer.amazonservices.com/en_US/feeds/Feeds_SubmitFeed.html# 对于PHP PHP-Client library 在下面 src\MarketplaceWebService\Samples\SubmitFeedSample.php . 请参见@Keyur的答案 _POST_PRODUCT_PRICING_DATA_ FeedType 实例

    2 回复  |  直到 8 年前
        1
  •  8
  •   Keyur Padalia    9 年前

    您需要向amazon mws提要api发送以下提要,通过循环每个SKU的元素,在一个请求中发送15个不同SKU的价格提要

    $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);
    
        2
  •  2
  •   ScottG    9 年前

    产品通过Feeds发送到亚马逊。我们使用第三方为我们处理,但您可以使用Feeds API和 pricing 馈线类型。你可以下载一些模板来帮助你。然后可以使用 client libraries 将此提要发送给亚马逊。