daniescanla-9 avatar image
daniescanla-9 asked

How to manage Inventory in the Trading API

I have been running a service that updates the quantity on hand (QOH) for various listings for my clients. The process has always been lacking because the only ID I have on the warehouse side is the SKU. I cannot update ebay listings by Sku directly instead it must be by itemid.

I created a process that goes through and calls GetSellerList

It loops through this list and figures out the itemId by comparing the sku of the listing. I can't search by sku so I have to grab all of the active listings then loop through them. It saves these ids for later use, so it does not have to run again until something is missing. Not a bad process if its not run too much but some of my clients have very old listings which ebay will sometimes not even return and just timeout.

When I have a client that has very large amount listings, I request an ebay report that lists the items for sale. This is then processed via a manually run job.

This process is not great. Although I could probably automate the process via file I still run into issues with a listing that has multiple variations of the main item (small medium large, red, blue etc).

How can I improve this process? The newer rest inventory api does not work because it can only handle listings created through the UI or not the process the warehouses I support use to create their listings.

getsellerlist#tradingapiupdated inventory
10 |600

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

michab2003 avatar image
michab2003 answered

hi, there is a reason why there is a migration call at the inventory API. the inventory API is something completely new and has nothing really to do with the trading - think of it as two different systems. so when you migrated to the dark side, it´s a "no-way-back" decision ;) (except you delete everything and create new listings via trading again).

as soon as you are working with "offers" (inventory API) and no longer with ItemIds (Trading), there is no ItemID any longer you can work with.

once you have an ItemId that has been created with:

- create inventory item

- create offer

- publish offer

the trading-api becomes "read-only" for you.

every change at the ItemId directly ends up in a broken offer-inventory-item-relation and the ItemId can no longer be managed via the inventory API. (this has been told to me from an ebay employee)

and you also shouldn´t avoid working with two different systems here (trading & inventory at the same time) because there is no chance you are able to identify if an ItemId has been created via Trading or Offer (except you mark your ItemIds with custom tags, like ApplicationData) - I was told NOT to do this, at any cost - because it will cause trouble, if not on the first, than later.


so either you stay with the trading API or you migrate to the inventory API, but then the customer no longer has a web interface nor is allowed to modify any migrated listings. but the positive thing is, you would be able to use:

which gives u a huge benefit when it comes to mass updates.

one the cool things: updates there have no effect on your API limits.

but if the customer still wants to work manually with the ebay web interface, create and update listings, at this point, you are forced to stay with the trading API and if your system is not the system that creates the listings, than I don´t see any chance than using GetSellerList to get that info.

there "still" is the:
but that thing is very old, today - I personally wouldn´t build something with it.

if your system would be the part that creates the ItemIds for the customer, you wouldn't need to use GetSellerList.

OR.... you can subscribe to the ebay notifications:

here you can catch notifications for:

- AddItem

- EndItem (and similar calls)

so you do a "GetSellerList" once to build up your database to get the current state,

after that, your database keeps in sync with ebay because of the notifications.

whenever the customer creates or deletes an ItemId, you get the notification and

update your database. the downside of that is: if you miss a notification because

your system is too slow, your database is out of sync. but you still could do a

GetSellerList once a week or something like that, to check IF your database is out of sync.

when working with notifications, i can highly recommend using AWS lambda, then you never have to care or monitor the server-side, it´s super cheap and it works - once set up, never worry again ;)

i hope, i was able to help.



· 5
10 |600

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thank you for the help. I am building a Multi-channel Product Information System but this part is not ready prime time yet and I have to support current clients.

Does the LMS api support updating inventory for items like small, medium, large? All with the separate skus. (tshirt-small, tshirt-medium). I can add this API very quickly to get over the hump for now.

0 Likes 0 ·
LMS = Trading - but nothing more than packing multiple revise-item-calls into a single zip and upload it.... so if you make thousands of revise-items and send them directly or pack them all together into a zip and upload one big file and you wait till ebay has finished its job, there is no difference than putting the workload from your side to ebay.

when you have to deal with >100k items, using the inventory API with MIP can be a very good option.

0 Likes 0 ·

what is your definition of "updating inventory" ? do you mean "updating quantity" ?

0 Likes 0 ·

It is only a quantity update. I get sku updates from the warehouse software that are basically some version of sku and current count or sku and change in count. The primary issue is I have a sku but the trading api wants itemid. If the LMS allows me to use only the "SKU" and new quantity that would be awesome.

0 Likes 0 ·
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.