xml - 亚马逊 MWS 无法更新最低/最高价格

标签 xml xsd amazon-mws

我尝试通过 mws Feeds API 设置我们在亚马逊上的产品的最低/最高价格,但我不断收到错误。有人可以指出我的错误吗?以下是 Feed 的示例内容:

<?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>IDENTIFIER_VALUE</MerchantIdentifier>
  </Header>
  <MessageType>Price</MessageType>
  <Message>
    <MessageID>1</MessageID>
    <OperationType>Update</OperationType>
    <Price>
      <SKU>SKU_VALUE</SKU>
      <MinimumSellerAllowedPrice currency="EUR">12.99</MinimumSellerAllowedPrice>
      <MaximumSellerAllowedPrice currency="EUR">63.99</MaximumSellerAllowedPrice>
    </Price>
  </Message>
</AmazonEnvelope>

此 Feed 的处理结果是:

<?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.02</DocumentVersion>
        <MerchantIdentifier>IDENTIFIER_VALUE</MerchantIdentifier>
    </Header>
    <MessageType>ProcessingReport</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <ProcessingReport>
            <DocumentTransactionID>XXXXXXXXXX</DocumentTransactionID>
            <StatusCode>Complete</StatusCode>
            <ProcessingSummary MarketplaceName="www.amazon.de">
                <MessagesProcessed>1</MessagesProcessed>
                <MessagesSuccessful>0</MessagesSuccessful>
                <MessagesWithError>2</MessagesWithError>
                <MessagesWithWarning>0</MessagesWithWarning>
            </ProcessingSummary>
            <Result>
                <MessageID>0</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>90215</ResultMessageCode>
                <ResultDescription>100% of the products in your file did not process successfully. We recommend using Check My File to help you identify and correct common listing errors before updating your inventory. To use Check My File, upload your file on the &quot;Add Products via Upload&quot; page in the &quot;Check My File&quot; section.</ResultDescription>
            </Result>
            <Result>
                <MessageID>1</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>90111</ResultMessageCode>
                <ResultDescription>The Message/Price/MaximumSellerAllowedPrice field contains an invalid value: 63.99. The value &quot;63.99&quot; is not a valid CURRENCY.</ResultDescription>
                <AdditionalInfo>
                    <SKU>SKU_VALUE</SKU>
                </AdditionalInfo>
            </Result>
            <Result>
                <MessageID>1</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>90111</ResultMessageCode>
                <ResultDescription>The Message/Price/MinimumSellerAllowedPrice field contains an invalid value: 12.99. The value &quot;12.99&quot; is not a valid CURRENCY.</ResultDescription>
                <AdditionalInfo>
                    <SKU>SKU_VALUE</SKU>
                </AdditionalInfo>
            </Result>
        </ProcessingReport>
    </Message>
</AmazonEnvelope>

xsd 在这里:https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_1_9/Price.xsd

谢谢!

最佳答案

MaximumSellerAllowedPrice 和MinimumSellerAllowedPrice 元素的类型为 StringOverrideCurrencyAmount。因此,为了成功处理 feed,这些值必须符合指定的要求。例如,上面的 feed 应如下所示:

<?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>IDENTIFIER_VALUE</MerchantIdentifier>
  </Header>
  <MessageType>Price</MessageType>
  <Message>
    <MessageID>1</MessageID>
    <OperationType>Update</OperationType>
    <Price>
      <SKU>SKU_VALUE</SKU>
      <MinimumSellerAllowedPrice currency="EUR">12,99</MinimumSellerAllowedPrice>
      <MaximumSellerAllowedPrice currency="EUR">63,99</MaximumSellerAllowedPrice>
    </Price>
  </Message>
</AmazonEnvelope>

请注意值如何从 12.99 更改为 12,99 以及从 63.99 更改为 63,99。

我是 stackoverflow 的新手,所以我不知道我应该/可以回答我自己的问题。

关于xml - 亚马逊 MWS 无法更新最低/最高价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159534/

相关文章:

java - XML 生成,元素添加不正确

xml - 如何检查xml列表中的两个代码?

java - XML 架构文件到字符串

PHP Web 服务客户端 : Guzzle and xsd

c# - 如何解决调用 Amazon SP-API 的问题,即使使用有效的 token 和签名,它也始终返回未经授权

java - 在 Java 中集成 2 个 XML 文件

xml - XSD 验证失败时的自定义错误消息

c# - 如何将 XSD 文件转换为 C# 类

amazon-web-services - Amazon MWS 节流是否意味着您可以更新 15 条记录或执行 15 条更新 API 调用?

亚马逊 MWS 客户端库