SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
3.3 KB

# KanZen Games connector (kanzen-games)

  • Source: https://www.kanzengames.com · dealer · CA · CAD · Shopify storefront
  • Acquisition: public /collections/<handle>/products.json?limit=250&page=N (shared ShopifyStoreConnector adapter wrapped by MarketPinnedShopifyConnector, which adds a localization=CA cookie so Shopify Markets never geo-converts prices; no store-specific code)
  • Records: listing (asking prices, one per variant; out-of-stock variants → ended)
  • Refresh: every 12 h (ACTIVE→NORMAL boundary, large catalogue) · history: none (listings only)

Toronto TCG shop with a dedicated PSA "slabs" collection (Japanese Pokémon heavy), Lorcana/Gundam/Digimon singles and sealed product.

# Collections → taxonomy

collection handle category brand / franchise / series
slabs pokemon Pokémon
graded-card-in-stock pokemon Pokémon
ebay-pokemon-singles pokemon Pokémon
pokemon-tcg-mega-evolution pokemon Pokémon
japanese-sealed pokemon Pokémon
magic-the-gathering magic_the_gathering Magic: The Gathering
disney-lorcana-singles-1 disney_lorcana Disney Lorcana
gundam-singles-all other_tcg Gundam Card Game
digimon-single digimon_tcg Digimon
digimon-sealed digimon_tcg Digimon
one-piece-tcg-singles-all one_piece_card_game One Piece
dragon-ball-tcg dragon_ball_tcg Dragon Ball Super
hololive-tcg-sealed other_tcg hololive
football-sealed football_cards —
basketball-sealed-all basketball_cards —

Rules (first match wins, applied to "title | product_type | tags | collection"):

  • \bone piece\b|\bOP\d{2}\b → one_piece_card_game (franchise One Piece)
  • \bmagic\b|\bmtg\b → magic_the_gathering (franchise Magic: The Gathering)
  • yu-?gi-?oh → yugioh (franchise Yu-Gi-Oh!)
  • \blorcana\b → disney_lorcana (franchise Disney Lorcana)
  • \bdigimon\b → digimon_tcg (franchise Digimon)
  • \bdragon ball\b → dragon_ball_tcg (franchise Dragon Ball Super)
  • \bweiss\b → weiss_schwarz (franchise Weiß Schwarz)

Excluded (regex): gift card|sleeves?|deck box|binder|playmat|toploader|top loader|storage box|dice|tokens? only|bundle of|mystery|buylist|submission|event ticket|\bentry\b|tournament|store credit|pre-?release event|supplies|card savers?|\brepack|bulk lot|\blot of\b|\bpaints?\b|primer|brushes|online (pack|code)|digital code|code card|unused digital|ptcgo|ptcg live

Title pattern: ^(?:PSA|BGS|CGC|TAG|ACE|SGC)\s*[\d.]+\s*-\s*(?<name>.+?)\s*-\s*(?<set>.+?)\s*-\s*#(?<number>\S+) (name / set / number)

# Access & compliance

See accessNotes in meta.json: robots.txt verified 2026-09-08 (standard Shopify rules, products.json paths allowed), honest UA, 1 req / 1.5 s, listings only, no personal data. Not fetched: deck-box/sleeve/binder collections, "all products" umbrella collections, tournament entries.

# Fixtures & tests

data/fixtures/kanzen-games/ — live captures (pnpm tsx connectors/api/_g3-shops-na-lib/capture.ts kanzen-games), trimmed single-product payloads incl. a sold-out variant and a graded item. pnpm vitest run connectors/api/kanzen-games · live probe: pnpm tsx connectors/api/_g3-shops-na-lib/probe.ts kanzen-games.