亚马逊 MWS Fulfillment Feed - 处理“一件或多件商品无效”后的错误响应

Posted

技术标签:

【中文标题】亚马逊 MWS Fulfillment Feed - 处理“一件或多件商品无效”后的错误响应【英文标题】:Amazon MWS Fulfillment Feed - Error Response after processing "one or more items are invalid" 【发布时间】:2016-03-29 23:07:53 【问题描述】:

我提交履行提要并总是收到相同的错误(在请求 GetFeedSubmissionResult 之后),我的确认提要有效,并且我可以在 Sellercentral 中看到更新的 MerchantOrderId。

提要 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>

响应是:

<?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>

我尝试使用和不使用&lt;Item&gt;&lt;/Item&gt; 部分,我尝试不使用&lt;MerchantFulfillmentID&gt;,我尝试使用&lt;MerchantOrderId&gt; 而不是&lt;AmazonOrderId&gt;... 我也试过&lt;ShippingMethod&gt;Standard&lt;/ShippingMethod&gt;,但我不知道“标准”是否是一个有效值。

那么任何人都可以指出我正确的方向 - 我在这里错过了什么? 在我可能错过的履行提要之前是否有任何必要的行动? &lt;MerchantFulfillmentID&gt; 只是我可以在此处选择的值还是必须在某些提要中设置?

谢谢!

【问题讨论】:

【参考方案1】:

好的,我想通了 - 日期格式似乎是问题所在。

在文档中我只找到“ISO8601”,但在 phpDateTime::ISO8601 会给出一个类似 2015-12-23T09:03:18+0100 的字符串,而亚马逊似乎只接受 +01:00 而不是 +0100。在 PHP 中这是DateTime::ATOM 而不是ISO8601

所以在 PHP 代码中你应该在提要中使用$date-&gt;format(DateTime::ATOM)

【讨论】:

以上是关于亚马逊 MWS Fulfillment Feed - 处理“一件或多件商品无效”后的错误响应的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊 MWS:OrderAdjustment Feed 问题、部分取消

亚马逊 MWS Feed API 更新订单状态的问题

亚马逊 MWS API 中的 RequestThrottling 问题

如何为 MWS 上的产品 Feed 提交创建 Item 节点?

使用 python-amazon-mws API 的 Amazon Feed

使用亚马逊商城网络服务 (MWS) 的许可