[英]Amazon MWS Fulfillment Feed - Error Response after processing “one or more items are invalid”
i submit a fulfillment feed and always get the same error (after requesting GetFeedSubmissionResult), my acknowledgement feed works and i can see the updated MerchantOrderId in Sellercentral. 我提交了一个履行提要,并且总是遇到相同的错误(请求GetFeedSubmissionResult之后),我的确认提要起作用了,并且我可以在Sellercentral中看到更新的MerchantOrderId。
The feed xml is: 提要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>***</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<AmazonOrderID>302-7735***-***</AmazonOrderID>
<MerchantFulfillmentID>121625</MerchantFulfillmentID>
<FulfillmentDate>2015-12-23T09:03:18+0100</FulfillmentDate>
<FulfillmentData>
<CarrierCode>DHL</CarrierCode>
<ShipperTrackingNumber>1667***</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<AmazonOrderItemCode>52269***</AmazonOrderItemCode>
<MerchantFulfillmentItemID>371064</MerchantFulfillmentItemID>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
The Response is: 响应是:
<?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.02</DocumentVersion>
<MerchantIdentifier>***</MerchantIdentifier>
</Header>
<MessageType>ProcessingReport</MessageType>
<Message>
<MessageID>1</MessageID>
<ProcessingReport>
<DocumentTransactionID>5004***</DocumentTransactionID>
<StatusCode>Complete</StatusCode>
<ProcessingSummary>
<MessagesProcessed>1</MessagesProcessed>
<MessagesSuccessful>0</MessagesSuccessful>
<MessagesWithError>1</MessagesWithError>
<MessagesWithWarning>0</MessagesWithWarning>
</ProcessingSummary>
<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>
</ProcessingReport>
</Message>
</AmazonEnvelope>
I tried with and without the <Item></Item>
Part, i tried without <MerchantFulfillmentID>
, i tried <MerchantOrderId>
instead of <AmazonOrderId>
... I also tried <ShippingMethod>Standard</ShippingMethod>
but i dont know if "Standard" is a valid value. 我尝试使用和不使用<Item></Item>
部分,我尝试不使用<MerchantFulfillmentID>
,尝试使用<MerchantOrderId>
而不是<AmazonOrderId>
...我也尝试过<ShippingMethod>Standard</ShippingMethod>
但我不知道如果“标准”是有效值。
So can anyone point me in the right direction - what am i missing here? 所以谁能指出我的正确方向-我在这里想念的是什么? Is there any neccessary action before the fulfillment feed that i might have missed? 在实现提要之前是否需要采取任何必要的措施? Is the <MerchantFulfillmentID>
just a value i can choose here or does it have to be set in some feed before? <MerchantFulfillmentID>
只是我可以在此处选择的一个值,还是必须在之前的某些Feed中设置?
Thanks! 谢谢!
Ok i figured it out - the Date Format seems to be the problem. 好的,我知道了-日期格式似乎是问题所在。
In the documentation i only find "ISO8601" but in PHP DateTime::ISO8601
will give a string like 2015-12-23T09:03:18+0100
while amazon seems only to accept +01:00
instead of +0100
. 在文档中,我仅找到“ ISO8601”,但在PHP中, DateTime::ISO8601
将给出类似于2015-12-23T09:03:18+0100
的字符串,而亚马逊似乎只接受+01:00
而不是+0100
。 In PHP this is DateTime::ATOM
and not ISO8601
. 在PHP中,这是DateTime::ATOM
而不是ISO8601
。
So in PHP Code you should use $date->format(DateTime::ATOM)
in the feeds. 因此,在PHP代码中,您应该在Feed中使用$date->format(DateTime::ATOM)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.