Find the answer to your question
Advanced Search
Question:
How do I find the items that ended successfully and also the ones that ended but did not sell?
Answer:
How do I find the items that ended successfully and also the ones that were not successful in selling?
Using GetSellerTransactions you can get all the transactions for the items that sold successfully. Since an item can have multiple transactions, as in the case of a Dutch Auction, you need to group them together to get all the transactions for an Item.
To get a list of the items that ended but were not sold, use GetSellerList and look for items with QuantitySold zero.
Here is an example using SDK 3.0. It contains pieces of the code behind a windows form GetEndedItems with two ListView Controls. lvSold displays the items that ended and sold successfully. lvItemsNotSold displays the items that ended and did not sell. The UI also contains two DateTimePicker controls to let the user select the dates range for which they want all the transactions and items that ended.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Configuration;
using eBay.Service.Call;
using eBay.Service.Util;
using eBay.Service.Core.Sdk;
using eBay.Service.Core.Soap;
namespace SDK3
{
///<summary>
///Summary description for GetEndedItems.
///</summary>
public classGetEndedItems : System.Windows.Forms.Form
{
//my variables
ApiContext context;
private voidGetEndedItems_Load(objectsender, System.EventArgs e)
{
//set the context
context = newApiContext();
//set the logging
string logFile =ConfigurationSettings.AppSettings["LogFile"];
context.ApiLogManager = newApiLogManager();
context.ApiLogManager.ApiLoggerList.Add(newFileLogger(logFile, true, true,true));
context.ApiLogManager.EnableLogging = true;
//set the version
context.Version = "413";
}
public ApiContextGetContext()
{
// Credentials for the call
context.ApiCredential.eBayToken =ConfigurationSettings.AppSettings["Token"];
context.SoapApiServerUrl = ConfigurationSettings.AppSettings["URL"];
return context;
}
private voidbtnGetEndedItems_Click(objectsender, System.EventArgs e)
{
bool blnHasMore = true;
//GET THE SUCCESSFUL ITEMS
int pageNumber =1;
GetSellerTransactionsCall getSellerTransactions = newGetSellerTransactionsCall(GetContext());
getSellerTransactions.DetailLevelList.Add(DetailLevelCodeType.ReturnAll);
//Pagination
getSellerTransactions.Pagination = newPaginationType();
getSellerTransactions.Pagination.EntriesPerPage = 200;
//Time filter
getSellerTransactions.ModTimeFilter = newTimeFilter(dtpFrom.Value, dtpTo.Value);
while(blnHasMore)
{
//Set the page number
getSellerTransactions.Pagination.PageNumber = pageNumber;
//Make the call
TransactionTypeCollection sellerList =getSellerTransactions.GetSellerTransactions(dtpFrom.Value, dtpTo.Value);
foreach(TransactionTypetransaction insellerList)
{
string[] output = new string[5];
output[0] = transaction.Item.ItemID;
output[1] = transaction.Item.Title;
output[2] = transaction.Buyer.UserID;
output[3] = transaction.QuantityPurchased.ToString();
output[4] = transaction.AmountPaid.ToString();
lvSold.Items.Add(newListViewItem(output));
}
if (!getSellerTransactions.ApiResponse.HasMoreTransactions)
blnHasMore = false;
else
pageNumber++;
}
//Sort the ListView to group all the transactions with the same ItemID together.
//Sorting is done by ItemID since it is the first Column in the ListViewControl
lvSold.Sort();
//GET THE UNSUCCESSFUL ITEMS
GetSellerListCall getSellerList = newGetSellerListCall(GetContext());
getSellerList.DetailLevelList.Add(DetailLevelCodeType.ReturnAll);
//Pagination
getSellerList.Pagination = newPaginationType();
getSellerList.Pagination.EntriesPerPage = 200;
pageNumber = 1;
//End Time filter
getSellerList.EndTimeFilter = newTimeFilter(dtpFrom.Value, dtpTo.Value);
blnHasMore = true;
while(blnHasMore)
{
//Set the page number
getSellerList.Pagination.PageNumber = pageNumber;
//Make the call
ItemTypeCollection sellerList = getSellerList.GetSellerList();
foreach (ItemTypeitem in sellerList)
{
string[] output = new string[4];
output[0] = item.ItemID;
output[1] = item.Title;
output[2] = item.SellingStatus.CurrentPrice.Value.ToString();
output[3] = item.SellingStatus.BidCount.ToString();
//Get the unsuccessful items
if (item.SellingStatus.QuantitySold== 0)
lvItemsNotSold.Items.Add(newListViewItem(output));
}
if(!getSellerList.ApiResponse.HasMoreItems)
blnHasMore = false;
else
pageNumber++;
}
}
}
}