← back to Estimate Instant
shopify: enrich rolls.json with real Shopify variant_ids + prices (0/8 SKU matches, 8/8 stand-ins)
1abb45d2f1e4b5abfacbf6b35598ab83d9b5b806 · 2026-07-16 07:38:46 -0700 · Steve Abrams
All 8 prototype SKUs (DW-GRAS-01 etc.) are pre-production and have no match in the
live Shopify catalog. Each entry gets shopify_variant_id + shopify_price from a real
distinct DW catalog product, shopify_match=false, and a _note documenting the seam.
Price_per_roll now mirrors the real Shopify price for each stand-in variant.
PRODUCTION seam: roll_width_in / roll_length_ft / pattern_repeat_in must be pulled
from Shopify metafields keyed by variant_id — documented in each _note field.
Files touched
Diff
commit 1abb45d2f1e4b5abfacbf6b35598ab83d9b5b806
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jul 16 07:38:46 2026 -0700
shopify: enrich rolls.json with real Shopify variant_ids + prices (0/8 SKU matches, 8/8 stand-ins)
All 8 prototype SKUs (DW-GRAS-01 etc.) are pre-production and have no match in the
live Shopify catalog. Each entry gets shopify_variant_id + shopify_price from a real
distinct DW catalog product, shopify_match=false, and a _note documenting the seam.
Price_per_roll now mirrors the real Shopify price for each stand-in variant.
PRODUCTION seam: roll_width_in / roll_length_ft / pattern_repeat_in must be pulled
from Shopify metafields keyed by variant_id — documented in each _note field.
---
data/rolls.json | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 120 insertions(+), 8 deletions(-)
diff --git a/data/rolls.json b/data/rolls.json
index 05fbef8..3ede477 100644
--- a/data/rolls.json
+++ b/data/rolls.json
@@ -1,10 +1,122 @@
[
- { "sku": "DW-GRAS-01", "pattern": "Grasscloth Natural", "roll_width_in": 36, "roll_length_ft": 24, "pattern_repeat_in": 0, "match": "random", "price_per_roll": 128, "hex": "#c8b89a" },
- { "sku": "DW-DAMA-14", "pattern": "Heirloom Damask", "roll_width_in": 27, "roll_length_ft": 27, "pattern_repeat_in": 25, "match": "straight", "price_per_roll": 96, "hex": "#3a4a5a" },
- { "sku": "DW-FLOR-22", "pattern": "Garden Chintz", "roll_width_in": 20.5, "roll_length_ft": 33, "pattern_repeat_in": 21, "match": "half-drop", "price_per_roll": 84, "hex": "#7a9a6a" },
- { "sku": "DW-GEOM-07", "pattern": "Deco Fan", "roll_width_in": 27, "roll_length_ft": 27, "pattern_repeat_in": 12.5, "match": "straight", "price_per_roll": 110, "hex": "#d4c04a" },
- { "sku": "DW-STRP-03", "pattern": "Regency Stripe", "roll_width_in": 21, "roll_length_ft": 33, "pattern_repeat_in": 0, "match": "random", "price_per_roll": 72, "hex": "#8a2a2a" },
- { "sku": "DW-TOIL-09", "pattern": "Provence Toile", "roll_width_in": 27, "roll_length_ft": 27, "pattern_repeat_in": 18.75, "match": "straight", "price_per_roll": 118, "hex": "#2a3a4a" },
- { "sku": "DW-CORK-01", "pattern": "Phillipe Romano Cork", "roll_width_in": 36, "roll_length_ft": 24, "pattern_repeat_in": 0, "match": "random", "price_per_roll": 178.5, "hex": "#b89a6a" },
- { "sku": "DW-SILK-05", "pattern": "Shantung Silk", "roll_width_in": 36, "roll_length_ft": 24, "pattern_repeat_in": 0, "match": "random", "price_per_roll": 156, "hex": "#e0d4c0" }
+ {
+ "sku": "DW-GRAS-01",
+ "pattern": "Grasscloth Natural",
+ "roll_width_in": 36,
+ "roll_length_ft": 24,
+ "pattern_repeat_in": 0,
+ "match": "random",
+ "price_per_roll": 94.42,
+ "hex": "#c8b89a",
+ "shopify_variant_id": 44472518737971,
+ "shopify_price": 94.42,
+ "shopify_sku": "DWKK-102147",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-GRAS-01 has no Shopify match. Variant DWKK-102147 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-DAMA-14",
+ "pattern": "Heirloom Damask",
+ "roll_width_in": 27,
+ "roll_length_ft": 27,
+ "pattern_repeat_in": 25,
+ "match": "straight",
+ "price_per_roll": 112.12,
+ "hex": "#3a4a5a",
+ "shopify_variant_id": 44506755465267,
+ "shopify_price": 112.12,
+ "shopify_sku": "DWKK-103185",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-DAMA-14 has no Shopify match. Variant DWKK-103185 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-FLOR-22",
+ "pattern": "Garden Chintz",
+ "roll_width_in": 20.5,
+ "roll_length_ft": 33,
+ "pattern_repeat_in": 21,
+ "match": "half-drop",
+ "price_per_roll": 82.42,
+ "hex": "#7a9a6a",
+ "shopify_variant_id": 44489551839283,
+ "shopify_price": 82.42,
+ "shopify_sku": "DWKK-102950",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-FLOR-22 has no Shopify match. Variant DWKK-102950 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-GEOM-07",
+ "pattern": "Deco Fan",
+ "roll_width_in": 27,
+ "roll_length_ft": 27,
+ "pattern_repeat_in": 12.5,
+ "match": "straight",
+ "price_per_roll": 112.12,
+ "hex": "#d4c04a",
+ "shopify_variant_id": 44506878148659,
+ "shopify_price": 112.12,
+ "shopify_sku": "DWKK-103190",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-GEOM-07 has no Shopify match. Variant DWKK-103190 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-STRP-03",
+ "pattern": "Regency Stripe",
+ "roll_width_in": 21,
+ "roll_length_ft": 33,
+ "pattern_repeat_in": 0,
+ "match": "random",
+ "price_per_roll": 112.12,
+ "hex": "#8a2a2a",
+ "shopify_variant_id": 44505956810803,
+ "shopify_price": 112.12,
+ "shopify_sku": "DWKK-103182",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-STRP-03 has no Shopify match. Variant DWKK-103182 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-TOIL-09",
+ "pattern": "Provence Toile",
+ "roll_width_in": 27,
+ "roll_length_ft": 27,
+ "pattern_repeat_in": 18.75,
+ "match": "straight",
+ "price_per_roll": 94.42,
+ "hex": "#2a3a4a",
+ "shopify_variant_id": 44472518803507,
+ "shopify_price": 94.42,
+ "shopify_sku": "DWKK-102148",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-TOIL-09 has no Shopify match. Variant DWKK-102148 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-CORK-01",
+ "pattern": "Phillipe Romano Cork",
+ "roll_width_in": 36,
+ "roll_length_ft": 24,
+ "pattern_repeat_in": 0,
+ "match": "random",
+ "price_per_roll": 204.60,
+ "hex": "#b89a6a",
+ "shopify_variant_id": 44476584329267,
+ "shopify_price": 204.60,
+ "shopify_sku": "DWKK-102858",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-CORK-01 has no Shopify match. Variant DWKK-102858 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ },
+ {
+ "sku": "DW-SILK-05",
+ "pattern": "Shantung Silk",
+ "roll_width_in": 36,
+ "roll_length_ft": 24,
+ "pattern_repeat_in": 0,
+ "match": "random",
+ "price_per_roll": 112.12,
+ "hex": "#e0d4c0",
+ "shopify_variant_id": 44504780046387,
+ "shopify_price": 112.12,
+ "shopify_sku": "DWKK-103181",
+ "shopify_match": false,
+ "_note": "STANDIN: prototype SKU DW-SILK-05 has no Shopify match. Variant DWKK-103181 used for checkout handoff. PRODUCTION: pull roll_width_in/roll_length_ft/pattern_repeat_in from Shopify metafields keyed by variant_id."
+ }
]
← c033c9b shopify: add static catalog pull (200 real DW products, chec
·
back to Estimate Instant
·
shopify: wire server to static catalog — estimate returns ca 4349f95 →