亚马逊 MWS Feed API 更新订单状态时出现问题

Waq*_*lik 2 amazon amazon-mws

我正在使用 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>
Run Code Online (Sandbox Code Playgroud)

这是我的 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>
Run Code Online (Sandbox Code Playgroud)

提前致谢

Haz*_*zit 5

您的提要未根据 XSD 架构进行验证。您不能在同一个提要中同时指定 AmazonOrderID 和 MerchantOrderID(它在OrderFulfillment.xsd 中指定为选择

此外,您的 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>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。