Update Merchant Order ID in Amazon Marketplace

不羁的心 提交于 2020-01-04 14:16:03

问题


I need to update MerchantOrderID in Amazon Marketplace via Amazon MWS API using C#.

So, first I created XML file like:

<?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>M_STORE_3918753</MerchantIdentifier>
  </Header>
  <MessageType>OrderAcknowledgement</MessageType>
  <Message>
    <MessageID>1</MessageID>
    <OrderAcknowledgement>
      <AmazonOrderID>104-9209939-0469021</AmazonOrderID>
      <MerchantOrderID>100828163</MerchantOrderID>
      <StatusCode>Success</StatusCode>
      <Item>
        <AmazonOrderItemCode>11111111111111</AmazonOrderItemCode>
        <MerchantOrderItemID>111111</MerchantOrderItemID>
        <AmazonOrderItemCode>22222222222222</AmazonOrderItemCode>
        <MerchantOrderItemID>222222222</MerchantOrderItemID>
      </Item>
    </OrderAcknowledgement>
  </Message>
</AmazonEnvelope>

then I try to call Amazon MWS SubmitFeed:

SubmitFeedRequest request = new SubmitFeedRequest();
        request.Merchant = merchantId;
        request.MarketplaceIdList = new IdList();
        request.MarketplaceIdList.Id = new List<string>(new string[] { marketplaceId });

        request.FeedContent = File.Open(path, FileMode.Open, FileAccess.Read);

        request.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(request.FeedContent);
        request.FeedContent.Position = 0;

        request.FeedType = "_POST_ORDER_ACKNOWLEDGEMENT_DATA_";

        MarketplaceWebService.MarketplaceWebService serviceFeed = new MarketplaceWebServiceClient(
                accessKeyId,
                secretAccessKey,
                applicationName,
                applicationVersion,
                configFeed);

        SubmitFeedResponse response = serviceFeed.SubmitFeed(request);

it succesfully submits but when I open my order in Amazon (sellercentral.amazon.com) it says "none saved": Your Merchant Order ID: # none saved

Who can help me, what is wrong or what should I do?

Thanks!


回答1:


It's actually right code. Somehow amazon doesn't mark some special orders or marks them later.




回答2:


For those who want to update merchant order id in multiple orders at once, here is example (also works in amazon mws scratchpad):

<?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>ALVH0CYWPBFNA</MerchantIdentifier>
  </Header>
  <MessageType>OrderAcknowledgement</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OrderAcknowledgement>
        <AmazonOrderID>000-0000000-0000000</AmazonOrderID>
        <MerchantOrderID>YOUR_MERCHANT_ORDER_ID</MerchantOrderID>
        <StatusCode>Success</StatusCode>
        </OrderAcknowledgement>
    </Message>
    <Message>
        <MessageID>2</MessageID>
        <OrderAcknowledgement>
        <AmazonOrderID>000-0000000-0000000</AmazonOrderID>
        <MerchantOrderID>YOUR_MERCHANT_ORDER_ID</MerchantOrderID>
        <StatusCode>Success</StatusCode>
        </OrderAcknowledgement>
    </Message>
</AmazonEnvelope>


来源:https://stackoverflow.com/questions/13367842/update-merchant-order-id-in-amazon-marketplace

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!