6.6 KiB
API Intelligence Findings
GraphQL API - Available Fields for Intelligence
Key Discovery: Additional Fields Available
From GraphQL schema introspection on Lot type:
Already Captured ✓
currentBidAmount(Money) - Current bidinitialAmount(Money) - Starting bidnextMinimalBid(Money) - Minimum bidbidsCount(Int) - Bid countstartDate/endDate(TbaDate) - TimingminimumBidAmountMet(MinimumBidAmountMet) - Statusattributes- Brand/model extractiontitle,description,images
NEW - Available but NOT Captured:
-
followersCount (Int) - CRITICAL for intelligence!
- This is the "watch count" we thought was missing
- Indicates bidder interest level
- ACTION: Add to schema and extraction
-
biddingStatus (BiddingStatus) - Lot bidding state
- More detailed than minimumBidAmountMet
- ACTION: Investigate enum values
-
estimatedFullPrice (EstimatedFullPrice) - Found it!
- Available via
LotDetails.estimatedFullPrice - May contain estimated min/max values
- ACTION: Test extraction
- Available via
-
nextBidStepInCents (Long) - Exact bid increment
- More precise than our calculated bid_increment
- ACTION: Replace calculated field
-
condition (String) - Direct condition field
- Cleaner than attribute extraction
- ACTION: Use as primary source
-
categoryInformation (LotCategoryInformation) - Category data
- Structured category info
- ACTION: Extract category path
-
location (LotLocation) - Lot location details
- City, country, possibly address
- ACTION: Add to schema
-
remarks (String) - Additional notes
- May contain pickup/viewing text
- ACTION: Check for viewing/pickup extraction
-
appearance (String) - Condition appearance
- Visual condition notes
- ACTION: Combine with condition_description
-
packaging (String) - Packaging details
- Relevant for shipping intelligence
-
quantity (Long) - Lot quantity
- Important for bulk lots
-
vat (BigDecimal) - VAT percentage
- For total cost calculations
-
buyerPremiumPercentage (BigDecimal) - Buyer premium
- For total cost calculations
-
videos - Video URLs (if available)
- ACTION: Add video support
-
documents - Document URLs (if available)
- May contain specs/manuals
Bid History API - Fields
Currently Captured ✓
buyerId(UUID) - Anonymized bidderbuyerNumber(Int) - Bidder numbercurrentBid.cents/currency- Bid amountautoBid(Boolean) - Autobid flagcreatedAt(Timestamp) - Bid time
Additional Available:
negotiated(Boolean) - Was bid negotiated- ACTION: Add to bid_history table
Auction API - Not Available
- Attempted
auctionDetailsquery - does not exist - Auction data must be scraped from listing pages
Priority Actions for Intelligence
HIGH PRIORITY (Immediate):
- ✅ Add
followersCountfield (watch count) - ✅ Add
estimatedFullPriceextraction - ✅ Use
nextBidStepInCentsinstead of calculated increment - ✅ Add
conditionas primary condition source - ✅ Add
categoryInformationextraction - ✅ Add
locationdetails - ✅ Add
negotiatedto bid_history table
MEDIUM PRIORITY:
- Extract
remarksfor viewing/pickup text - Add
appearanceandpackagingfields - Add
quantityfield - Add
vatandbuyerPremiumPercentagefor cost calculations - Add
biddingStatusenum extraction
LOW PRIORITY:
- Add video URL support
- Add document URL support
Updated Schema Requirements
lots table - NEW columns:
ALTER TABLE lots ADD COLUMN followers_count INTEGER DEFAULT 0;
ALTER TABLE lots ADD COLUMN estimated_min_price REAL;
ALTER TABLE lots ADD COLUMN estimated_max_price REAL;
ALTER TABLE lots ADD COLUMN location_city TEXT;
ALTER TABLE lots ADD COLUMN location_country TEXT;
ALTER TABLE lots ADD COLUMN lot_condition TEXT; -- Direct from API
ALTER TABLE lots ADD COLUMN appearance TEXT;
ALTER TABLE lots ADD COLUMN packaging TEXT;
ALTER TABLE lots ADD COLUMN quantity INTEGER DEFAULT 1;
ALTER TABLE lots ADD COLUMN vat_percentage REAL;
ALTER TABLE lots ADD COLUMN buyer_premium_percentage REAL;
ALTER TABLE lots ADD COLUMN remarks TEXT;
ALTER TABLE lots ADD COLUMN bidding_status TEXT;
ALTER TABLE lots ADD COLUMN videos_json TEXT; -- Store as JSON array
ALTER TABLE lots ADD COLUMN documents_json TEXT; -- Store as JSON array
bid_history table - NEW column:
ALTER TABLE bid_history ADD COLUMN negotiated INTEGER DEFAULT 0;
Intelligence Use Cases
With followers_count:
- Predict lot popularity and final price
- Identify hot items early
- Calculate interest-to-bid conversion rate
With estimated prices:
- Compare final price to estimate
- Identify bargains (final < estimate)
- Calculate auction house accuracy
With nextBidStepInCents:
- Show exact next bid amount
- Calculate optimal bidding strategy
With location:
- Filter by proximity
- Calculate pickup logistics
With vat/buyer_premium:
- Calculate true total cost
- Compare all-in prices
With condition/appearance:
- Better condition scoring
- Identify restoration projects
Updated GraphQL Query
query EnhancedLotQuery($lotDisplayId: String!, $locale: String!, $platform: Platform!) {
lotDetails(displayId: $lotDisplayId, locale: $locale, platform: $platform) {
estimatedFullPrice {
min { cents currency }
max { cents currency }
}
lot {
id
displayId
title
description { text }
currentBidAmount { cents currency }
initialAmount { cents currency }
nextMinimalBid { cents currency }
nextBidStepInCents
bidsCount
followersCount
startDate
endDate
minimumBidAmountMet
biddingStatus
condition
appearance
packaging
quantity
vat
buyerPremiumPercentage
remarks
auctionId
location {
city
countryCode
addressLine1
addressLine2
}
categoryInformation {
id
name
path
}
images {
url
thumbnailUrl
}
videos {
url
thumbnailUrl
}
documents {
url
name
}
attributes {
name
value
}
}
}
}
Summary
NEW fields found: 15+ additional intelligence fields available
Most critical: followersCount (watch count), estimatedFullPrice, nextBidStepInCents
Data quality impact: Estimated 80%+ increase in intelligence value
These fields will significantly enhance prediction and analysis capabilities.