Search code examples
c#ebay-api

How to request products with ebay api?


How can I call eBay and request it to return search results array?

This is what I came up with so far:

string endpoint = "https://api.ebay.com/wsapi";
string siteId = "0";
string appId = "*";     // use your app ID
string devId = "*";     // use your dev ID
string certId = "*";   // use your cert ID
string version = "405";

string requestURL = endpoint
+ "?callname=FindProducts"
+ "&siteid=" + siteId
+ "&appid=" + appId
+ "&version=" + version
+ "&routing=default"
+ "&AvailableItemsOnly=true"
+ "&QueryKeywords=nvidia"
+ "&itemFilter(0).name=ListingType"
+ "&itemFilter(0).value(0)=FixedPrice"
+ "&itemFilter(0).value(1)=Auction"
+ "&CategoryID=27386";

How can I wrap it into request and get a response in some-sort of data-structure? I have gotten the SDK.


Solution

  • I needed to use the eBay finding API;

        public GetItemCall getItemDataFromEbay(String itemId)
        {
            ApiContext oContext = new ApiContext();
            oContext.ApiCredential.ApiAccount.Developer = ""; // use your dev ID
            oContext.ApiCredential.ApiAccount.Application = ""; // use your app ID
            oContext.ApiCredential.ApiAccount.Certificate = ""; // use your cert ID
            oContext.ApiCredential.eBayToken = "";            //set the AuthToken
    
            //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 = "735";
    
            //very important, let's setup the logging
            ApiLogManager oLogManager = new ApiLogManager();
            oLogManager.ApiLoggerList.Add(new eBay.Service.Util.FileLogger("GetItem.log", true, true, true));
            oLogManager.EnableLogging = true;
            oContext.ApiLogManager = oLogManager;
    
            GetItemCall oGetItemCall = new GetItemCall(oContext);
    
            //' set the Version used in the call
            oGetItemCall.Version = oContext.Version;
    
            //' set the Site of the call
            oGetItemCall.Site = oContext.Site;
    
            //' enable the compression feature
            oGetItemCall.EnableCompression = true;
            oGetItemCall.DetailLevelList.Add(eBay.Service.Core.Soap.DetailLevelCodeType.ReturnAll);
            oGetItemCall.ItemID = itemId;
            try
            {
                oGetItemCall.GetItem(oGetItemCall.ItemID);
            }
            catch (Exception E)
            {
                Console.Write(E.ToString());
                oGetItemCall.GetItem(itemId);
            }
            GC.Collect();
            return oGetItemCall;
        }