【问题标题】:Amazon MWS API - SubmitFeed - OrderFulfillment - How to set ShipDate亚马逊 MWS API - SubmitFeed - OrderFulfillment - 如何设置 ShipDate
【发布时间】:2015-01-23 09:13:27
【问题描述】:

当我尝试确认发货时,我需要将发货日期设置为当前日期。但我不知道在哪里设置。在文档示例中没有此属性。
我的 XML 代码:

<?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.02</DocumentVersion>
        <MerchantIdentifier>XXXXXXXXXXXX</MerchantIdentifier>
    </Header>
    <MessageType>OrderFulfillment</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OperationType>Update</OperationType>
        <OrderFulfillment>
            <AmazonOrderID>103-8280673-5282661</AmazonOrderID>
            <FulfillmentDate>2015-01-22T06:30:00</FulfillmentDate>
            <FulfillmentData>
                <CarrierName>USPS</CarrierName>
                <ShipperTrackingNumber>1234567890</ShipperTrackingNumber>
            </FulfillmentData>
            <Item>
                <AmazonOrderItemCode>18531427322146</AmazonOrderItemCode>
                <Quantity>1</Quantity>
            </Item>
            <Item>
                <AmazonOrderItemCode>54419133385610</AmazonOrderItemCode>
                <Quantity>1</Quantity>
            </Item>
        </OrderFulfillment>
    </Message>
</AmazonEnvelope>  

我正在尝试将发货日期设置为 &lt;OrderFulfillment&gt;&lt;FulfillmentData&gt; - 没有结果。
我正在尝试像&lt;ShipDate&gt;&lt;ShippingDate&gt;&lt;ShippedDate&gt; 一样写它 - 没有结果。
返回错误:

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

也许有人知道如何设置发货日期?

【问题讨论】:

    标签: amazon amazon-mws


    【解决方案1】:

    以上内容应该可以解决。而且FulfillmentDate也可以是以下格式:

    <FulfillmentDate>2015-01-22T06:30:00Z</FulfillmentDate>
    

    并删除此标签:

    <OperationType>Update</OperationType>
    

    【讨论】:

    • 诸如“上述”之类的短语令人困惑,因为该网站会根据查看页面的人选择的排序顺序以及分配给每个答案的投票数对答案进行重新排序。答案按投票排序,每次加载页面时,投票数相同的答案会随机打乱。
    【解决方案2】:

    我使用相同的 XML 提要,但没有 &lt;OperationType&gt;Update&lt;/OperationType&gt;&lt;item&gt; 标签,因为如果您要运送整个订单,则不需要标签。

    然后我正在执行 PHP 代码

    $feed = trim($feed);
    
        $marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));
        $feedHandle = @fopen('php://temp', 'rw+');
        fwrite($feedHandle, $feed);
        rewind($feedHandle); //Sets file pointer at beginning of file
    
        $parameters = array(
            'Merchant' => $MERCHANT_ID,
            'MarketplaceIdList' => $marketplaceIdArray,
            'FeedType' => '_POST_ORDER_FULFILLMENT_DATA_',
            'FeedContent' => $feedHandle,
            'PurgeAndReplace' => false, //Leave this PurgeAndReplace to false so that it want replace whole product in amazon inventory
            'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true))
        );
    
        rewind($feedHandle);
        $request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
    

    【讨论】:

    • 嗨。我实际上知道如何将请求 XML 发送到亚马逊。我需要的一件事是如何在亚马逊更新发货日期。他们有发货详情,并且有以下字段:发货日期、承运人等。当我确认发货时,发货日期设置为订单创建日期。例如:订单于 1 月 21 日创建,我在 1 月 22 日确认,发货日期设置为 1 月 21 日。
    【解决方案3】:

    对此并不完全肯定,但我们的提要包含的内容是

    <FulfillmentDate>2015-01-22T06:30:00+00:00</FulfillmentDate>
    

    代替

    <FulfillmentDate>2015-01-22T06:30:00</FulfillmentDate>
    

    这是唯一与我们的不完全相同的地方。

    编辑 1:我撒谎了,你有一个我没有的标签。

    <OperationType>Update</OperationType>
    

    【讨论】:

    • 我试过&lt;FulfillmentDate&gt;2015-01-22T06:30:00+00:00&lt;/FulfillmentDate&gt; 没有&lt;OperationType&gt;Update&lt;/OperationType&gt; 发货日期是 1 月 21 日。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多