Find the answer to your question
Advanced Search
Question
Set keywords to an ItemID in findItemsAdvanced API request as below returns an empty result:
http://svcs.ebay.com/services/search/FindingService/v1?REPONSE-DATA-FORMAT=XML&REST-PAYLOAD=TRUE&OPERATION-NAME=findItemsAdvanced&SECURITY-APPNAME=YOUR APPID&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=XML&GLOBAL-ID=EBAY-DE&outputSelector=SellerInfo&keywords=390246218709 |
When searching the same ItemID in the site, the item is indeed returned: http://www.ebay.de/sch/i.html?_nkw=390246218709&_ddo=1&_ipg=100&_os=S%7CD&_pgn=1. What is the problem ?
Answer
When setting the keywords input parameter to an ItemID in findItemsAdvanced request, you must make sure the value of the GLOBAL-ID request parameter matches the GLOBAL-ID the item was listed in.
The item (390246218709) in question was listed in UK site but the GLOBAL-ID is set to DE in the request above. Hence no result is returned. Replacing the GLOBAL-ID-DE with GLOBAL-ID=EBAY-GB in the request as below will fix the problem:
http://svcs.ebay.com/services/search/FindingService/v1?REPONSE-DATA-FORMAT=XML&REST-PAYLOAD=TRUE&OPERATION-NAME=findItemsAdvanced&SECURITY-APPNAME=YOUR APPID&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=XML&GLOBAL-ID=EBAY-GB&outputSelector=SellerInfo&keywords=390246218709 |
However; if you know the ItemID, the best practice for retriving the item information is to use the Shopping.GetSingleItem call which returns the item data no matter which siteID you specifed in the query. Here is an sample request:
http://open.api.ebay.com/shopping?callname=GetSingleItem&appid=YOUR APPID&version=735&siteid=0&ItemID=390246218709&IncludeSelector=Details |