CLIENTELE ◆ DISTRIBUTION SYSTEM
PHASE 3+4 · DEPLOYMENT PREVIEW · MARCH 23, 2026
ALL SYSTEMS OPERATIONAL
WHAT WAS BUILT THIS SESSION COMPLETE
8 SHOPIFY PAGES LIVE
8 custom pages created on clientelenyc.com, each wired to its Liquid template in the Dawn theme (ID 184895766712).
6/6 WEBHOOKS REGISTERED
All 6 Shopify webhook topics registered and pointing to the Railway backend. product events + all order events.
13 THEME ASSETS LIVE
Section, templates, CSS (8,991 chars), hub.js (26K), hub.css (19K) all uploaded to live Dawn theme.
PAGES LIVE ON CLIENTELENYC.COM 8/8
PAGEURLTEMPLATESTATUS
Distribution Hubclientelenyc.com/pages/distribution-hubpage.distribution-hub✓ LIVE
Sellclientelenyc.com/pages/sellpage.sell✓ LIVE
FAQclientelenyc.com/pages/faqpage.faq✓ LIVE
Clientele Selectclientelenyc.com/pages/clientele-selectpage.clientele-select✓ LIVE
Wishlistclientelenyc.com/pages/wishlistpage.wishlist✓ LIVE
Cultureclientelenyc.com/pages/culturepage.culture✓ LIVE
Alertsclientelenyc.com/pages/alertspage.alerts✓ LIVE
Aboutclientelenyc.com/pages/aboutpage.about✓ LIVE
↑ These all exist live on your Shopify store right now. Click any link to open them.
SHOPIFY WEBHOOKS REGISTERED 6/6
TOPICWEBHOOK IDTARGETFIRES WHEN
products/update1942404825272/webhooks/shopify/product-updateTag changed on any product
products/create1942404858040/webhooks/shopify/product-updateNew product created
inventory_items/update1942404890808/webhooks/shopify/product-updateInventory level changes
orders/create1942435266744/webhooks/shopify/orderItem sold on Shopify
orders/paid1942435299512/webhooks/shopify/orderOrder payment confirmed
orders/fulfilled1942435332280/webhooks/shopify/orderOrder marked fulfilled
All pointing to → https://clientele-distribution.up.railway.app (deploy Railway to activate)
SANDBOX DEMO — LIVE INTERACTIVE PREVIEW
✓ SERVICE RUNNING — ENTER ANY PASSWORD TO ACCESS (DEMO MODE)
The Distribution Hub is running live in this sandbox. Click below to open interactive demos.
DISTRIBUTION HUB — WHAT IT DOES
🔒 PASSWORD-GATED
Staff-only access screen. Enter any text in demo mode, or set HUB_PASSWORD env var for production. Prevents public access to internal ops tool.
📦 LIVE INVENTORY TABLE
Shows all products pending review or currently listed. Status tags: PENDING REVIEW, APPROVED, LISTED, SOLD. Each row shows platform status per item.
💰 MARKET PRICE DATA
Per-item price intelligence panel. Shows last sale, current asks/bids, and Frank's recommended list price across eBay / StockX / GOAT.
🚀 ONE-CLICK DISTRIBUTION
LIST ALL button fires eBay API listing + Vendoo/Grailed sync + opens StockX/GOAT pre-fill tabs simultaneously. All from one click.
🗑️ AUTO-DELIST (<60s)
When anything sells anywhere, the delist chain fires: zero Shopify inventory → end eBay listing → delist Grailed via Vendoo → log Boardroom event. Prevents double-sells.
📧 INNER CIRCLE EMAILS
For heat drops: 24-hour early access email sent to Inner Circle tag customers via SendGrid before item goes public. Triggered by inner-circle:pending tag.
SHOPIFY TOKEN STATUS — DUAL-TOKEN ARCHITECTURE
TOKEN 1 — CONTENT + ORDERS
Variable: SHOPIFY_ACCESS_TOKEN
Prefix: shpat_5bb7…
Scopes: write_content, read_orders, write_webhooks, read_customers
Used for: Pages, orders, webhook registration, customer lookup
TOKEN 2 — THEMES + PRODUCTS
Variable: SHOPIFY_TOKEN_THEMES
Prefix: shpat_6065…
Scopes: write_themes, read_products, write_inventory
Used for: Theme uploads, product tags, inventory levels, variant pricing
WHY TWO TOKENS?
Shopify's new Dev Dashboard forces different apps to have different scope groups. Legacy custom apps (shpat_) issued themes/products. New Dev Dashboard apps handle content/orders. railway_app.py reads both env vars and routes API calls to the correct token automatically.
WHAT STILL NEEDS CREDENTIALS TO GO FULLY LIVE
RAILWAY DEPLOYMENT ⟳ PENDING
The Flask backend (railway_app.py, 1,443 lines, 18 routes) needs to be deployed to Railway.app. Once live at https://clientele-distribution.up.railway.app, all 6 webhooks already registered will start firing automatically.
EBAY API KEYS ⟳ PENDING
4 keys needed: EBAY_APP_ID, EBAY_CERT_ID, EBAY_DEV_ID, EBAY_USER_TOKEN + PAYPAL_EMAIL. Get from developer.ebay.com → Production keyset → Trading API.
VENDOO API KEY ⟳ PENDING
Connects Grailed/Depop auto-delist. Get from vendoo.co → Account → Integrations → API.
SENDGRID API KEY ⟳ PENDING
Powers Inner Circle early-access emails. Get from sendgrid.com → Settings → API Keys.
GITHUB PUSH + AUTO-DEPLOY ⟳ PENDING
Authorize via the #github tab → push phase-3-distribution-pipeline branch → connect Railway to repo for auto-deploy on push.
THE FULL FLOW — HOW IT ALL CONNECTS
# ITEM LIFECYCLE — FROM INTAKE TO SOLD STEP 1 ─ INTAKE Customer fills Intake Form on clientelenyc.com/pages/sell → POST /api/intake/submit → Creates Shopify DRAFT product with tag: status:pending-review STEP 2 ─ APPROVAL Frank reviews in Shopify Admin (or Distribution Hub) → Adds tag: status:approved → Webhook fires: products/update → Railway /webhooks/shopify/product-update → Pipeline triggers: 24hr gate check → Inner Circle email (if heat drop) STEP 3 ─ DISTRIBUTION (Frank clicks LIST ALL in Hub) Path A: eBay listing created via Trading API [AUTOMATED] Path B: Grailed listed via Vendoo sync [AUTOMATED] Path C: StockX pre-fill tab opens + data copied [SEMI-MANUAL] Path D: GOAT/alias pre-fill tab opens [SEMI-MANUAL] → Boardroom event: listing_created → Apollo STEP 4 ─ SALE TRIGGERS (any platform) eBay order → /webhooks/ebay/order Grailed sale → /webhooks/vendoo/sale (via Vendoo) StockX/GOAT → Frank clicks SOLD in Hub (manual) Shopify → /webhooks/shopify/order (orders/create, orders/paid) STEP 5 ─ AUTO-DELIST (<60 seconds) → Set Shopify inventory to 0 (all variants) → Add tags: status:sold, sold-on:[platform] → End eBay listing via Trading API → Delist Grailed via Vendoo API → Fire Boardroom event: item_sold → Apollo (margin, days-to-sell) # RESULT: ONE ITEM. ALL PLATFORMS. ZERO DOUBLE-SELLS.
GIT HISTORY — BRANCH: phase-3-distribution-pipeline
COMMITDESCRIPTION
8e10d7bREADME updated with live deployment status
9f13bdfDual-token Shopify support; 3 order webhooks; footer-group.json updated; 13 assets verified
32b1036Shopify OAuth install flow: /oauth/setup, /oauth/start, /oauth/callback
90bf37eRAILWAY_DEPLOY.md, railway.json, requirements.txt
58a1d21Phase 3+4 complete: 9 Liquid templates, deploy_to_shopify.py, railway_app.py (18 routes), .env.template, deploy.sh
ed0a8cbPhase 3+4: Railway master app, Phase 4A boardroom receiver, Phase 4B Inner Circle email, PostgreSQL events
CLIENTELE NYC · BOWERY · MENLO · ROOSEVELT FIELD DISTRIBUTION SYSTEM PHASE 3+4 · 2026-03-23