会欣赏一些示例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>
但我没有看到。
谢谢!
答案 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);