Cache Auction Data to Improve API Efficiency
Reduce the number of API calls your program makes and work within your daily API allotment.
One of the requirements of certification, as described in [Hack #82], is that your application or script does not make more calls or retrieve more data than is absolutely necessary. This is typically accomplished in any of three ways:
Restricting the result set to a specific date range, as described in [Hack #85].
Download only new entries by comparing the current total of entries with the total you recorded the last time the call was used, as described in [Hack #96].
Caching retrieved data so that it doesnât have to be retrieved again, as described in this hack.
Which data you cache and how you do it depends on the type of data youâre working with.
Caching Input
Probably the most useful place to start is by recording the item
numbers of all auctions youâre currently selling.
Assuming youâre using GetItem
to
upload your listings to eBay (see [Hack #88]), you can simply save the
resulting item number in a file, like this:
open (OUTFILE,">>$localdir/auctionlist.txt"); print OUTFILE "$rsp->{Item}[0]{Id},$rsp->{Item}[0]{EndTime}\n"; close (OUTFILE);
Eventually, the file will look like this:
4500207651,2005-07-15 20:43:32 4500207783,2005-07-16 08:14:18 4500208002,2005-07-18 19:00:31
with each line containing one item number and one end date, separated
by a comma. Then, instead of using the
GetSellerList
API call found in many hacks in this chapter, ...
Get eBay Hacks now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.