private void BtnGetItemTransactions_Click(object sender, System.EventArgs e) { try { LstTransactions.Items.Clear(); GetItemTransactionsCall apicall = new GetItemTransactionsCall(Context); TransactionTypeCollection transactions = apicall.GetItemTransactions(TxtItemId.Text, DatePickModFrom.Value, DatePickModTo.Value); if (transactions.Count == 0) { MessageBox.Show("There is no transaction"); return; } foreach (TransactionType trans in transactions) { string[] listparams = new string[6]; listparams[0] = trans.TransactionID; listparams[1] = trans.TransactionPrice.Value.ToString(); listparams[2] = trans.AmountPaid.Value.ToString(); listparams[3] = trans.QuantityPurchased.ToString(); listparams[4] = trans.Buyer.UserID; listparams[5] = trans.BestOfferSale.ToString(); ListViewItem vi = new ListViewItem(listparams); LstTransactions.Items.Add(vi); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void BtnGetItemTransactions_Click(object sender, EventArgs e) { try { LstTransactions.Items.Clear(); GetItemTransactionsCall apicall = new GetItemTransactionsCall(Program.GetApiContext()); TransactionTypeCollection transactions = apicall.GetItemTransactions(TxtItemId.Text, DatePickModFrom.Value, DatePickModTo.Value); if (transactions.Count == 0) { MessageBox.Show("There is no transaction"); return; } //Input data for tag <ItemID> is invalid or missing. Please check API documentation. //No<ItemID> exists or < ItemID > is specified as an empty tag in the request. foreach (TransactionType trans in transactions) { string[] listparams = new string[6]; listparams[0] = trans.TransactionID; listparams[1] = trans.TransactionPrice.Value.ToString(); listparams[2] = trans.AmountPaid.Value.ToString(); listparams[3] = trans.QuantityPurchased.ToString(); listparams[4] = trans.Buyer.UserID; listparams[5] = trans.BestOfferSale.ToString(); ListViewItem vi = new ListViewItem(listparams); LstTransactions.Items.Add(vi); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static void GetItemTransactions(ApiContext apiContext, string ItemID) { Stopwatch s = Stopwatch.StartNew(); GetItemTransactionsCall apiCall = new GetItemTransactionsCall(apiContext); Blink(); apiCall.DetailLevelList = new DetailLevelCodeTypeCollection(new DetailLevelCodeType[] { DetailLevelCodeType.ReturnAll }); apiCall.IncludeContainingOrder = true; apiCall.IncludeFinalValueFee = true; apiCall.Pagination = new PaginationType() { EntriesPerPage = 100, PageNumber = 1 }; apiContext.ApiLogManager.RecordMessage(String.Format("Getting item transactions - START, page {0}", 1)); //apiCall.ApiRequest.OutputSelector = new StringCollection(new string[] { "PaginationResult", "OrderID", "OrderLineItemID", "SellingManagerSalesRecordNumber", "TransactionArray.Transaction.Buyer.UserID", "Item.ItemID", "TransactionID", "TransactionArray.Transaction.QuantityPurchased"}); int Page = 1; do { TransactionTypeCollection items = apiCall.GetItemTransactions(ItemID, new TimeFilter() { TimeFrom = DateTime.Now.Subtract(TimeDiff).Subtract(new TimeSpan(29, 0, 0, 0)), TimeTo = DateTime.Now.Subtract(TimeDiff) }); apiContext.ApiLogManager.RecordMessage(String.Format("Getting item list - SUCCESS, page {0}", Page)); Blink(); foreach (TransactionType i in items) { apiContext.ApiLogManager.RecordMessage(String.Format("TransactionID {0}\tItemID {1}\tItem Title{2}", i.ContainingOrder != null ? i.ContainingOrder.OrderID : i.OrderLineItemID, apiCall.ItemID, apiCall.Item.Title)); } Blink(); Page++; } while (Page <= apiCall.PaginationResult.TotalNumberOfPages); apiContext.ApiLogManager.RecordMessage("Getting Transactions - SUCCESS"); eBayClass.Metrics.GenerateReport(eBayClass.LogManager.ApiLoggerList[0]); eBayClass.LogManager.RecordMessage("Done; ms: " + s.ElapsedMilliseconds.ToString()); Blink(); }
public void GetItemTransactions() { Assert.IsNotNull(TestData.NewItem, "Failed because no item available -- requires successful AddItem test"); GetItemTransactionsCall api = new GetItemTransactionsCall(this.apiContext); api.ItemID = TestData.NewItem.ItemID; // Time filter System.DateTime calTo = DateTime.Now; System.DateTime calFrom = calTo.AddHours(-1); TimeFilter tf = new TimeFilter(calFrom, calTo); api.ModTimeFrom = calFrom; api.ModTimeTo = calTo; // Pagination PaginationType pt = new PaginationType(); pt.EntriesPerPage = 100; pt.EntriesPerPageSpecified = true; pt.PageNumber = 1; pt.PageNumberSpecified = true; api.Pagination = pt; TransactionTypeCollection trans = api.GetItemTransactions(api.ItemID, api.ModTimeFrom, api.ModTimeTo); // NO transaction should be returned. Assert.IsTrue(trans == null || trans.Count == 0); }
// https://ebaydts.com/eBayKBDetails?KBid=1937 // // also look at GetOrderTransactions() public static TransactionTypeCollection GetItemTransactions(string itemId, DateTime ModTimeFrom, DateTime ModTimeTo) { try { ApiContext oContext = new ApiContext(); string appID = ConfigurationManager.AppSettings["AppID"]; string devID = ConfigurationManager.AppSettings["DevID"]; string certID = ConfigurationManager.AppSettings["CertID"]; string userToken = ConfigurationManager.AppSettings["Token"]; //set the dev,app,cert information oContext.ApiCredential.ApiAccount.Developer = devID; oContext.ApiCredential.ApiAccount.Application = appID; oContext.ApiCredential.ApiAccount.Certificate = certID; oContext.ApiCredential.eBayToken = userToken; //set the endpoint (sandbox) use https://api.ebay.com/wsapi for production oContext.SoapApiServerUrl = "https://api.ebay.com/wsapi"; //set the Site of the Context oContext.Site = eBay.Service.Core.Soap.SiteCodeType.US; //the WSDL Version used for this SDK build oContext.Version = "817"; //very important, let's setup the logging ApiLogManager oLogManager = new ApiLogManager(); oLogManager.ApiLoggerList.Add(new eBay.Service.Util.FileLogger("GetItemTransactions.log", false, false, true)); oLogManager.EnableLogging = true; oContext.ApiLogManager = oLogManager; GetItemTransactionsCall oGetItemTransactionsCall = new GetItemTransactionsCall(oContext); //' set the Version used in the call oGetItemTransactionsCall.Version = oContext.Version; //' set the Site of the call oGetItemTransactionsCall.Site = oContext.Site; //' enable the compression feature oGetItemTransactionsCall.EnableCompression = true; DateTime CreateTimeFromPrev; //ModTimeTo set to the current time //ModTimeTo = DateTime.Now.ToUniversalTime(); //ts1 is 15 mins //TimeSpan ts1 = new TimeSpan(9000000000); //CreateTimeFromPrev = ModTimeTo.AddDays(-30); //Set the ModTimeFrom the last time you made the call minus 2 minutes //ModTimeFrom = CreateTimeFromPrev; //set ItemID and <DetailLevel>ReturnAll<DetailLevel> oGetItemTransactionsCall.ItemID = itemId; oGetItemTransactionsCall.DetailLevelList.Add(DetailLevelCodeType.ReturnAll); var r = oGetItemTransactionsCall.GetItemTransactions(itemId, ModTimeFrom, ModTimeTo); return(r); } catch (Exception exc) { dsutil.DSUtil.WriteFile(Log_File, "ERROR on item id: " + itemId + " " + exc.Message); } return(null); }