_POST_INVENTORY_AVAILABILITY_DATA_的亚马逊MWS问题

我使用“C#Library for Batch Data Exchange Feeds”来自https://mws.amazon.com/doc/en_US/bde/feeds/v20090901/cSharp.html

我想更新产品的数量,我得到一个带有“ SUBMITTED ”的回复,而function“GetFeedSubmissionResult”也返回“ DONE ”。 如果我检查“Celler Central”,则不会发生任何事情。 如何查看更新数量的错误?

MarketplaceWebServiceConfig mwsConfig2 = new MarketplaceWebServiceConfig(); mwsConfig2.ServiceURL = AmazonEndpointUrl; mwsConfig2.SetUserAgentHeader("AMService", "1.01", "C#", new string[] { }); MarketplaceWebServiceClient mwsclient = new MarketplaceWebServiceClient(AmazonAccessKeyID, AmazonSecretAccessKey, mwsConfig2); SubmitFeedRequest sfrequest = new SubmitFeedRequest(); sfrequest.Merchant = AmazonMerchantID; sfrequest.Marketplace = AmazonMarketplaceID; System.IO.MemoryStream stre = GetInventoryFeed("15084549", "2"); sfrequest.FeedContent = stre; sfrequest.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(sfrequest.FeedContent); sfrequest.FeedContent.Position = 0; sfrequest.FeedType = "_POST_INVENTORY_AVAILABILITY_DATA_"; InvokeSubmitFeed(mwsclient, sfrequest); 

请求:

 POST https://mws.amazonaws.de/?Action=SubmitFeed&Marketplace=...&Merchant=...&FeedType=_POST_INVENTORY_AVAILABILITY_DATA_&AWSAccessKeyId=...&Timestamp=2011-03-29T13%3A27%3A51.891Z&Version=2009-01-01&SignatureVersion=2&SignatureMethod=HmacSHA256&Signature=94hzhCLExKOFQqoMQgVuS1jfxaE8bOXnWJBgr%2FiTd7A%3D HTTP/1.1 User-Agent: myProjectcomAMService/1.01 (Language=C#) Content-Type: application/octet-stream Content-MD5: lHQpXA3bHBB5bXaPlu+5/g== Host: mws.amazonaws.de Connection: Keep-Alive Content-Length: 534   
1.01 M_myProjectDOTC_11111
Inventory myProjectdotcom 1 15084549 2

响应:

 HTTP/1.1 200 OK Date: Tue, 29 Mar 2011 13:27:52 GMT Server: Server Content-Type: text/xml Vary: Accept-Encoding,User-Agent Content-Length: 500     ... _POST_INVENTORY_AVAILABILITY_DATA_ 2011-03-29T13:27:52+00:00 _SUBMITTED_  65fbc17a-5f5b-4a27-b470-c8913715ef9f   

您应该使用getfeedsubmissionresult操作通过ID查看Feed的状态

  Thread.Sleep(240000); errorMessage = string.Empty; errorArticleIDList = new SortedList(); if (GetSubmitFeedReport(feedSubmissionId, out errorMessage, out errorArticleIDList)) { if (errorMessage != string.Empty) { _log.ErrorFormat("FEHLER UpdateAmazonArticleStock: {0}", errorMessage); } foreach (AmazonArticleInfo amzArticle in rcavAmzArticleList) { if (errorArticleIDList.Count > 0) { if (!errorArticleIDList.ContainsKey(amzArticle.ArticleID.ToString())) { // Die Artikelbestände von den relevanten Artikel aktuallisieren, bzw deaktivierte Artikel wieder aktivieren // Bestand = 0 --> deaktiviert if (!amzArticle.StockToLow && !amzArticle.NotAmazonRelevant) { amzArticle.AmazonActive = true; } // Alle nicht mehr relevanten Artikel in amazon deaktivieren else { amzArticle.AmazonActive = false; } dlAmazon.UpdateAmazonArticleAVDB(amzArticle); } } else { if (errorMessage == string.Empty) { dlAmazon.UpdateAmazonArticleAVDB(amzArticle); } } } }