【问题标题】:Amazon MWS Feed API Issue in updating Order status亚马逊 MWS Feed API 更新订单状态的问题
【发布时间】:2013-05-27 10:13:17
【问题描述】:

我正在使用 amazon mws feed api 来更新我网站上的订单状态。
当我调用 SubmitFeed Api 时,它已成功提交。 但是,当我调用 GetFeedSubmissionResult 时,它返回给我一个错误说明:

        <Result>
            <MessageID>1</MessageID>
            <ResultCode>Error</ResultCode>
            <ResultMessageCode>25</ResultMessageCode>
            <ResultDescription>We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed.</ResultDescription>
        </Result>

这是我的 xml:

<?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>Maxvite Store</MerchantIdentifier>
    </Header>
    <MessageType>OrderFulfillment</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OrderFulfillment>
            <AmazonOrderID>123-5454545-5454545</AmazonOrderID>
            <MerchantOrderID>123456</MerchantOrderID>
            <MerchantFulfillmentID>123456</MerchantFulfillmentID>
            <FulfillmentDate>12-02-2013T04:23:00Z</FulfillmentDate>
            <FulfillmentData>
                <CarrierCode>UPS</CarrierCode>
                <ShippingMethod>UPS Ground</ShippingMethod>
                <ShipperTrackingNumber>123456</ShipperTrackingNumber>
            </FulfillmentData>
         </OrderFulfillment>
    </Message>
</AmazonEnvelope>

提前致谢

【问题讨论】:

    标签: amazon amazon-mws


    【解决方案1】:

    您的提要未针对 XSD 架构进行验证。您不能在同一 Feed 中同时指定 AmazonOrderID 和 MerchantOrderID(在 OrderFulfillment.xsd 中指定为 choice

    此外,您的 FulfillmentDate 应为 2013-02-12T04:23:00+00:00

    以下提要已相应更改并验证:

    <?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>Maxvite Store</MerchantIdentifier>
        </Header>
        <MessageType>OrderFulfillment</MessageType>
        <Message>
            <MessageID>1</MessageID>
            <OrderFulfillment>
                <AmazonOrderID>123-5454545-5454545</AmazonOrderID>
                <MerchantFulfillmentID>123456</MerchantFulfillmentID>
                <FulfillmentDate>2013-02-12T04:23:00+00:00</FulfillmentDate>
                <FulfillmentData>
                    <CarrierCode>UPS</CarrierCode>
                    <ShippingMethod>UPS Ground</ShippingMethod>
                    <ShipperTrackingNumber>123456</ShipperTrackingNumber>
                </FulfillmentData>
             </OrderFulfillment>
        </Message>
    </AmazonEnvelope>
    

    希望这会有所帮助。

    【讨论】:

    • @Hazzit-- 谢谢,你很棒,,,它有效,,,实际上,我在看亚马逊文档中的一个例子,完整的日期格式是 2013-02-03T03: 03:00 -- 这就是我使用错误格式并出现错误的原因 -- 现在问题已解决,,,再次感谢 :)
    • 在更新发货前是否应确认提要?
    【解决方案2】:

    您缺少&lt;item&gt; 部分:

    <Item>
         <MerchantOrderItemID>1234567</MerchantOrderItemID>
         <MerchantFulfillmentItemID>1234567</MerchantFulfillmentItemID>
         <Quantity>2</Quantity>
    </Item>
    

    虽然 XSD 显示 minOccurs="0",但它可能在某些情况下是必需的。 (我在一些提要中发现了一些奇怪的行为)

    话虽如此,MWS forum 报告了一个影响多人的相同问题,所以它可能是 MWS 的事情......

    【讨论】:

    • 我已经用 部分尝试过,但它不能解决问题。我在 MWS 论坛上看到过同样的问题,但那里没有解决方案,:(
    【解决方案3】:

    移除标签: 123456

    它应该是“AmazonOrderID”或“MerchantOrderID”。

    你可以不用罐子。

    【讨论】:

      【解决方案4】:

      我已将“CarrierCode”从“Fed Ex”更改为“FedEx” - 删除了空格,现在可以正常工作了。

      【讨论】:

        猜你喜欢
        • 2013-09-22
        • 1970-01-01
        • 1970-01-01
        • 2019-04-28
        • 1970-01-01
        • 2019-04-09
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        相关资源
        最近更新 更多