Automatically Keep Track of Auctions You’ve Won

Maintain a permanent record of everything you’ve ever purchased.

Since eBay keeps auctions on site only for about 90 days and lists them in My eBay for only 30 days, all bidders should maintain permanent, off-site records of the items they’ve purchased.

As long as you keep all email you’ve received, as described in the Preface of this book, you’ll always have records of the item numbers, titles, seller IDs and email addresses, and closing prices of the items you’ve won. But this data is stored in a less-than-convenient format, and the descriptions aren’t stored at all.

Here’s a script that will automatically retrieve and store details for every auction you’ve won:

#!/usr/bin/perl
require 'ebay.pl';

$today = &formatdate(time);     [1]
$yesterday = &formatdate(time - 86400);     [2]

my $rsp = call_api({ Verb => 'GetBidderList',     [3]
              DetailLevel => 32,
                   UserId => $user_id,
                   SiteId => $site_id,
              EndTimeFrom => $yesterday,
                EndTimeTo => $today,
});

if ($rsp->{Errors}) {
  print_error($rsp);
} else {
  foreach (@{$rsp->{BidderList}{Item}}) {
    my %i = %$_;
    ($highbidder, $title, $id) = @i{qw/HighBidderUserId Title Id/};     [4]

    if ((! -e "$localdir/$id") && ($highbidder eq $user_id)) {     [5]
      my $rsp = call_api({ Verb => 'GetItem',     [6]
                    DetailLevel => 2,
                             Id => $id
      });

      if ($rsp->{Errors}) {
        print_error($rsp)
      } else {
        my %i = %{$rsp->{Item}[0]};
        my ($price, $currency, $seller, $title, $description) =     [7] @i{qw/CurrentPrice CurrencyId Seller Title Description/}; ...

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.