我正在使用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>
提前致谢
答案 0 :(得分:4)
您的Feed未针对XSD架构进行验证。您不能在同一个Feed中指定AmazonOrderID和MerchantOrderID(在OrderFulfillment.xsd中将其指定为 choice )
此外,您的FulfillmentDate应为2013-02-12T04:23:00+00:00
。
以下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>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>
希望这有帮助。
答案 1 :(得分:0)
您错过了<item>
部分:
<Item>
<MerchantOrderItemID>1234567</MerchantOrderItemID>
<MerchantFulfillmentItemID>1234567</MerchantFulfillmentItemID>
<Quantity>2</Quantity>
</Item>
虽然XSD显示minOccurs="0"
,但在某些情况下可能。 (我发现了一些奇怪的行为)
话虽如此,MWS forum报告了一个影响多人的相同问题,因此它可能是MWS的事情......
答案 2 :(得分:0)
删除标签: 123456
它应该是“AmazonOrderID”或“MerchantOrderID”。
你可以省下cantainer。
答案 3 :(得分:0)
我已将“CarrierCode”从“Fed Ex”更改为“FedEx” - 删除了空间,现在工作正常。