ebay finding api finditemsbykeywords pagination problem - ebay-api

I tried the following calls:
https://svcs.ebay.com/services/search/FindingService/v1?X-EBAY-SOA-OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.13.0&keywords=waschbecken&RESPONSE-DATA-FORMAT=JSON&GLOBAL-ID=EBAY-DE&outputSelector(0)=ItemSpecifics&paginationInput.entriesPerPage=100&paginationInput.pageNumber=2
then on the ebay API explorer for the post request body,
<findItemsByKeywordsRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
<keywords>waschbecken</keywords>
<paginationInput>
<entriesPerPage>100</entriesPerPage>
<pageNumber>2</pageNumber>
</paginationInput>
</findItemsByKeywordsRequest>
but I do not get 100 searchResult count per page, in Postman I get 32 searchResult and in API explorer 56; furthermore 2nd page forward I do not get any searchResult count, I am trying to understand is there something wrong that I am writing in the call or there is some another problem or any parameter I am missing.
Thanks for the help.

I am also running into this problem. I am guessing that the pagination results are for the entire store, but not for the search by keywords....Seems like they dropped the ball on this.

Sorry, I did not update on the question, I forgot about it.
The problem was not with the pagination, the problem is the variants.
Simply explained, the output of the query doesn't count for the variants listed on the Ebay search by the same seller. If you have from a same seller the same product with the different variant, the query does not show the variants from those product from the same seller just different variant, as it would if you do an ebay search.
The mechanism of the query is different as that of the product search on Ebay.

Related

eBay API: get watch count for the particular item

I want to retrieve a number of watchers for the particular item using eBay API. I tried setting IncludeWatchCount to true in GetSingleItem request, but it appears that it works only for the seller of the item. Is it possible to get the number of watchers without being a seller?
I literally just joined in on SO with a new account because I lost my previous email with which I had the old one just to answer your question.
Anyway, If you call findItemsAdvanced, under listingInfo there is a watchCount field. It only works with findItemsAdvanced and not with any other.
[NOTE] The watchCount variable is not in the documentation. You should dump the response given by findItemsAdvanced, find listingInfo and it will be there

eBay SDK AddItem new ProductDetails EAN Requirements CANNOT List Or Revise

I've asked this question on an eBay forum already, but you have been very helpful, so probably worth posting here too.
Over the past few days I have realised that for many categories in which I sell, EANs are becoming required. I have been trying to update my eBay integration to take this into account, but have run into problems.
The additions to my code provide a workflow, and have problems as follows:
I sell musical instruments and accessories, so let's take a typical example a product "Boss CS-3 Compression Pedal", here's a link to a seller listing it: http://www.ebay.co.uk/itm/231547986565
The EAN is 4957054012854
I want to list this in "Musical Instruments > Guitars & Basses > Accessories > Effects Pedals" Category ID for this is: 41410
So, as I understand it, the first thing I need to know is whether EAN is a requirement for this Category. So, using the eBay .NET SDK I run a post to GetCategoryFeatures requesting the following feature IDs:
BrandMPNIdentifierEnabled,
EANEnabled,
UPCEnabled,
ISBNIdentifierEnabled
The response gives me, amongst other things:
EANEnabled: Required,
ISBNEnabled: Disabled,
UPCEnabled: Disabled,
BrandMPNIdentifierEnabled: False
This indicates to me that the EAN is a required ProductDetails value to include in the AddItem post.
So now I need to know if the EAN for this item exists in the eBay Catalogue, so I do a post to findItemsByProduct in the FindingService. I post to this URL:
http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=[MY-APP-ID]&OPERATION-NAME=findItemsByProduct&GLOBAL-ID=EBAY-GB&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=JSON&REST-PAYLOAD&productId.#type=EAN&productId=4957054012854&paginationInput.entriesPerPage=1
The responses ack field is "Failure", which, from what I have gleaned from various internet posts tells me that the item is not found in the eBay Catalogue. Why? I don't know, as the listing example I give above shows the EAN in the Item Specifics fields... but anyway...
So, armed with this information, I can find only the advice that I should replaced the EAN value with a value returned from a post to GeteBayDetails, the value being found as ProductIdentifierUnavailableText which, in my instance (for eBay UK) reads "Does not apply".
Now, I build my item as usual and add the ProductDetails value as follows (in VB.net):
Dim ProductDetails As New ProductListingDetailsType With {
.EAN = "Does not apply"
}
I also note the requirement for an MPN and add that (it returned an error if not provided)
When I list it, I get a Failure response with the following error:
No product found for ProductListingDetails.<EAN> <Does not apply>.
If I take away the ProductDetails I get:
Required field, EAN, is missing. Please add EAN to the listing and retry, so clearly, I do need to provide this information.
I get exactly the same problem trying to revise a listing.
I have tried adding the EAN in the ItemSpecifics object instead of ProductDetails, but that returns the "EAN Missing" error, and have tried alternating between including one, or the other, or both.
So my questions are:
1: Can someone please explain to me what I am doing wrong and how I go about rectifying it, because at the moment I cannot list, or revise items on eBay at all!
2: Since most of my suppliers provide a UPC, not an EAN, am I to take it literally that the idetifier to be provided MUST be an EAN? Or can I provide the UPC field instead?
Hope this saves someone some time on the addItem and reviseItem call (it took me a while to work out)
I managed to make it work using
<ProductListingDetails>
<EAN>Does not apply</EAN>
</ProductListingDetails>
You can add following into your XML
<VariationProductListingDetails>
<EAN>$EAN</EAN>
</VariationProductListingDetails>

