【问题标题】:Amazon Order Acknowledgment feed亚马逊订单确认提要
【发布时间】:2013-08-15 14:00:24
【问题描述】:

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

我已经成功提交这个feed到MWS,但是每次我检查feed提交结果时总是报这个错误

'您提交的 XML 在 Amazon Envelope XML 级别格式不正确 在(或附近)第 1 行,第 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 格式的内容?

【问题讨论】:

    标签: amazon-mws


    【解决方案1】:

    您的 XML 代码有两个问题:

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

    以下 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>
    

    【讨论】:

    • 我尝试使用与您在此处发布的相同 xml,我使用了一个项目来取消订单。但我得到同样的错误。知道我还缺少什么吗?
    • 由于我的格式错误,关闭 AmazonEnvelope 标签在我的帖子中不可见,抱歉。我刚刚纠正了这一点,并检查了上述来源以确保您在此处看到的内容实际上是有效的。请重试。
    • 最后错误被删除,但现在它说:'我们无法处理 XML 提要,因为一个或多个项目无效。请重新提交提要'@Hazzit 你对此有任何想法吗?
    • 不,不是。检查 AmazonOrderItemCodes 和 AmazonOrderID,看看它们是否真的与您要取消的订单匹配。
    • 我确保我使用了正确的亚马逊订单和商品 ID,我也尝试使用新的订单 ID,但它也没有奏效。它仍然说无效项目。我现在不知道该怎么办,我想知道有没有人成功取消亚马逊订单? @Hazzit 你能看看这个吗,谢谢:stackoverflow.com/questions/18342768/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2019-04-28
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多