Home
Find the answer to your question
Why should I reconcile a seller's inventory and what is the best way keep my listing application database current?
Summary
There are several reasons why a listing application's database could get out of sync
with what is actually currently active on eBay:
The best way to reconcile the inventory is to make a call to GetSellerList periodically with the EndTimeFilter ranging from the last time you made the call to the current time, with no DetailLevel. This will return the ItemID, StartTime and EndTime, based on which you can update your database.
<?xml version="1.0" encoding="utf-8"?>
<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<Version>509</Version>
<EndTimeFrom>2007-04-23T00:00:00.000Z</EndTimeFrom>
<EndTimeTo>2007-04-24T00:00:00.000Z</EndTimeTo>
<Pagination>
<EntriesPerPage>200</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
<RequesterCredentials>
<eBayAuthToken>*****</eBayAuthToken>
</RequesterCredentials>
</GetSellerListRequest>
It returns a
response similar to the following:
<?xml version="1.0" encoding="utf-8"?>
<GetSellerListResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>20070424T18:32:15.453Z</Timestamp>
<Ack>Success</Ack>
<Version>509</Version>
<Build>e509_core_Bundled_4546291_R1</Build>
<PaginationResult>
<TotalNumberOfPages>1</TotalNumberOfPages>
<TotalNumberOfEntries>3</TotalNumberOfEntries>
</PaginationResult>
<HasMoreItems>false</HasMoreItems>
<ItemArray>
<Item>
<ItemID>150106416603</ItemID>
<ListingDetails>
<StartTime>2007-03-27T02:52:15.000Z</StartTime>
<EndTime>2007-04-03T02:52:15.000Z</EndTime>
</ListingDetails>
</Item>
<Item>
<ItemID>150106694354</ItemID>
<ListingDetails>
<StartTime>2007-03-27T21:06:46.000Z</StartTime>
<EndTime>2007-04-03T21:06:46.000Z</EndTime>
</ListingDetails>
</Item>
<Item>
<ItemID>150106695548</ItemID>
<ListingDetails>
<StartTime>2007-03-27T21:11:36.000Z</StartTime>
<EndTime>2007-04-03T21:11:36.000Z</EndTime>
</ListingDetails>
</Item>
</ItemArray>
<ItemsPerPage>3</ItemsPerPage>
<PageNumber>1</PageNumber>
<ReturnedItemCountActual>3</ReturnedItemCountActual>
<Seller>
<AboutMePage>true</AboutMePage>
....
</Seller>
</GetSellerListResponse>
You can compare the ItemIDs in your database and mark them as ended
with the ListingDetails.EndTime, if it is not already marked as ended.
You can run this daily, as a background scheduled process at an off peak
time for your application and do the necessary reconciliation.
Note:
It is very strongly recommended to not use any DetailLevel for the
fastest response time. However, if you need additional item
information, then consider using a lower GranularityLevel first.
Version Info
The code example above was based on the versions specified below:
API Schema Version | 509 |