예제 #1
0
        public void SubmitFeed( SubmitFeedRequest request )
        {
            var response = this._client.SubmitFeed( request );
            if( !response.IsSetSubmitFeedResult() )
                throw new Exception( string.Format( "[amazon] SubmitFeed. Seller: {0}\nResult was not received", request.Merchant ) );

            var feedSubmissionId = response.SubmitFeedResult.FeedSubmissionInfo.FeedSubmissionId;
            while( !this.IsFeedSubmitted( this._client, feedSubmissionId, request.Merchant, request.MWSAuthToken ) )
                Thread.Sleep( TimeSpan.FromMinutes( 1 ) );

            this.CheckSubmissionResult( feedSubmissionId, request.Merchant, request.MWSAuthToken );
        }
예제 #2
0
        private SubmitFeedRequest InitInventoryFeedRequest( IEnumerable< AmazonInventoryItem > inventoryItems )
        {
            var xmlService = new InventoryFeedXmlService( inventoryItems, this._credentials.SellerId );
            var contentString = xmlService.GetDocumentString();
            var contentStream = xmlService.GetDocumentStream();

            AmazonLogger.Log.Trace( "[amazon] Inventory document for seller {0}\n{1}", this._credentials.SellerId, contentString );

            var request = new SubmitFeedRequest
            {
                MarketplaceIdList = new IdList { Id = this._credentials.AmazonMarketplace.GetMarketplaceIdAsList() },
                Merchant = this._credentials.SellerId,
                FeedType = FeedType.InventoryQuantityUpdate.Description,
                FeedContent = contentStream,
                ContentMD5 = MarketplaceWebServiceFeedsReportsClient.CalculateContentMD5( contentStream ),
                MWSAuthToken = this._credentials.MwsAuthToken
            };

            return request;
        }