/// <summary> /// retrieve the next batch of list items and if there are more items to retrieve /// /// </summary> /// <param name="service">Instance of MarketplaceWebService service</param> /// <param name="request">GetFeedSubmissionListByNextTokenRequest request</param> public static async Task InvokeGetFeedSubmissionListByNextToken(MarketplaceWebService service, GetFeedSubmissionListByNextTokenRequest request) { try { GetFeedSubmissionListByNextTokenResponse response = await service.GetFeedSubmissionListByNextToken(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" GetFeedSubmissionListByNextTokenResponse"); if (response.IsSetGetFeedSubmissionListByNextTokenResult()) { Console.WriteLine(" GetFeedSubmissionListByNextTokenResult"); GetFeedSubmissionListByNextTokenResult getFeedSubmissionListByNextTokenResult = response.GetFeedSubmissionListByNextTokenResult; if (getFeedSubmissionListByNextTokenResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", getFeedSubmissionListByNextTokenResult.NextToken); } if (getFeedSubmissionListByNextTokenResult.IsSetHasNext()) { Console.WriteLine(" HasNext"); Console.WriteLine(" {0}", getFeedSubmissionListByNextTokenResult.HasNext); } List <FeedSubmissionInfo> feedSubmissionInfoList = getFeedSubmissionListByNextTokenResult.FeedSubmissionInfo; foreach (FeedSubmissionInfo feedSubmissionInfo in feedSubmissionInfoList) { Console.WriteLine(" FeedSubmissionInfo"); if (feedSubmissionInfo.IsSetFeedSubmissionId()) { Console.WriteLine(" FeedSubmissionId"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedSubmissionId); } if (feedSubmissionInfo.IsSetFeedType()) { Console.WriteLine(" FeedType"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedType); } if (feedSubmissionInfo.IsSetSubmittedDate()) { Console.WriteLine(" SubmittedDate"); Console.WriteLine(" {0}", feedSubmissionInfo.SubmittedDate); } if (feedSubmissionInfo.IsSetFeedProcessingStatus()) { Console.WriteLine(" FeedProcessingStatus"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedProcessingStatus); } if (feedSubmissionInfo.IsSetStartedProcessingDate()) { Console.WriteLine(" StartedProcessingDate"); Console.WriteLine(" {0}", feedSubmissionInfo.StartedProcessingDate); } if (feedSubmissionInfo.IsSetCompletedProcessingDate()) { Console.WriteLine(" CompletedProcessingDate"); Console.WriteLine(" {0}", feedSubmissionInfo.CompletedProcessingDate); } } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); } catch (MarketplaceWebServiceException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata); } }
/// <summary> /// Logs various information about an API response. /// <param name="bwsApiName">A string of the API called.</param> /// <param name="code">The return code from the API called.</param> /// <param name="metadata">The metadata contained in the response object returned from the API called.</param> /// </summary> public static void logResponse(String bwsApiName, String code, ResponseMetadata metadata) { logMessage("...{0} returned \"{1}\"", bwsApiName, code); if (metadata != null) { /* * Converting response.metadata.executionTime (which is in nano-seconds) into seconds by * multiplying it by 10^-9. */ logMessage("Execution Time: {0:0.0000} seconds", (metadata.executionTime * Math.Pow(10, -9))); logMessage("Request UID: {0}", metadata.requestUid); } }
/// <summary> /// If ListOrders returns a nextToken, thus indicating that there are more orders /// than returned that matched the given filter criteria, ListOrdersByNextToken /// can be used to retrieve those other orders using that nextToken. /// /// </summary> /// <param name="service">Instance of MarketplaceWebServiceOrders service</param> /// <param name="request">ListOrdersByNextTokenRequest request</param> public static void InvokeListOrdersByNextToken(MarketplaceWebServiceOrders service, ListOrdersByNextTokenRequest request) { try { ListOrdersByNextTokenResponse response = service.ListOrdersByNextToken(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" ListOrdersByNextTokenResponse"); if (response.IsSetListOrdersByNextTokenResult()) { Console.WriteLine(" ListOrdersByNextTokenResult"); ListOrdersByNextTokenResult listOrdersByNextTokenResult = response.ListOrdersByNextTokenResult; if (listOrdersByNextTokenResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", listOrdersByNextTokenResult.NextToken); } if (listOrdersByNextTokenResult.IsSetCreatedBefore()) { Console.WriteLine(" CreatedBefore"); Console.WriteLine(" {0}", listOrdersByNextTokenResult.CreatedBefore); } if (listOrdersByNextTokenResult.IsSetLastUpdatedBefore()) { Console.WriteLine(" LastUpdatedBefore"); Console.WriteLine(" {0}", listOrdersByNextTokenResult.LastUpdatedBefore); } if (listOrdersByNextTokenResult.IsSetOrders()) { Console.WriteLine(" Orders"); OrderList orders = listOrdersByNextTokenResult.Orders; List <Order> orderList = orders.Order; foreach (Order order in orderList) { Console.WriteLine(" Order"); if (order.IsSetAmazonOrderId()) { Console.WriteLine(" AmazonOrderId"); Console.WriteLine(" {0}", order.AmazonOrderId); } if (order.IsSetSellerOrderId()) { Console.WriteLine(" SellerOrderId"); Console.WriteLine(" {0}", order.SellerOrderId); } if (order.IsSetPurchaseDate()) { Console.WriteLine(" PurchaseDate"); Console.WriteLine(" {0}", order.PurchaseDate); } if (order.IsSetLastUpdateDate()) { Console.WriteLine(" LastUpdateDate"); Console.WriteLine(" {0}", order.LastUpdateDate); } if (order.IsSetOrderStatus()) { Console.WriteLine(" OrderStatus"); Console.WriteLine(" {0}", order.OrderStatus); } if (order.IsSetFulfillmentChannel()) { Console.WriteLine(" FulfillmentChannel"); Console.WriteLine(" {0}", order.FulfillmentChannel); } if (order.IsSetSalesChannel()) { Console.WriteLine(" SalesChannel"); Console.WriteLine(" {0}", order.SalesChannel); } if (order.IsSetOrderChannel()) { Console.WriteLine(" OrderChannel"); Console.WriteLine(" {0}", order.OrderChannel); } if (order.IsSetShipServiceLevel()) { Console.WriteLine(" ShipServiceLevel"); Console.WriteLine(" {0}", order.ShipServiceLevel); } if (order.IsSetShippingAddress()) { Console.WriteLine(" ShippingAddress"); Address shippingAddress = order.ShippingAddress; if (shippingAddress.IsSetName()) { Console.WriteLine(" Name"); Console.WriteLine(" {0}", shippingAddress.Name); } if (shippingAddress.IsSetAddressLine1()) { Console.WriteLine(" AddressLine1"); Console.WriteLine(" {0}", shippingAddress.AddressLine1); } if (shippingAddress.IsSetAddressLine2()) { Console.WriteLine(" AddressLine2"); Console.WriteLine(" {0}", shippingAddress.AddressLine2); } if (shippingAddress.IsSetAddressLine3()) { Console.WriteLine(" AddressLine3"); Console.WriteLine(" {0}", shippingAddress.AddressLine3); } if (shippingAddress.IsSetCity()) { Console.WriteLine(" City"); Console.WriteLine(" {0}", shippingAddress.City); } if (shippingAddress.IsSetCounty()) { Console.WriteLine(" County"); Console.WriteLine(" {0}", shippingAddress.County); } if (shippingAddress.IsSetDistrict()) { Console.WriteLine(" District"); Console.WriteLine(" {0}", shippingAddress.District); } if (shippingAddress.IsSetStateOrRegion()) { Console.WriteLine(" StateOrRegion"); Console.WriteLine(" {0}", shippingAddress.StateOrRegion); } if (shippingAddress.IsSetPostalCode()) { Console.WriteLine(" PostalCode"); Console.WriteLine(" {0}", shippingAddress.PostalCode); } if (shippingAddress.IsSetCountryCode()) { Console.WriteLine(" CountryCode"); Console.WriteLine(" {0}", shippingAddress.CountryCode); } if (shippingAddress.IsSetPhone()) { Console.WriteLine(" Phone"); Console.WriteLine(" {0}", shippingAddress.Phone); } } if (order.IsSetOrderTotal()) { Console.WriteLine(" OrderTotal"); Money orderTotal = order.OrderTotal; if (orderTotal.IsSetCurrencyCode()) { Console.WriteLine(" CurrencyCode"); Console.WriteLine(" {0}", orderTotal.CurrencyCode); } if (orderTotal.IsSetAmount()) { Console.WriteLine(" Amount"); Console.WriteLine(" {0}", orderTotal.Amount); } } if (order.IsSetNumberOfItemsShipped()) { Console.WriteLine(" NumberOfItemsShipped"); Console.WriteLine(" {0}", order.NumberOfItemsShipped); } if (order.IsSetNumberOfItemsUnshipped()) { Console.WriteLine(" NumberOfItemsUnshipped"); Console.WriteLine(" {0}", order.NumberOfItemsUnshipped); } if (order.IsSetPaymentExecutionDetail()) { Console.WriteLine(" PaymentExecutionDetail"); PaymentExecutionDetailItemList paymentExecutionDetail = order.PaymentExecutionDetail; List <PaymentExecutionDetailItem> paymentExecutionDetailItemList = paymentExecutionDetail.PaymentExecutionDetailItem; foreach (PaymentExecutionDetailItem paymentExecutionDetailItem in paymentExecutionDetailItemList) { Console.WriteLine(" PaymentExecutionDetailItem"); if (paymentExecutionDetailItem.IsSetPayment()) { Console.WriteLine(" Payment"); Money payment = paymentExecutionDetailItem.Payment; if (payment.IsSetCurrencyCode()) { Console.WriteLine(" CurrencyCode"); Console.WriteLine(" {0}", payment.CurrencyCode); } if (payment.IsSetAmount()) { Console.WriteLine(" Amount"); Console.WriteLine(" {0}", payment.Amount); } } if (paymentExecutionDetailItem.IsSetPaymentMethod()) { Console.WriteLine(" PaymentMethod"); Console.WriteLine(" {0}", paymentExecutionDetailItem.PaymentMethod); } } } if (order.IsSetPaymentMethod()) { Console.WriteLine(" PaymentMethod"); Console.WriteLine(" {0}", order.PaymentMethod); } if (order.IsSetMarketplaceId()) { Console.WriteLine(" MarketplaceId"); Console.WriteLine(" {0}", order.MarketplaceId); } if (order.IsSetBuyerEmail()) { Console.WriteLine(" BuyerEmail"); Console.WriteLine(" {0}", order.BuyerEmail); } if (order.IsSetBuyerName()) { Console.WriteLine(" BuyerName"); Console.WriteLine(" {0}", order.BuyerName); } if (order.IsSetShipmentServiceLevelCategory()) { Console.WriteLine(" ShipmentServiceLevelCategory"); Console.WriteLine(" {0}", order.ShipmentServiceLevelCategory); } if (order.IsSetShippedByAmazonTFM()) { Console.WriteLine(" ShippedByAmazonTFM"); Console.WriteLine(" {0}", order.ShippedByAmazonTFM); } if (order.IsSetTFMShipmentStatus()) { Console.WriteLine(" TFMShipmentStatus"); Console.WriteLine(" {0}", order.TFMShipmentStatus); } } } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); Console.WriteLine(); } catch (MarketplaceWebServiceOrdersException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata); } }
/// <summary> /// returns the number of feeds matching all of the specified criteria /// /// </summary> /// <param name="service">Instance of MarketplaceWebService service</param> /// <param name="request">GetFeedSubmissionCountRequest request</param> public static async Task InvokeRequestReport(MarketplaceWebService service, RequestReportRequest request) { try { RequestReportResponse response = await service.RequestReport(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" RequestReportResponse"); if (response.IsSetRequestReportResult()) { Console.WriteLine(" RequestReportResult"); RequestReportResult requestReportResult = response.RequestReportResult; ReportRequestInfo reportRequestInfo = requestReportResult.ReportRequestInfo; Console.WriteLine(" ReportRequestInfo"); if (reportRequestInfo.IsSetReportProcessingStatus()) { Console.WriteLine(" ReportProcessingStatus"); Console.WriteLine(" {0}", reportRequestInfo.ReportProcessingStatus); } if (reportRequestInfo.IsSetReportRequestId()) { Console.WriteLine(" ReportRequestId"); Console.WriteLine(" {0}", reportRequestInfo.ReportRequestId); } if (reportRequestInfo.IsSetReportType()) { Console.WriteLine(" ReportType"); Console.WriteLine(" {0}", reportRequestInfo.ReportType); } if (reportRequestInfo.IsSetStartDate()) { Console.WriteLine(" StartDate"); Console.WriteLine(" {0}", reportRequestInfo.StartDate); } if (reportRequestInfo.IsSetEndDate()) { Console.WriteLine(" EndDate"); Console.WriteLine(" {0}", reportRequestInfo.EndDate); } if (reportRequestInfo.IsSetSubmittedDate()) { Console.WriteLine(" SubmittedDate"); Console.WriteLine(" {0}", reportRequestInfo.SubmittedDate); } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); } catch (MarketplaceWebServiceException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata); } }
/// <summary> /// Get information about the supply of seller-owned inventory in /// Amazon's fulfillment network. "Supply" is inventory that is available /// for fulfilling (a.k.a. Multi-Channel Fulfillment) orders. In general /// this includes all sellable inventory that has been received by Amazon, /// that is not reserved for existing orders or for internal FC processes, /// and also inventory expected to be received from inbound shipments. /// This operation provides 2 typical usages by setting different /// ListInventorySupplyRequest value: /// /// 1. Set value to SellerSkus and not set value to QueryStartDateTime, /// this operation will return all sellable inventory that has been received /// by Amazon's fulfillment network for these SellerSkus. /// 2. Not set value to SellerSkus and set value to QueryStartDateTime, /// This operation will return information about the supply of all seller-owned /// inventory in Amazon's fulfillment network, for inventory items that may have had /// recent changes in inventory levels. It provides the most efficient mechanism /// for clients to maintain local copies of inventory supply data. /// Only 1 of these 2 parameters (SellerSkus and QueryStartDateTime) can be set value for 1 request. /// If both with values or neither with values, an exception will be thrown. /// This operation is used with ListInventorySupplyByNextToken /// to paginate over the resultset. Begin pagination by invoking the /// ListInventorySupply operation, and retrieve the first set of /// results. If more results are available,continuing iteratively requesting further /// pages results by invoking the ListInventorySupplyByNextToken operation (each time /// passing in the NextToken value from the previous result), until the returned NextToken /// is null, indicating no further results are available. /// /// </summary> /// <param name="service">Instance of FBAInventoryServiceMWS service</param> /// <param name="request">ListInventorySupplyRequest request</param> public static void InvokeListInventorySupply(FBAInventoryServiceMWS service, ListInventorySupplyRequest request) { try { ListInventorySupplyResponse response = service.ListInventorySupply(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" ListInventorySupplyResponse"); if (response.IsSetListInventorySupplyResult()) { Console.WriteLine(" ListInventorySupplyResult"); ListInventorySupplyResult listInventorySupplyResult = response.ListInventorySupplyResult; if (listInventorySupplyResult.IsSetInventorySupplyList()) { Console.WriteLine(" InventorySupplyList"); InventorySupplyList inventorySupplyList = listInventorySupplyResult.InventorySupplyList; List <InventorySupply> memberList = inventorySupplyList.member; foreach (InventorySupply member in memberList) { Console.WriteLine(" member"); if (member.IsSetSellerSKU()) { Console.WriteLine(" SellerSKU"); Console.WriteLine(" {0}", member.SellerSKU); } if (member.IsSetFNSKU()) { Console.WriteLine(" FNSKU"); Console.WriteLine(" {0}", member.FNSKU); } if (member.IsSetASIN()) { Console.WriteLine(" ASIN"); Console.WriteLine(" {0}", member.ASIN); } if (member.IsSetCondition()) { Console.WriteLine(" Condition"); Console.WriteLine(" {0}", member.Condition); } if (member.IsSetTotalSupplyQuantity()) { Console.WriteLine(" TotalSupplyQuantity"); Console.WriteLine(" {0}", member.TotalSupplyQuantity); } if (member.IsSetInStockSupplyQuantity()) { Console.WriteLine(" InStockSupplyQuantity"); Console.WriteLine(" {0}", member.InStockSupplyQuantity); } if (member.IsSetEarliestAvailability()) { Console.WriteLine(" EarliestAvailability"); Timepoint earliestAvailability = member.EarliestAvailability; if (earliestAvailability.IsSetTimepointType()) { Console.WriteLine(" TimepointType"); Console.WriteLine(" {0}", earliestAvailability.TimepointType); } if (earliestAvailability.IsSetDateTime()) { Console.WriteLine(" DateTime"); Console.WriteLine(" {0}", earliestAvailability.DateTime); } } if (member.IsSetSupplyDetail()) { Console.WriteLine(" SupplyDetail"); InventorySupplyDetailList supplyDetail = member.SupplyDetail; List <InventorySupplyDetail> member1List = supplyDetail.member; foreach (InventorySupplyDetail member1 in member1List) { Console.WriteLine(" member"); if (member1.IsSetQuantity()) { Console.WriteLine(" Quantity"); Console.WriteLine(" {0}", member1.Quantity); } if (member1.IsSetSupplyType()) { Console.WriteLine(" SupplyType"); Console.WriteLine(" {0}", member1.SupplyType); } if (member1.IsSetEarliestAvailableToPick()) { Console.WriteLine(" EarliestAvailableToPick"); Timepoint earliestAvailableToPick = member1.EarliestAvailableToPick; if (earliestAvailableToPick.IsSetTimepointType()) { Console.WriteLine(" TimepointType"); Console.WriteLine(" {0}", earliestAvailableToPick.TimepointType); } if (earliestAvailableToPick.IsSetDateTime()) { Console.WriteLine(" DateTime"); Console.WriteLine(" {0}", earliestAvailableToPick.DateTime); } } if (member1.IsSetLatestAvailableToPick()) { Console.WriteLine(" LatestAvailableToPick"); Timepoint latestAvailableToPick = member1.LatestAvailableToPick; if (latestAvailableToPick.IsSetTimepointType()) { Console.WriteLine(" TimepointType"); Console.WriteLine(" {0}", latestAvailableToPick.TimepointType); } if (latestAvailableToPick.IsSetDateTime()) { Console.WriteLine(" DateTime"); Console.WriteLine(" {0}", latestAvailableToPick.DateTime); } } } } } } if (listInventorySupplyResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", listInventorySupplyResult.NextToken); } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } } catch (FBAInventoryServiceMWSException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); } }
/// <summary> /// retrieve the next batch of list items and if there are more items to retrieve /// /// </summary> /// <param name="service">Instance of MarketplaceWebService service</param> /// <param name="request">GetReportScheduleListByNextTokenRequest request</param> public static void InvokeGetReportScheduleListByNextToken(MarketplaceWebService service, GetReportScheduleListByNextTokenRequest request) { try { GetReportScheduleListByNextTokenResponse response = service.GetReportScheduleListByNextToken(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" GetReportScheduleListByNextTokenResponse"); if (response.IsSetGetReportScheduleListByNextTokenResult()) { Console.WriteLine(" GetReportScheduleListByNextTokenResult"); GetReportScheduleListByNextTokenResult getReportScheduleListByNextTokenResult = response.GetReportScheduleListByNextTokenResult; if (getReportScheduleListByNextTokenResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", getReportScheduleListByNextTokenResult.NextToken); } if (getReportScheduleListByNextTokenResult.IsSetHasNext()) { Console.WriteLine(" HasNext"); Console.WriteLine(" {0}", getReportScheduleListByNextTokenResult.HasNext); } List <ReportSchedule> reportScheduleList = getReportScheduleListByNextTokenResult.ReportSchedule; foreach (ReportSchedule reportSchedule in reportScheduleList) { Console.WriteLine(" ReportSchedule"); if (reportSchedule.IsSetReportType()) { Console.WriteLine(" ReportType"); Console.WriteLine(" {0}", reportSchedule.ReportType); } if (reportSchedule.IsSetSchedule()) { Console.WriteLine(" Schedule"); Console.WriteLine(" {0}", reportSchedule.Schedule); } if (reportSchedule.IsSetScheduledDate()) { Console.WriteLine(" ScheduledDate"); Console.WriteLine(" {0}", reportSchedule.ScheduledDate); } } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); } catch (MarketplaceWebServiceException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata); } }
//private const string serviceUrl = "https://mws.amazonservices.com"; //private const string accessKeyId = "accessKey"; //private const string merchantId = "merchant"; //private const string marketplaceId = "marketplace"; //private const string secretAccessKey = "secretKey"; static void Main(string[] args) { Console.WriteLine("==========================================="); Console.WriteLine("Welcome to Marketplace Web Service Samples!"); Console.WriteLine("==========================================="); Console.WriteLine("To get started:"); Console.WriteLine("==========================================="); Console.WriteLine(" - Fill in your AWS credentials"); Console.WriteLine(" - Uncomment sample you're interested in trying"); Console.WriteLine(" - Set request with desired parameters"); Console.WriteLine(" - Hit F5 to run!"); Console.WriteLine(); Console.WriteLine("==========================================="); Console.WriteLine("Samples Output"); Console.WriteLine("==========================================="); Console.WriteLine(); /************************************************************************ * Access Key ID and Secret Acess Key ID, obtained from: * http://aws.amazon.com * * IMPORTANT: Your Secret Access Key is a secret, and should be known * only by you and AWS. You should never include your Secret Access Key * in your requests to AWS. You should never e-mail your Secret Access Key * to anyone. It is important to keep your Secret Access Key confidential * to protect your account. ***********************************************************************/ String accessKeyId = "<Your AWS Access Key>"; String secretAccessKey = "<Your AWS Secret Key>"; /************************************************************************ * Instantiate Implementation of Marketplace Web Service ***********************************************************************/ //MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig(); /************************************************************************ * The application name and version are included in each MWS call's * HTTP User-Agent field. These are required fields. ***********************************************************************/ const string applicationName = "<Your Application Name>"; const string applicationVersion = "<Your Application Version>"; //MarketplaceWebService service = // new MarketplaceWebServiceClient( // accessKeyId, // secretAccessKey, // applicationName, // applicationVersion, // config); /************************************************************************ * All MWS requests must contain the seller's merchant ID and * marketplace ID. ***********************************************************************/ const string merchantId = "<Your Merchant ID>"; const string marketplaceId = "<Your Marketplace ID>"; /************************************************************************ * Uncomment to configure the client instance. Configuration settings * include: * * - MWS Service endpoint URL * - Proxy Host and Proxy Port * - User Agent String to be sent to Marketplace Web Service service * ***********************************************************************/ MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig(); //config.ProxyHost = "https://PROXY_URL"; //config.ProxyPort = 9090; // // IMPORTANT: Uncomment out the appropiate line for the country you wish // to sell in: // // United States: config.ServiceURL = "https://mws.amazonservices.com"; // // United Kingdom: // config.ServiceURL = "https://mws.amazonservices.co.uk"; // // Germany: // config.ServiceURL = "https://mws.amazonservices.de"; // // France: // config.ServiceURL = "https://mws.amazonservices.fr"; // // Japan: // config.ServiceURL = "https://mws.amazonservices.jp"; // // China: // config.ServiceURL = "https://mws.amazonservices.com.cn"; // // Canada: // config.ServiceURL = "https://mws.amazonservices.ca"; // // Italy: // config.ServiceURL = "https://mws.amazonservices.it"; // //config.SetUserAgentHeader( // applicationName, // applicationVersion, // "C#", // "<Parameter 1>", "<Parameter 2>"); //MarketplaceWebService service = new MarketplaceWebServiceClient(accessKeyId, secretAccessKey, config); /************************************************************************ * Uncomment to try out Mock Service that simulates Marketplace Web Service * responses without calling Marketplace Web Service service. * * Responses are loaded from local XML files. You can tweak XML files to * experiment with various outputs during development * * XML files available under MarketplaceWebService\Mock tree * ***********************************************************************/ IMarketplaceWebServiceClient service = new MockMarketplaceWebServiceClient(); /************************************************************************ * Uncomment to invoke Get Report Action ***********************************************************************/ { //GetReportRequest request = new GetReportRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional ////Note that depending on the type of report being downloaded, a report can reach ////sizes greater than 1GB.For this reason we recommend that you _always_ program to //// MWS in a streaming fashion.Otherwise, as your business grows you may silently reach //// the in-memory size limit and have to re-work your solution. //// NOTE: Due to Content - MD5 validation, the stream must be read / write. // request.ReportId = "REPORT_ID"; //request.Report = File.Open("report.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite); //GetReportSample.InvokeGetReport(service, request); } /************************************************************************ * Uncomment to invoke Get Report Schedule Count Action ***********************************************************************/ { //GetReportScheduleCountRequest request = new GetReportScheduleCountRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //// @TODO: set additional request parameters here //GetReportScheduleCountSample.InvokeGetReportScheduleCount(service, request); } /************************************************************************ * Uncomment to invoke Get Report Request List By Next Token Action ***********************************************************************/ { //GetReportRequestListByNextTokenRequest request = new GetReportRequestListByNextTokenRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.NextToken = "NextToken from GetReportRequestList"; // @TODO: set additional request parameters here //GetReportRequestListByNextTokenSample.InvokeGetReportRequestListByNextToken(service, request); } /************************************************************************ * Uncomment to invoke Update Report Acknowledgements Action ***********************************************************************/ { //UpdateReportAcknowledgementsRequest request = new UpdateReportAcknowledgementsRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.WithReportIdList(new IdList().WithId("REPORT_ID")); // @TODO: set additional request parameters here //UpdateReportAcknowledgementsSample.InvokeUpdateReportAcknowledgements(service, request); } /************************************************************************ * Uncomment to invoke Submit Feed Action ***********************************************************************/ { // MWS exclusively offers a streaming interface for uploading your feeds. This is because // feed sizes can grow to the 1GB+ range - and as your business grows you could otherwise // silently reach the feed size where your in-memory solution will no longer work, leaving you // puzzled as to why a solution that worked for a long time suddenly stopped working though // you made no changes. For the same reason, we strongly encourage you to generate your feeds to // local disk then upload them directly from disk to MWS. var amazonProduct = GenerateProduct(); var response = SubmitFeedSender.SendAmazonFeeds(new MockMarketplaceWebServiceClient(), new List <Product> { amazonProduct }, AmazonEnvelopeMessageType.Product, AmazonFeedType._POST_PRODUCT_DATA_, merchantId, marketplaceId, config.ServiceURL, accessKeyId, secretAccessKey); if (response != null) { if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } if (response.IsSetSubmitFeedResult()) { Console.WriteLine(" SubmitFeedResult"); var submitFeedResult = response.SubmitFeedResult; if (submitFeedResult.FeedSubmissionInfo.IsSetFeedSubmissionId()) { Console.WriteLine(" SubmissionId"); Console.WriteLine(" {0}", submitFeedResult.FeedSubmissionInfo.FeedSubmissionId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); } } /************************************************************************ * Uncomment to invoke Get Report Count Action ***********************************************************************/ { // GetReportCountRequest request = new GetReportCountRequest(); // request.Merchant = merchantId; // request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here // GetReportCountSample.InvokeGetReportCount(service, request); } /************************************************************************ * Uncomment to invoke Get Feed Submission List By Next Token Action ***********************************************************************/ { //GetFeedSubmissionListByNextTokenRequest request = new GetFeedSubmissionListByNextTokenRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.NextToken = "NextToken from GetFeedSubmissionList"; // @TODO: set additional request parameters here //GetFeedSubmissionListByNextTokenSample.InvokeGetFeedSubmissionListByNextToken(service, request); } /************************************************************************ * Uncomment to invoke Cancel Feed Submissions Action ***********************************************************************/ { //CancelFeedSubmissionsRequest request = new CancelFeedSubmissionsRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //CancelFeedSubmissionsSample.InvokeCancelFeedSubmissions(service, request); } /************************************************************************ * Uncomment to invoke Request Report Action ***********************************************************************/ { //RequestReportRequest request = new RequestReportRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.MarketplaceIdList = new IdList(); //request.MarketplaceIdList.Id = new List<string>( new string [] { marketplaceId } ); //request.ReportType = "Desired Report Type"; // @TODO: set additional request parameters here //request.ReportOptions = "ShowSalesChannel=true"; //RequestReportSample.InvokeRequestReport(service, request); } /************************************************************************ * Uncomment to invoke Get Feed Submission Count Action ***********************************************************************/ { //GetFeedSubmissionCountRequest request = new GetFeedSubmissionCountRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetFeedSubmissionCountSample.InvokeGetFeedSubmissionCount(service, request); } /************************************************************************ * Uncomment to invoke Cancel Report Requests Action ***********************************************************************/ { //CancelReportRequestsRequest request = new CancelReportRequestsRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //CancelReportRequestsSample.InvokeCancelReportRequests(service, request); } /************************************************************************ * Uncomment to invoke Get Report List Action ***********************************************************************/ { //GetReportListRequest request = new GetReportListRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetReportListSample.InvokeGetReportList(service, request); } /************************************************************************ * Uncomment to invoke Get Feed Submission Result Action ***********************************************************************/ { //GetFeedSubmissionResultRequest request = new GetFeedSubmissionResultRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // Note that depending on the size of the feed sent in, and the number of errors and warnings, // the result can reach sizes greater than 1GB. For this reason we recommend that you _always_ // program to MWS in a streaming fashion. Otherwise, as your business grows you may silently reach // the in-memory size limit and have to re-work your solution. // NOTE: Due to Content-MD5 validation, the stream must be read/write. //request.FeedSubmissionId = "FEED_SUBMISSION_ID"; //request.FeedSubmissionResult = File.Open("feedSubmissionResult.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite); //GetFeedSubmissionResultSample.InvokeGetFeedSubmissionResult(service, request); } /************************************************************************ * Uncomment to invoke Get Feed Submission List Action ***********************************************************************/ { //GetFeedSubmissionListRequest request = new GetFeedSubmissionListRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetFeedSubmissionListSample.InvokeGetFeedSubmissionList(service, request); } /************************************************************************ * Uncomment to invoke Get Report Request List Action ***********************************************************************/ { //GetReportRequestListRequest request = new GetReportRequestListRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetReportRequestListSample.InvokeGetReportRequestList(service, request); } /************************************************************************ * Uncomment to invoke Get Report Schedule List By Next Token Action ***********************************************************************/ { //GetReportScheduleListByNextTokenRequest request = new GetReportScheduleListByNextTokenRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.NextToken = "NextToken from GetReportScheduleList"; // @TODO: set additional request parameters here //GetReportScheduleListByNextTokenSample.InvokeGetReportScheduleListByNextToken(service, request); } /************************************************************************ * Uncomment to invoke Get Report List By Next Token Action ***********************************************************************/ { // GetReportListByNextTokenRequest request = new GetReportListByNextTokenRequest(); // request.Merchant = merchantId; // request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.NextToken = "NextToken from GetReportList"; // @TODO: set additional request parameters here // GetReportListByNextTokenSample.InvokeGetReportListByNextToken(service, request); } /************************************************************************ * Uncomment to invoke Manage Report Schedule Action ***********************************************************************/ { //ManageReportScheduleRequest request = new ManageReportScheduleRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional //request.ReportType = "Report Type"; //request.Schedule = "Schedule"; // @TODO: set additional request parameters here //ManageReportScheduleSample.InvokeManageReportSchedule(service, request); } /************************************************************************ * Uncomment to invoke Get Report Request Count Action ***********************************************************************/ { //GetReportRequestCountRequest request = new GetReportRequestCountRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetReportRequestCountSample.InvokeGetReportRequestCount(service, request); } /************************************************************************ * Uncomment to invoke Get Report Schedule List Action ***********************************************************************/ { //GetReportScheduleListRequest request = new GetReportScheduleListRequest(); //request.Merchant = merchantId; //request.MWSAuthToken = "<Your MWS Auth Token>"; // Optional // @TODO: set additional request parameters here //GetReportScheduleListSample.InvokeGetReportScheduleList(service, request); } Console.WriteLine(); Console.WriteLine("==========================================="); Console.WriteLine("End of output. You can close this window"); Console.WriteLine("==========================================="); System.Threading.Thread.Sleep(50000); }