首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >_POST_INVENTORY_AVAILABILITY_DATA_中的Amazon问题

_POST_INVENTORY_AVAILABILITY_DATA_中的Amazon问题
EN

Stack Overflow用户
提问于 2011-03-31 12:31:20
回答 2查看 5K关注 0票数 2

我正在使用来自https://mws.amazon.com/doc/en_US/bde/feeds/v20090901/cSharp.html的“批处理数据交换提要的https://mws.amazon.com/doc/en_US/bde/feeds/v20090901/cSharp.html库”

我想更新一个产品的数量,我得到一个回复“提交”和函数"GetFeedSubmissionResult“也返回”完成“。如果我检查"Celler Central",什么都不会发生。怎样才能看到更新数量时出错的地方?

代码语言:javascript
复制
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);

请求:

代码语言:javascript
复制
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>

响应:

代码语言:javascript
复制
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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-30 12:55:24

代码语言:javascript
复制
    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);
                                    }
                                }
                            }
                        }
票数 1
EN

Stack Overflow用户

发布于 2011-05-03 08:07:29

您应该通过使用getfeedsubmissionresult操作来检查提要的ID状态。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5499886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档