REST API Explore: How to get same list ordered like the search on Foursquare Website?

I'm using the REST API (venues platform) to get a list of the top 5 venues per destination and category, like they are listed in the search results on the foursquare website.
For example i do the following request using the explore api endpoint:
https://api.foursquare.com/v2/venues/explore?near=zurich,CH&query=College %26 University
I'm using the apias a not authenticated. I do not pass a radius, to get the default radius.
Now the results from the api is as follows:
1. ETH Hönggerberg HIL
2. Technopark
3. Kantonsschule Stadelhofen
4. Zürcher Hochschule der Künste, Departement Musik
5. Klubschule Migros
When i search on the Foursquare Website as follow (not logged in!):
https://foursquare.com/explore?near=Zurich%2C%20CH&q=College%20%26%20University
I get the following results listed on the website:
1. SBB Digital
2. Technopark
3. ETH Hönggerberg HIL
4. EF Education First
5. Klubschule Migros
Is it possible to get the same list, as shown on the website (in the same order) also from the api? If yes? how can i do that? how do i call the api or how do i have to sort the results from the api to get the same list?
First i tried to sort the api results by the rating field, but that doesn't do the trick at all. Because in this example no one of the first 30 results does have any rating.
Thank you in advance for your help!
Greets
Tom
Make sure you are making the explore request with the same user account as on the web. Also, it looks like your queries do not match up exactly. One is "College & University and the other is "college" - try matching up the queries and seeing if the results change.
Well meanwhile i got the answer from foursquare.
The trick is very simple: just have to add the following parameters to the api call: time=any and day=any.
Then you get the results ordered exactly the same way as on the foursquare webpage (when not authenticated).
Thank you david from foursquare! :-)

eBay API change currency of returned price

Is there a way to get an item in another currency using the eBay API?
Very simple. All you have to do is change the site ID parameter. Since you didn't specify a language, I'm going to assume you're doing this HTTP-GET and just parsing the XML. The same principles will apply regardless of how you do it, programatically or not.
For a URL:
"http://open.api.ebay.com/shopping"
?callname=GetSingleItem
&responseencoding=XML
&appid=[APPID]
&siteid=2 <------------This, for example, is Canada's siteid. 0 is US. This will change the currency returned under < ConvertedCurrentPrice>
&version=839
&ItemID=181195344321
Put it all together and you get this copy/paste-friendly "http://open.api.ebay.com/shopping?callname=GetSingleItem&responseencoding=XML&appid=[APPID]&siteid=2&version=839&ItemID=181195344321"
Make sure to use your app ID as the parameter.
You can use this call for currency change:
Currency type can be changed in Ebay while listing an item using Add Item call in Ebay's trading API.
http://developer.ebay.com/devzone/xml/docs/Reference/eBay/extra/additms.rqst.additmrqstcntnr.itm.crrncy.html
Thanks CedCommerce
You can and it's actually very simple. You can use the Shopping API GetSingleItem.
Depending on what currency you are interested in, all you have to do is change the SiteID on which you are making the call. For example, if you want to get the price in EUR, you can set the SiteID to 3(UK), or 77(Germany). You will also have to set the IncludeSelector to "Details". This way, you will get a response that will contain the following fields.
<ConvertedCurrentPrice currencyID="GBP">68.55</ConvertedCurrentPrice>
<CurrentPrice currencyID="USD">92.9</CurrentPrice>
where the CurrentPrice is the original price of the listing, on the ebay site the listing was made, and the ConvertedCurrentPrice is the price of the listing on the site that corresponds to the SiteID you supplied.
You can see a full list of SiteIDs with the currencies they are using here

Magento API creates simple product correct -> but afterwards tells "101 Product not exists"

I try to add some pictures to a simple product, which was created (without error) by the API. The product is shown in frontend its functional with all wanted attributes. But if I check afterwards
$client->call($sessionId, 'product.info', '123456');
I get Soap Error: "101: Product doesn't exists". But its definitivly reachable over back- and frontend. (Cache cleared, Index refreshed)
Same issue, when I try to add media informations. On Confugurable Products the error don't show up and the pictures are added whithout any problems.
Maybe I messed something up with the attributes or the attribut sets... I don't know, where to watch first.
I'm at my php’s end!
Using Magento 1.6.0.0
Thank your for clarify me.
Best regards.
Since the ame API function ("product.info" in this case) receive as a parameter both SKU and ID, there is a problem if your are looking for SKU's which is numeric values.
To avoid this problem, we always adding space to the end of SKU before sending it to the API. For example, if your SKU is "123456" you should send "123456 " to the API.
Have you tried this call with your product id instead of the sku? I had some problems in the past with product calls and the sku.
I've installed 2 magentos and we always use numeric SKUs and I've always had this problem.
I've solved it by modifying the file:
app/code/core/Mage/Catalog/Model/Api/Resource.php
About line 122 that reads:
$product = Mage::helper('catalog/product')->getProduct($productId, $this->_getStoreId($store), $identifierType);
I've changed it to:
$product = Mage::helper('catalog/product')->getProduct($productId, $this->_getStoreId($store), 'sku');
This way the function always expects an SKU.