亚马逊MWS XML如何指定发货模板

时间:2017-07-24 03:44:35

标签: amazon-mws

会欣赏一些示例XML。我只想指定哪个送货模板应该适用于任何给定的产品。

亚马逊的支持向我指出了https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_4_1/Override.xsd,但我没有看到如何指定送货模板。

我希望有一些简单的东西可以作为_POST_PRODUCT_PRICING_DATA_的一部分包含在内,例如

<shipping_template>template1</shipping_template>

但我没有看到。

谢谢!

2 个答案:

答案 0 :(得分:2)

您应该使用_POST_PRODUCT_DATA _

这是适用于amazon.com的xml示例:

    <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <Header>
    <DocumentVersion>1.01</DocumentVersion><MerchantIdentifier>XYZ</MerchantIdentifier></Header>
    <MessageType>Product</MessageType>
    <Message>
    <MessageID>1</MessageID>
    <OperationType>PartialUpdate</OperationType>
    <Product><SKU>YOURSKUNAME</SKU>
    <DescriptionData>
    <Title>Sometitle</Title><MerchantShippingGroupName>SHIPPINGTEMPLATENAME</MerchantShippingGroupName></DescriptionData>
    </Product>
    </Message>
    </AmazonEnvelope>

不幸的是,即使您只是想更改运输模板,看起来<Title>还是必须的。如果您想一次更改多个Skus,只需向Feed中添加更多<Message>

答案 1 :(得分:-1)

我使用此XML Feed来运送订单,它可以运行:

<?xml version="1.0"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>MERCHANT_IDENTIFIER</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>

<Message>
<MessageID>MESSAGE_ID2</MessageID>
<OrderFulfillment>
<AmazonOrderID>123-1234567-1234567</AmazonOrderID>
<FulfillmentDate>SHIP_DATE</FulfillmentDate> //$ship_date = date("c");
<FulfillmentData>
<CarrierCode>Royal Mail</CarrierCode>
</FulfillmentData>
</OrderFulfillment>
</Message>

<Message>
<MessageID>MESSAGE_ID2</MessageID>
<OrderFulfillment>
<AmazonOrderID>321-7654321-7654321</AmazonOrderID>
<FulfillmentDate>SHIP_DATE</FulfillmentDate> //$ship_date = date("c");
<FulfillmentData>
<CarrierCode>Royal Mail</CarrierCode>
</FulfillmentData>
</OrderFulfillment>
</Message>
.
.
.    
</AmazonEnvelope>


$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);

    $return_feed = invokeSubmitFeed($service, $request);

    fclose($feedHandle);