亚马逊MWS问题_POST_INVENTORY_AVAILABILITY_DATA_ [英] Amazon MWS problem with _POST_INVENTORY_AVAILABILITY_DATA_
本文介绍了亚马逊MWS问题_POST_INVENTORY_AVAILABILITY_DATA_的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从IM的 https://mws.amazon.com/doc/en_US/bde/feeds/v20090901/cSharp.html
我想更新产品的数量,我得到一个repsonse的提交的 和功能GetFeedSubmissionResult也返回的完成的。 如果我检查了塞勒中央,没有什么是happend。 我怎么能看到什么地方出了错更新量?
MarketplaceWebServiceConfig mwsConfig2 =新MarketplaceWebServiceConfig();
mwsConfig2.ServiceURL = AmazonEndpointUrl;
mwsConfig2.SetUserAgentHeader(AMService,1.01,C#,新的String [] {});
MarketplaceWebServiceClient mwsclient =新MarketplaceWebServiceClient(AmazonAccessKeyID,AmazonSecretAccessKey,mwsConfig2);
SubmitFeedRequest sfrequest =新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
用户代理:myProjectcomAMService / 1.01(LANGUAGE = C#)
内容类型:应用程序/八位字节流
内容-MD5:lHQpXA3bHBB5bXaPlu + 5 / G ==
主持人:mws.amazonaws.de
连接:保持活动
内容长度:534
< XML版本=1.0&GT?;
< AmazonEnvelope的xmlns:XSI =http://www.w3.org/2001/XMLSchema-instance的xmlns:XSD =http://www.w3.org/2001/XMLSchema>
<头>
< DocumentVersion> 1.01< / DocumentVersion>
< MerchantIdentifier> M_myProjectDOTC_11111< / MerchantIdentifier>
< /头>
<消息类型>库存< /消息类型>
< MarketplaceName> myProjectdotcom< / MarketplaceName>
<消息>
&其中;的MessageID→1&其中; /的MessageID>
<库存>
< SKU> 15084549< / SKU>
<数量> 2'; /数量>
< /库存和GT;
< /消息>
< / AmazonEnvelope>
响应:
HTTP / 1.1 200 OK
日期:星期二,2011年03月29 13时27分52秒格林尼治标准时间
服务器:服务器
内容类型:text / xml的
有所不同:接受编码,用户代理
内容长度:500
< XML版本=1.0&GT?;
< SubmitFeedResponse的xmlns =http://mws.amazonaws.com/doc/2009-01-01/>
< SubmitFeedResult>
< FeedSubmissionInfo>
< FeedSubmissionId> ...< / FeedSubmissionId>
< FeedType> _POST_INVENTORY_AVAILABILITY_DATA_< / FeedType>
< SubmittedDate> 2011-03-29T13:27:52 + 00:00< / SubmittedDate>
< FeedProcessingStatus> _SUBMITTED_< / FeedProcessingStatus>
< / FeedSubmissionInfo>< / SubmitFeedResult>< ResponseMetadata>
<请求ID> 65fbc17a-5f5b-4a27-B470-c8913715ef9f< /请求ID>
< / ResponseMetadata>
< / SubmitFeedResponse>
解决方案
Thread.sleep代码(240000);
的errorMessage =的String.Empty;
errorArticleIDList =新的排序列表<字符串,字符串>();
如果(GetSubmitFeedReport(feedSubmissionId,出来的errorMessage,出errorArticleIDList))
{
如果(的errorMessage!=的String.Empty)
{
_log.ErrorFormat(FEHLER UpdateAmazonArticleStock:{0}的errorMessage);
}
的foreach(AmazonArticleInfo amzArticle在rcavAmzArticleList)
{
如果(errorArticleIDList.Count大于0)
{
如果(!errorArticleIDList.ContainsKey(amzArticle.ArticleID.ToString()))
{
//模具Artikelbestände冯登relevanten冠词aktuallisieren,BZW deaktivierte冠词WIEDER aktivieren
// Bestand = 0 - > deaktiviert
如果(amzArticle.StockToLow&安培;!&安培;!amzArticle.NotAmazonRelevant)
{
amzArticle.AmazonActive = TRUE;
}
// ALLE nicht梅尔relevanten冠词亚马逊deaktivieren
其他
{
amzArticle.AmazonActive = FALSE;
}
dlAmazon.UpdateAmazonArticleAVDB(amzArticle);
}
}
其他
{
如果(的errorMessage ==的String.Empty)
{
dlAmazon.UpdateAmazonArticleAVDB(amzArticle);
}
}
}
}
im using the "C# Library for Batch Data Exchange Feeds" from https://mws.amazon.com/doc/en_US/bde/feeds/v20090901/cSharp.html
I want to update the quantity of a product, I get a repsonse with "SUBMITTED" and the function "GetFeedSubmissionResult" returns also "DONE". If I check the "Celler Central", nothing is happend. How can I see what went wrong updating the quantity?
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);
REQUEST:
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
<?xml version="1.0"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>M_myProjectDOTC_11111</MerchantIdentifier>
</Header>
<MessageType>Inventory</MessageType>
<MarketplaceName>myProjectdotcom</MarketplaceName>
<Message>
<MessageID>1</MessageID>
<Inventory>
<SKU>15084549</SKU>
<Quantity>2</Quantity>
</Inventory>
</Message>
</AmazonEnvelope>
RESPONSE:
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
<?xml version="1.0"?>
<SubmitFeedResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/">
<SubmitFeedResult>
<FeedSubmissionInfo>
<FeedSubmissionId>...</FeedSubmissionId>
<FeedType>_POST_INVENTORY_AVAILABILITY_DATA_</FeedType>
<SubmittedDate>2011-03-29T13:27:52+00:00</SubmittedDate>
<FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus>
</FeedSubmissionInfo></SubmitFeedResult><ResponseMetadata>
<RequestId>65fbc17a-5f5b-4a27-b470-c8913715ef9f</RequestId>
</ResponseMetadata>
</SubmitFeedResponse>
解决方案
Thread.Sleep(240000);
errorMessage = string.Empty;
errorArticleIDList = new SortedList<string, string>();
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);
}
}
}
}
这篇关于亚马逊MWS问题_POST_INVENTORY_AVAILABILITY_DATA_的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文