public ResultInfoEbayItemInfo GetItem(eBayRequestItemInfoData requestData) { var req = new GetItemRequestType { ItemID = requestData.ItemId }; var response = base.GetServiceData(Service.GetItem, req); var rez = new ResultInfoEbayItemInfo(response); rez.IncrementRequests("GetItem", req.ItemID); return(rez); }
public ItemType GetSoldItemSnapshot(string orderLineItemID) { try { var apiContext = _eBayApiContextProvider.GetAPIContext(); var getItemCall = new GetItemCall(apiContext); ItemType retItem = null; var orderLineItemIDSpilt = orderLineItemID.Split('-'); if (orderLineItemIDSpilt.Count() == 2) { var detailLevel = new DetailLevelCodeTypeCollection(); detailLevel.Add(DetailLevelCodeType.ItemReturnDescription); var getItemRequest = new GetItemRequestType() { ItemID = orderLineItemIDSpilt[0], TransactionID = orderLineItemIDSpilt[1], DetailLevel = detailLevel }; int failTimes = 0; bool isSuccess = false; do { try { var response = getItemCall.ExecuteRequest(getItemRequest) as GetItemResponseType; //lstSoldItem.Add(response.Item); isSuccess = true; retItem = response.Item; } catch (Exception ex) { failTimes++; LogManager.Instance.Error($"Get item itemID:{getItemRequest.ItemID}, transactionID:{getItemRequest.TransactionID} failed. {ex.ToString()}"); } }while (failTimes < 5 && !isSuccess); //if (!isSuccess) // throw new Exception($"Get item itemID:{getItemRequest.ItemID}, transactionID:{getItemRequest.TransactionID} failed for {failTimes} times."); } return(retItem); //return lstSoldItem.ToArray(); } catch (Exception ex) { LogManager.Instance.Error(ex.ToString()); throw ex; } }
public static GetItemResponseType GetItemRequest(string ItemID) { eBayAPIInterfaceService service = EbayCall.eBayServiceCall("GetItem"); GetItemRequestType request = new GetItemRequestType(); request.ItemID = ItemID; request.Version = "965"; request.IncludeItemSpecifics = true; request.DetailLevel = new DetailLevelCodeTypeCollection() { DetailLevelCodeType.ItemReturnDescription }; GetItemResponseType response = service.GetItem(request); //Console.WriteLine("====================================="); //Console.WriteLine("Item Iitle - {0}", response.Item.Title); //Console.WriteLine("Primary Category: {0}", response.Item.PrimaryCategory.CategoryName); //Console.WriteLine("====================================="); //Console.WriteLine("ItemID: {0}", response.Item.ItemID); //Console.WriteLine("Condition: {0}", response.Item.ConditionDisplayName); //Console.WriteLine("====================================="); //Console.WriteLine("Variation\n + {0}", string.Join("\n + ", response.Item.Variations.VariationSpecificsSet.ToArray().Select(x => x.Name + ": " + string.Join("| ", x.Value.ToArray())))); //Console.WriteLine("====================================="); //Console.WriteLine("Listing Duration: {0}", response.Item.ListingDuration); //Console.WriteLine("Start Price: {0} {1}", response.Item.StartPrice.Value, response.Item.Currency); //Console.WriteLine("Payment Type[0]: {0}", response.Item.PaymentMethods[0]); //Console.WriteLine("PayPal Email Address: {0}", response.Item.PayPalEmailAddress); //Console.WriteLine("Postal Code: {0}", response.Item.PostalCode); //Console.WriteLine("PictureURL:\n + {0}", string.Join("\n + ", response.Item.PictureDetails.PictureURL.ToArray())); //Console.WriteLine("====================================="); //Console.WriteLine("Item specifics\n + {0}", string.Join("\n + ", response.Item.ItemSpecifics.ToArray().Select(x => x.Name + ": " + string.Join("||", x.Value.ToArray())).ToList())); // ...Convert response object to JSON to see all return(response); }
public static void GetItemRequest(string itemID) { eBayAPIInterfaceService service = EbayCalls.EbayServiceCall("GetItem"); GetItemRequestType request = new GetItemRequestType(); request.Version = "949"; request.ItemID = itemID; GetItemResponseType response = service.GetItem(request); Console.WriteLine("======================="); Console.WriteLine("Item Title - {0}", response.Item.Title); Console.WriteLine("======================="); Console.WriteLine("ItemID: {0}", response.Item.ItemID); Console.WriteLine("Primary Category: {0}", response.Item.PrimaryCategory); Console.WriteLine("Listing Duration: {0}", response.Item.ListingDuration); Console.WriteLine("Start Price: {0}", response.Item.StartPrice); Console.WriteLine("Payment Type[0]: {0}", response.Item.PaymentMethods[0]); Console.WriteLine("PayPal Email Address: {0}", response.Item.PayPalEmailAddress); Console.WriteLine("Postal Code: {0}", response.Item.PostalCode); }
/// <summary> /// Retrieve item details. /// </summary> /// <param name="ItemID">eBay Item ID</param> public static void GetItemRequest(string ItemID) { eBayAPIInterfaceService service = EbayCalls.eBayServiceCall("GetItem"); GetItemRequestType request = new GetItemRequestType(); request.Version = "949"; request.ItemID = ItemID; GetItemResponseType response = service.GetItem(request); Console.WriteLine("====================================="); Console.WriteLine("Item Iitle - {0}", response.Item.Title); Console.WriteLine("====================================="); Console.WriteLine("ItemID: {0}", response.Item.ItemID); Console.WriteLine("Primary Category: {0}", response.Item.PrimaryCategory.CategoryName); Console.WriteLine("Listing Duration: {0}", response.Item.ListingDuration); Console.WriteLine("Start Price: {0} {1}", response.Item.StartPrice.Value, response.Item.Currency); Console.WriteLine("Payment Type[0]: {0}", response.Item.PaymentMethods[0]); Console.WriteLine("PayPal Email Address: {0}", response.Item.PayPalEmailAddress); Console.WriteLine("Postal Code: {0}", response.Item.PostalCode); // ...Convert response object to JSON to see all }
/// <summary> /// /// </summary> /// <param name="ApiContext">The <see cref="ApiCall.ApiContext"/> for this API Call of type <see cref="ApiContext"/>.</param> public GetItemCall(ApiContext ApiContext) { ApiRequest = new GetItemRequestType(); this.ApiContext = ApiContext; }
/// <summary> /// /// </summary> public GetItemCall() { ApiRequest = new GetItemRequestType(); }
/// <summary> /// Should be also using GetItemStatus /// </summary> /// <param name="itemID"></param> /// <param name="nbRetry"></param> /// <param name="returnJustPrice"></param> /// <returns></returns> private eBayItemData GetItemDetails(long itemID, int nbRetry, bool returnJustPrice) { Logger.CreateLog("Beginning__GetItemDetails", itemID.ToString(), null, EnumLogLevel.INFO); string callname = "GetItem"; try { this.BuildService(callname); GetItemRequestType request = new GetItemRequestType(); request.Version = _version; request.ItemID = itemID.ToString(); List<string> outputs = new List<string>(); outputs.Add("Item.SellingStatus.CurrentPrice"); outputs.Add("Item.ListingType"); if (!returnJustPrice) { outputs.Add("Item.ListingDetails.EndTime"); outputs.Add("Item.ListingDetails.ViewItemURL"); outputs.Add("Item.Title"); outputs.Add("Item.PictureDetails"); outputs.Add("Item.Description"); outputs.Add("Item.Seller.UserID"); outputs.Add("Item.ShippingDetails"); outputs.Add("Item.PaymentMethods"); } request.OutputSelector = outputs.ToArray(); GetItemResponseType response = this.service.GetItem(request); if (response.Ack == AckCodeType.Success) { if (response.Item.ListingType != ListingTypeCodeType.Chinese) throw new Exception("This listing type can't be sniped."); // http://developer.ebay.com/devzone/xml/docs/Reference/eBay/types/ListingTypeCodeType.html eBayItemData itemData = new eBayItemData(); if (response.Item.SellingStatus != null) itemData.ItemCurrentHighestBid = response.Item.SellingStatus.CurrentPrice.Value; if (response.Item.SellingStatus != null) itemData.ItemCurrencyCode = (EnumCurrencyCode)response.Item.SellingStatus.CurrentPrice.currencyID; itemData.ItemID = itemID; if (!returnJustPrice) { itemData.ItemEndDate = ServiceTimeZone.eBayDateTimeToUniversal(response.Item.ListingDetails.EndTime); itemData.ItemURL = response.Item.ListingDetails.ViewItemURL; itemData.ItemTitle = response.Item.Title; if (response.Item.PictureDetails != null && response.Item.PictureDetails.PictureURL != null && response.Item.PictureDetails.PictureURL.ToList().Count() > 0) itemData.ItemPictureURL = response.Item.PictureDetails.PictureURL[0]; if (string.IsNullOrEmpty(itemData.ItemPictureURL) && !string.IsNullOrEmpty(response.Item.PictureDetails.GalleryURL)) itemData.ItemPictureURL = response.Item.PictureDetails.GalleryURL; itemData.ItemDescription = response.Item.Description; itemData.ItemSellerID = response.Item.Seller.UserID; #warning to be verified itemData.ItemShippingInfo = response.Item.ShippingDetails.ToString(); itemData.ItemPaymentOptions = new List<string>(); foreach (BuyerPaymentMethodCodeType paymentMethod in response.Item.PaymentMethods.ToArray()) itemData.ItemPaymentOptions.Add(paymentMethod.ToString()); } Logger.CreateLog("Ending__GetItemDetails", itemID.ToString(), null, EnumLogLevel.INFO); return itemData; } else { string error = ""; foreach (ErrorType err in response.Errors) error += err.LongMessage; throw new Exception(error); } } catch (Exception ex) { if (nbRetry < ServiceParametersHelper.nbAPIRetry()) this.GetItemDetails(itemID, nbRetry + 1, returnJustPrice); else { Logger.CreateLog("Error__GetItemDetails", itemID.ToString(), ex, EnumLogLevel.ERROR); throw ex; } } throw new Exception("Unknow error when loading the item."); }