Amazon MWS单Feed标记多订单已发货失败求助
解决亚马逊OrderFulfillment Feed多订单提交的XML格式错误
你遇到的问题核心在于XML结构不符合亚马逊Feed的规范要求——错误提示里的50001代码和“ill-formed XML”说明,根源是你把多个<OrderFulfillment>节点放在了同一个<Message>标签下,这是不被允许的。
亚马逊的OrderFulfillment Feed明确要求:每个订单必须对应独立的<Message>节点,单个<Message>只能包含一个<OrderFulfillment>内容。你的当前结构违反了这个规则,导致XML校验失败。
修正后的Feed示例
<?xml version="1.0" encoding="UTF-8"?> <AmazonEnvelope xsi:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>xxxxxxxxxxxx</MerchantIdentifier> </Header> <MessageType>OrderFulfillment</MessageType> <!-- 第一个订单的Message节点 --> <Message> <MessageID>1</MessageID> <OperationType>Update</OperationType> <OrderFulfillment> <AmazonOrderID>123-4567-78965</AmazonOrderID> <FulfillmentDate>2018-05-21T06:58:20Z</FulfillmentDate> <FulfillmentData> <CarrierName>xxxxx</CarrierName> <ShippingMethod>xxxx</ShippingMethod> <ShipperTrackingNumber>xxxxxx</ShipperTrackingNumber> </FulfillmentData> <Item> <AmazonOrderItemCode>1233</AmazonOrderItemCode> <Quantity>1</Quantity> </Item> </OrderFulfillment> </Message> <!-- 第二个订单的Message节点 --> <Message> <MessageID>2</MessageID> <OperationType>Update</OperationType> <OrderFulfillment> <AmazonOrderID>123-4567-78966</AmazonOrderID> <FulfillmentDate>2018-05-22T06:58:18Z</FulfillmentDate> <FulfillmentData> <CarrierName>xxxx</CarrierName> <ShippingMethod>xxxx</ShippingMethod> <ShipperTrackingNumber>xxxxxx</ShipperTrackingNumber> </FulfillmentData> <Item> <AmazonOrderItemCode>xxxxxxxxx</AmazonOrderItemCode> <Quantity>1</Quantity> </Item> </OrderFulfillment> </Message> </AmazonEnvelope>
关键注意事项
- 每个订单必须单独放在
<Message>节点内,且每个<Message>的<MessageID>要保证唯一(比如1、2、3...依次递增) - 确保每个
<Message>内部只有一个<OrderFulfillment>标签,不要嵌套多个订单数据 - 提交前可以用XML校验工具检查标签闭合情况,避免出现格式遗漏
内容的提问来源于stack exchange,提问作者Knight017
相关产品推荐
相关产品推荐

