Make a single request containing many requests to eBay API - ebay-api

I send a request to eBay API to get my eBay buying. I also want to get some extra information about each item, let's say that's itemCondition and itemCategory (parent and child). GetMyeBayBuyingResponse doesn't contain these fields. So I have to call GetItemRequest for each returned item to get them.
But it's very bad, it would take much more traffic and time. Is there any more efficient way do it?
I also read somewhere at eBay that there was a kind of ability to pack many requests to one request and then send it to reduce traffic and effort. Is it true?
P.S. Note that I'm not asking about itemCondition and itemCategory fields only. There might be any other fields. The goal is make only one request containing many calls.

There are calls with item data:
If you're the seller of the items, ebay proposes to use GetSellerList.
If you want all items you recently bid on / bought, you can use GetBidderList.
For sellers with many products, ebay offers LMS (Marge Merchant Services), but i thinks this is mostly applicable for sellers, I think there are no calls to retrieve bought items.

Related

VirtoCommerce API getting item prices

I am using VirtoCommerce 2.9 and have some questions regarding the API and what would be the best way to get all the information I need, while keeping the number of API requests down.
Right now I am using the endpoint /api/catalog/search to find items that matches a number of attributes. But the response does not include prices and product texts. Both I would like to present to the end user. What would be the correct or best way to retrieve this information?
Thanks!
Cheers!
Currently search service does not return the description and price for the products.
To get this details you need to use separate queries
api/catalog/product/ids?respGroup='ItemSmall'
to get product detail with description and
api/pricing/evaluate
to retrieve actual products prices. You can call them in parallel for better performance.
Be aware to use WithProperties response group because it may cause
perfomance problem. Anyway product returned with all properties values
and this 'response group' is only responsible for retrieving properties meta-information
(as possible dictionary values, multilingual, required or optional flag etc) this information often used in admin area and in storefront almost not used.
Indexed search module will be serious changed in future versions, and you will be able to have more control over the product details in the search index.

Bigcommerce API Get All Skus

I'm trying to load all Skus from a Bigcommerce store. I first tried to use the API path /products/skus/count to get a count of the number of skus in the store as outlined in the BC documentation at https://developer.bigcommerce.com/api/stores/v2/products/skus However, the /products/skus/count endpoint is returning {"count":0}. I know for a fact that I have hundreds of products with a sku. Ultimately I'd like to get a list or array of just the skus in my store. Has anyone else been able to use this API or know a way to load all the skus in my store without loading all the product object graphs as that is too slow of a solution as I don't need all the additional information nor do I want to page through all my products since it's limited to 250 items at a time. All of my other API calls are working great so I'm questioning whether there is an issue with the specific API.
Are you try to get the "sku" property for all products or the SKU resource associated with a product?
The api call at the url that you've given https://developer.bigcommerce.com/api/stores/v2/products/skus
will return all the SKU resource/object associated with a product. You can either get skus for all products using the resource "products/skus/count" or a specific product using "products/{productid}/skus/count". Both calls works as documented.

Bigcommerce - request products based on a list of IDs

I am using the Bigcommerce API to develop a small standalone application for a client. I store product information in a local database anytime I fetch products from Bigcommerce, to reduce latency and network load. However, products can change on Bigcommerce, and while it is acceptable for my application to show mildly outdated information, I will need to update my local cache at some point. My current plan is to do this by storing the original date I requested the product, after which I will need to perform another request to refresh the cache.
My question is, given a list of products (including their Bigcommerce IDs), is there a way to request updates to all of them through a single call to the Products Resource? I can make a request for each individual product by calling:
GET {api}/v2/products/{id}
I can also request all products within an unbroken ID range by calling:
GET {api}/v2/products?min_id={value}&max_id={value}
I am able to successfully call both of the above methods, and I can chain them together in loops to fetch all products. What I want to do is request multiple products with unrelated IDs in a single call. So, something like this:
//THIS IS NOT A REAL METHOD!
GET {api}/v2/products?id[]={value1}&id[]={value2}
Is there any way I can do this? Or is there another approach to solving this that I haven't considered? My main requirements are:
Minimal API requests. My application is small but my client's bigcommerce store is not, and I will be processing tens of thousands of products. I have limited CPU and network resources available, and I simply cannot process that many requests.
Scalable. As I said, my client's store is large, and growing. I need a solution whose overhead scales at a manageable rate with number of products.
Note: my application is a small web application written in PHP running on a Linux shared hosting environment. It is a back of house system which will likely only be used by single user at a time, during standard business hours. I haven't tagged the question with PHP because my question is about the API, which is language agnostic.
One approch can be.
First get all products from BigCommerce using simple products call.
Set some interval time to get updated product list.
You can use min_date_modified and max_date_modified OR min_date_created and max_date_created in products API call to get updated products details.

Ebay API - How to get an item's ancestor/root category?

I'm retrieving the item info of many items using getMultipleItems in the Shopping API, and I need to find-out the items' root category. In the US site (0), the root categories are here: http://www.isoldwhat.com/getcats/fullcategorytree.php
How can I tell which of these an item belongs to (for example, "Computers/Tablets & Networking")? Can I do it within getMultipleItems (or getSingleItem) or do I need another call?
It seems like a short question, but this problem is shared with my use of the Amazon API to which I've been doing extensive research and I decided to resolve it on my eBay end. The "problem" is determining the selling fee, which can be done on Amazon's side, by getting the ProductGroup of the item, or by using eBay's root categories, and matching either one to the fee table Amazon defined for it's commission rates. In this case, there's not a lot of turn-out to refer to here to show I looked everything up.
The getCategoryInfo and related category-info-searching doesn't pertain to particular items. I get a <primarycategoryid> N/V pair in my item responses, but (I'm pretty sure) that's a leaf category (mapping 10,000+ leaf categories [even just the fraction I would use] to Amazon's product group-specific fee table would be a hell of a pain).
Again, how do I trace an <item> to it's ancestor/root category?
You can trace the root of a category via the PrimaryCategoryIDPath field that is returned when calling GetMultipleItems.
Keep in mind that this information is not returned unless you have specified Details in the IncludeSelector field as part of your request.
More information on PrimaryCategoryIDPath can be found here.

eBay Trading API - GetMyeBaySelling vs GetOrders for getting my sold items

I need to get the items I sold at eBay and the detailed information about each sale (who bought it, their exactly shipping address, email and so on).
I'm wondering, what should I use for that: GetMyeBaySelling and GetOrders? They seem to be exactly the same!
Use GetOrders, it is made to retrieve all relevant order information. But make sure to use the Pagination-Attribute, otherwise the call will only return 100 orders.