amazon-mws - 亚马逊订单确认 feed

标签 amazon-mws

我正在使用订单确认 Feed 取消亚马逊订单。下面是我用来取消亚马逊订单的 xml feed 格式。

我已成功将此 Feed 提交到 MWS,但每次检查 Feed 提交结果时总是出现此错误

'The XML you submitted is ill-formed at the Amazon Envelope XML level at (or near) line 1, column 485'.

我根据这个Selling on Amazon: Guide to XML创建了xml格式。

<?xml version="1.0"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">

<Header>
    <DocumentVersion>1.01</DocumentVersion>
    <MerchantIdentifier>M_xxxxxx_108291953</MerchantIdentifier>
</Header>

<MessageType>OrderAcknowledgment</MessageType>
<Message>
    <MessageID>1</MessageID>
    <OrderAcknowledgement>
        <AmazonOrderID>123-1234567-1234567</AmazonOrderID>
        <StatusCode>Failure</StatusCode>
        <CancelReason>BuyerCanceled</CancelReason>
    </OrderAcknowledgment>
</Message>
</AmazonEnvelope>

任何人都可以帮我解决我在 xml 格式中缺少的内容吗?

最佳答案

您的 XML 代码有两个问题:

  1. 亚马逊使用“OrderAcknowledgement”,而不是“OrderAcknowledgment”。虽然该选择可能是 debatable ,但 XSD 不会为不同的拼写留下任何空间。 (这适用于 MessageType 以及开始和结束 XML 标记,您的拼写仅对于开始标记是正确的)
  2. CancelReason 仅在 <Item> 子结构内有效。

以下 XML 验证:

<?xml version="1.0"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <Header>
    <DocumentVersion>1.01</DocumentVersion>
    <MerchantIdentifier>M_xxxxxx_108291953</MerchantIdentifier>
</Header>
<MessageType>OrderAcknowledgement</MessageType>
<Message>
    <MessageID>1</MessageID>
    <OrderAcknowledgement>
        <AmazonOrderID>123-1234567-1234567</AmazonOrderID>
        <StatusCode>Failure</StatusCode>
        <Item>
            <AmazonOrderItemCode>12345678901234</AmazonOrderItemCode>
            <CancelReason>BuyerCanceled</CancelReason>
        </Item>
        <Item>          
            <AmazonOrderItemCode>12345678901235</AmazonOrderItemCode>
            <CancelReason>BuyerCanceled</CancelReason>
        </Item>
        <Item>
            <AmazonOrderItemCode>12345678901237</AmazonOrderItemCode>
            <CancelReason>BuyerCanceled</CancelReason>
        </Item>
    </OrderAcknowledgement>
</Message>
</AmazonEnvelope>

关于amazon-mws - 亚马逊订单确认 feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18254327/

相关文章:

amazon-web-services - 亚马逊 MWS API : Reliably Detect A Marketplace Offer vs. 主要产品列表?

php - 亚马逊MWS PHP5.3错误: Timestamp Must Follow ISO8601

amazon-web-services - 亚马逊 MWS : Get comments of orders

php - 您如何解析 MWS GetMatchingProduct 中的关系?

亚马逊 MWS - 内嵌图像

c# - 如何最小起订量 Amazon MWS 的响应以进行单元测试

amazon-mws - Amazon SP API 收到内部服务器错误

amazon-mws - Amazon MWSAuthToken 错误响应

php - 我在哪里可以获得亚马逊 MWS 产品类别的完整列表?

java - 如何获取 Amazon MWS Reports Java 客户端库以下载特定文档版本