Get all epID's compatible with a given listing's product...
Is there a way to get all epIDs compatible with a product in a given listing? I know GetItem will give me an ItemCompatibliy list, but this doesn't give me the epIDs for each item in the list. Just the list that would be displayed in the listing (Year, Make, Model, etc). Also, GetItem requires a bunch of authentication that I'd like to avoid since I'm just searching for public info. I don't mind doing multiple calls (maybe do a search on the listing id to get the Product ID and then do another call to return all the epIDs compatible with that ID?). Is there a simple way to do this?
Yes, the Master Powersports Vehicle List download is pretty much what I'm looking to cross-reference, but I want to just get the compatibility list from an active listing. So I feed it a listing ID and it feeds me the list of epIDs that are compatible with the product in that listing.
So, this it getting more confusing. Does "epID" refer to two different things? Because one seems to refer to the Product itself, and another seems to be a unique ID used in the compatibility listing. In the downloads found on this page:
http://pages.ebay.com/motors/compatibility/download.html, there is an epID number for each record. But when I try to look up compatibility using the getProductCompatibilities sample on this page:
https://ebaydts.com/eBayKBDetails?KBid=2089, that's not the right epID. All of the calls fail. Supposedly I can get the epID (which epID?) of the listing by returning the ProductID field using GetSingleItem or GetMultipleItems, but the documentation says that field is only "conditionally" returned, and so far none of the example listings I've tried (which all have compatibility info on them) return the ProductID field, even though I'm specifying "Details" in my IncludeSelector. Does anyone know more about this?
The problem with findItemAdvanced is that I'm not searching by keywords, I'm searching for a specific listing ID. I want to know the epIDs for all of the compatibilities listed in any given listing. It doesn't look like there's a way to do this using the API. I don't see any way to get an epID list from a listing ID (even using multiple calls). The only thing I've figured out so far is that I can use GetSingleItem with an IncludeSelector of "Compatibility" to get the list of Year/Make/Model/etc that is compatible with that listing, and then I'll have to do a db lookup on the Powersports csv file that is on the downloads page (linked to above) to get the epID.
My approach was to take the title of the item and then keyword search that with fIA. But I had to adjust it to get more results so it's not very clean to automate. **It doesn't look like there's a way to do this using the API. I don't see any way to get an epID list from a listing ID (even using multiple calls).** fIA returns ProductID when it is provided as with the sample. So it's an issue with how the sellers are listing. fIA using the MPN or UPC in the keywords field will give a list of matching items, which may or may not have the ProductID, depending on how the seller lists. And some items just won't be in eBay's product database, so the sellers can't provide the ID. GetProductCompatibilities takes UPC too. You can get that with GetSingleItem/GetMultipleItems using the ItemSpecifics selector. So that might be another way in if the seller provides it. You may have to resort to keyword selection, or the csv database xref you described, or just skip the listings that don't provide the required data.
OK, I will have to go with my two-pronged approach of getting the Compatibility list using GetSingleItem and then doing a db query on the csv file to get the epID for each item in the list. Based on what the user has told me, there is no way to "link" a compatibility list from a listing to a fixed MPN or UPC or epID or ProductID or anything else since the user manually populates the product compatibility list when they list the item. Even if they did specify a Product ID (which as you mentioned, they may or may not have), it's still possible that they would have selected a different Product Compatibility list for their listing. Thanks for all of the input. It looks like I'll just have to do this one the "hard" way.