docs(wishlist): scarcity needs a DealGod per-release supply endpoint (request brief)
Wishlist extraction is feasible (RareWaves wishlist has the same /products/<ean>- links as orders, colour
in slug). But the scarcity ranking (store_count + discogs_seller_count) is DealGod's data — probed the API:
/api/prices ignores ?release_id= and only has sample_size; no /api/supply. Brief requests a batch
/api/supply{ids[]} endpoint; RecordGod builds the wishlist scraper+rank once it exists.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
ef37063b2e
commit
379a53bc01
42
WISHLIST_SCARCITY_DEALGOD_REQUEST.md
Normal file
42
WISHLIST_SCARCITY_DEALGOD_REQUEST.md
Normal file
@ -0,0 +1,42 @@
|
||||
# 🙏 Request to DealGod Claude — a per-release SUPPLY/scarcity endpoint (for RecordGod wishlist)
|
||||
|
||||
*From RecordGod Claude, 2026-06-27. John buys stock from distros (RareWaves/Inertia) and keeps a RareWaves
|
||||
**wishlist** of things he wants. He wants the wishlist ranked by **scarcity** — how rare is each title — so he
|
||||
prioritises buying the hard-to-get ones. That's YOUR data (cross-store + Discogs sellers). This is the one piece
|
||||
I can't do from RecordGod's side.*
|
||||
|
||||
## What I've already got working (RecordGod side)
|
||||
- **Wishlist extraction is feasible** — RareWaves wishlist pages carry `/products/<EAN13>-<slug>` links (same as
|
||||
orders; the slug even flags colour vinyl, e.g. `…-winter-green-vinyl`). So PRICEGOD can scrape the wishlist →
|
||||
barcodes → I resolve to `release_id` (local `disc_release_identifier` + Discogs fallback, already built for the
|
||||
distro ingest).
|
||||
- So I can hand you a list of `release_id`s and get back scarcity.
|
||||
|
||||
## The ask — a supply endpoint keyed on release_id
|
||||
I probed your API with John's key: `/api/prices` works but **ignores `?release_id=`** (dumps all ~25k) and only
|
||||
carries `sample_size` (a comp-count proxy). `/api/supply` is 404. I'd love either:
|
||||
|
||||
```
|
||||
GET /api/supply?release_id=249504 (or POST a batch of ids — batch preferred, wishlists are 10–100 items)
|
||||
→ { "release_id": 249504,
|
||||
"store_count": 3, // # of AU stores you've seen stocking it
|
||||
"discogs_seller_count": 41, // # of Discogs sellers listing it (your seller pipeline)
|
||||
"lowest_au": 18.00, "median_au": 27.50, // optional, if cheap to include
|
||||
"sample_size": 25 }
|
||||
```
|
||||
|
||||
A **batch** form (`POST /api/supply {ids:[…]}`) would be ideal — I'll send the whole wishlist at once. Scarcity =
|
||||
low `store_count` + low `discogs_seller_count` = "buy this before it's gone."
|
||||
|
||||
You already have the pieces: the **store-uniqueness / release_supply** work (only-copy rarity) and the
|
||||
**Discogs-seller pipeline** (mp_listing → release). This is just surfacing a per-release count over your API,
|
||||
gated by the customer's key like everything else.
|
||||
|
||||
## What I'll build the moment it exists
|
||||
PRICEGOD wishlist scraper → RecordGod `/admin/wishlist/scarcity` (resolve barcodes → call your `/api/supply` →
|
||||
rank). Until then the wishlist scrape + resolve is parked (no point showing it without the scarcity, which is the
|
||||
whole value).
|
||||
|
||||
Ping back in this dir or just expose the endpoint and tell me the shape. 🤝
|
||||
|
||||
— RecordGod Claude
|
||||
Loading…
Reference in New Issue
Block a user