← back to Dw Dead Image Recovery
TK-11050 item-4: 33 corrected Rebel Walls mural draft payloads (real DWRW-R codes, Model A, gated)
e855b876eab0ed302ebd1202852e12fdf1f074d8 · 2026-08-31 16:56:41 -0700 · Steve Abrams
Files touched
A data/tk11050-item4-33corrected/create-33-draft.mjsA data/tk11050-item4-33corrected/new33.jsonA data/tk11050-item4-33corrected/undo-delete-created.mjs
Diff
commit e855b876eab0ed302ebd1202852e12fdf1f074d8
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 31 16:56:41 2026 -0700
TK-11050 item-4: 33 corrected Rebel Walls mural draft payloads (real DWRW-R codes, Model A, gated)
---
data/tk11050-item4-33corrected/create-33-draft.mjs | 78 ++++++++++++++++++++++
data/tk11050-item4-33corrected/new33.json | 1 +
.../undo-delete-created.mjs | 14 ++++
3 files changed, 93 insertions(+)
diff --git a/data/tk11050-item4-33corrected/create-33-draft.mjs b/data/tk11050-item4-33corrected/create-33-draft.mjs
new file mode 100644
index 0000000..7e95010
--- /dev/null
+++ b/data/tk11050-item4-33corrected/create-33-draft.mjs
@@ -0,0 +1,78 @@
+#!/usr/bin/env node
+// TK-11050 item-4 — create 33 corrected Rebel Walls mural DRAFT products on the LIVE store.
+// SAFE BY DEFAULT: dry-run. Real create requires RUN=1 . Undo writes created ids to created-ids.json.
+// Model A: flat $191 "Sold Per Square Meter" variant + per-sqm carried in custom.mural_price_per_sqm metafield.
+import fs from 'node:fs';
+import path from 'node:path';
+
+const DOMAIN='designer-laboratory-sandbox.myshopify.com';
+const API='2024-10';
+const TOKEN=process.env.SHOPIFY_ADMIN_TOKEN;
+const RUN=process.env.RUN==='1';
+const DIR=path.dirname(new URL(import.meta.url).pathname);
+const items=JSON.parse(fs.readFileSync(path.join(DIR,'new33.json'),'utf8'));
+if(RUN && !TOKEN){ console.error('SHOPIFY_ADMIN_TOKEN required for RUN=1'); process.exit(1); }
+
+const base=`https://${DOMAIN}/admin/api/${API}`;
+const H={'X-Shopify-Access-Token':TOKEN,'Content-Type':'application/json'};
+
+function buildProduct(it){
+ return {
+ product:{
+ title: it.title,
+ vendor: 'Rebel Walls',
+ product_type: 'Wallcovering',
+ status: 'draft', // NEVER active without image+width verified — start draft
+ tags: 'Rebel Walls, Mural, Wallcovering, Non-woven',
+ images: [{ src: it.image_url }],
+ variants: [
+ { title:'Sold Per Square Meter', option1:'Sold Per Square Meter',
+ sku: it.product_variant_sku, price: String(it.product_variant_price),
+ inventory_management:'shopify', inventory_policy:'continue' },
+ { title:'Sample', option1:'Sample',
+ sku: it.sample_variant_sku, price: String(it.sample_price),
+ inventory_management:null, inventory_policy:'continue' } // sample: no inventory tracking
+ ],
+ options:[{name:'Title'}],
+ metafields: [
+ {namespace:'custom', key:'mural_price_per_sqm', type:'number_decimal', value:String(it.mf_mural_price_per_sqm)},
+ {namespace:'custom', key:'mural_price_base', type:'number_decimal', value:String(it.mf_mural_price_base)},
+ {namespace:'custom', key:'manufacturer_sku', type:'single_line_text_field', value:it.mfr_sku},
+ {namespace:'global', key:'manufacturer_sku', type:'single_line_text_field', value:it.mfr_sku},
+ {namespace:'dwc', key:'manufacturer_sku', type:'single_line_text_field', value:it.mfr_sku},
+ {namespace:'custom', key:'pattern_name', type:'single_line_text_field', value:it.pattern_color},
+ {namespace:'dwc', key:'pattern_name', type:'single_line_text_field', value:it.pattern_color},
+ {namespace:'custom', key:'brand', type:'single_line_text_field', value:'Rebel Walls'},
+ {namespace:'dwc', key:'brand', type:'single_line_text_field', value:'Rebel Walls'},
+ {namespace:'custom', key:'supplier_name', type:'single_line_text_field', value:'Rebel Walls'},
+ {namespace:'dwc', key:'real_vendor', type:'single_line_text_field', value:'Rebel Walls'},
+ {namespace:'custom', key:'real_vendor', type:'single_line_text_field', value:'Rebel Walls'},
+ {namespace:'custom', key:'width', type:'single_line_text_field', value:it.mf_width},
+ {namespace:'dwc', key:'width', type:'single_line_text_field', value:it.mf_width},
+ {namespace:'global', key:'width', type:'single_line_text_field', value:it.mf_width},
+ {namespace:'custom', key:'product_class', type:'single_line_text_field', value:'Wallcovering'},
+ {namespace:'global', key:'unit_of_measure', type:'single_line_text_field', value:'Full Roll'}
+ ]
+ }
+ };
+}
+
+const created=[];
+let i=0;
+for(const it of items){
+ i++;
+ const payload=buildProduct(it);
+ if(!RUN){
+ if(i<=2) console.log(JSON.stringify(payload,null,2));
+ console.log(`[dry-run ${i}/33] ${it.dw_sku} "${it.title}" variant=$${it.product_variant_price} per_sqm_mf=${it.mf_mural_price_per_sqm}`);
+ continue;
+ }
+ const r=await fetch(`${base}/products.json`,{method:'POST',headers:H,body:JSON.stringify(payload)});
+ const j=await r.json();
+ if(!r.ok||!j.product){ console.error(`FAIL ${it.dw_sku}: ${r.status} ${JSON.stringify(j).slice(0,300)}`); continue; }
+ created.push({dw_sku:it.dw_sku, id:j.product.id, admin_gid:`gid://shopify/Product/${j.product.id}`});
+ console.log(`[created ${i}/33] ${it.dw_sku} -> ${j.product.id}`);
+ fs.writeFileSync(path.join(DIR,'created-ids.json'),JSON.stringify(created,null,2));
+ await new Promise(s=>setTimeout(s, 700)); // gentle pacing; well under 1k/day variant limit (66 variants)
+}
+if(RUN) console.log(`DONE. created ${created.length}/33. ids -> created-ids.json`);
diff --git a/data/tk11050-item4-33corrected/new33.json b/data/tk11050-item4-33corrected/new33.json
new file mode 100644
index 0000000..42fd1f6
--- /dev/null
+++ b/data/tk11050-item4-33corrected/new33.json
@@ -0,0 +1 @@
+[{"dw_sku":"DWRW-R13372","mfr_sku":"R13372","title":"Marble Black | Rebel Walls","pattern_color":"Marble Black","product_variant_sku":"DWRW-R13372-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R13372-Sample","sample_price":4.25,"mf_mural_price_per_sqm":64.90,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,q_auto:eco/v1687246898/articles/R13372_interior1.jpg"}, {"dw_sku":"DWRW-R19487","mfr_sku":"R19487","title":"Ceramic Tiles Emerald | Rebel Walls","pattern_color":"Ceramic Tiles Emerald","product_variant_sku":"DWRW-R19487-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19487-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1671699187/articles/R19487_interior1.jpg"}, {"dw_sku":"DWRW-R19586","mfr_sku":"R19586","title":"Ceramic Tiles Azurite | Rebel Walls","pattern_color":"Ceramic Tiles Azurite","product_variant_sku":"DWRW-R19586-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19586-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1677831022/articles/R19586_interior1.jpg"}, {"dw_sku":"DWRW-R19587","mfr_sku":"R19587","title":"Ceramic Tiles Onyx | Rebel Walls","pattern_color":"Ceramic Tiles Onyx","product_variant_sku":"DWRW-R19587-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19587-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1677831024/articles/R19587_interior1.jpg"}, {"dw_sku":"DWRW-R19606","mfr_sku":"R19606","title":"Jungle Life Beige | Rebel Walls","pattern_color":"Jungle Life Beige","product_variant_sku":"DWRW-R19606-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19606-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1676383770/articles/R19606_interior1.jpg"}, {"dw_sku":"DWRW-R19610","mfr_sku":"R19610","title":"Over the Hills Light Gray | Rebel Walls","pattern_color":"Over the Hills Light Gray","product_variant_sku":"DWRW-R19610-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19610-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1676386083/articles/R19610_interior1.jpg"}, {"dw_sku":"DWRW-R19613","mfr_sku":"R19613","title":"Ceramic Tiles Bronzite | Rebel Walls","pattern_color":"Ceramic Tiles Bronzite","product_variant_sku":"DWRW-R19613-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19613-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1677831024/articles/R19613_interior1.jpg"}, {"dw_sku":"DWRW-R19771","mfr_sku":"R19771","title":"Map of the World Pale Beige | Rebel Walls","pattern_color":"Map of the World Pale Beige","product_variant_sku":"DWRW-R19771-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19771-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682421291/articles/R19771_interior1.jpg"}, {"dw_sku":"DWRW-R19773","mfr_sku":"R19773","title":"Up and Away Light Gray | Rebel Walls","pattern_color":"Up and Away Light Gray","product_variant_sku":"DWRW-R19773-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19773-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682421716/articles/R19773_interior1.jpg"}, {"dw_sku":"DWRW-R19774","mfr_sku":"R19774","title":"Baby Animals Beige | Rebel Walls","pattern_color":"Baby Animals Beige","product_variant_sku":"DWRW-R19774-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19774-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682421789/articles/R19774_interior1.jpg"}, {"dw_sku":"DWRW-R19775","mfr_sku":"R19775","title":"Baby Jungle Off-White | Rebel Walls","pattern_color":"Baby Jungle Off-White","product_variant_sku":"DWRW-R19775-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19775-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682421882/articles/R19775_interior1.jpg"}, {"dw_sku":"DWRW-R19776","mfr_sku":"R19776","title":"Smooth Jungle Beige | Rebel Walls","pattern_color":"Smooth Jungle Beige","product_variant_sku":"DWRW-R19776-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19776-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682421950/articles/R19776_interior1.jpg"}, {"dw_sku":"DWRW-R19777","mfr_sku":"R19777","title":"Mysterious Jungle Light Gray | Rebel Walls","pattern_color":"Mysterious Jungle Light Gray","product_variant_sku":"DWRW-R19777-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19777-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682422072/articles/R19777_interior1.jpg"}, {"dw_sku":"DWRW-R19778","mfr_sku":"R19778","title":"Monstera Leaves Beige | Rebel Walls","pattern_color":"Monstera Leaves Beige","product_variant_sku":"DWRW-R19778-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19778-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682422188/articles/R19778_interior1.jpg"}, {"dw_sku":"DWRW-R19781","mfr_sku":"R19781","title":"Cumulus Clouds Steel Blue | Rebel Walls","pattern_color":"Cumulus Clouds Steel Blue","product_variant_sku":"DWRW-R19781-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R19781-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1682422528/articles/R19781_interior1.jpg"}, {"dw_sku":"DWRW-R2000","mfr_sku":"R2000","title":"Image Bank Light Sky Blue | Rebel Walls","pattern_color":"Image Bank Light Sky Blue","product_variant_sku":"DWRW-R2000-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R2000-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,q_auto:eco/v1670184738/articles/R2000_product.jpg"}, {"dw_sku":"DWRW-R20009","mfr_sku":"R20009","title":"City World Pastel | Rebel Walls","pattern_color":"City World Pastel","product_variant_sku":"DWRW-R20009-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20009-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1696255060/articles/R20009_interior1.jpg"}, {"dw_sku":"DWRW-R20011","mfr_sku":"R20011","title":"Aquarelle Mountains Green | Rebel Walls","pattern_color":"Aquarelle Mountains Green","product_variant_sku":"DWRW-R20011-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20011-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1696255216/articles/R20011_interior1.jpg"}, {"dw_sku":"DWRW-R20227","mfr_sku":"R20227","title":"Elephant and Friends Blue | Rebel Walls","pattern_color":"Elephant and Friends Blue","product_variant_sku":"DWRW-R20227-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20227-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1703061731/articles/R20227_interior1.jpg"}, {"dw_sku":"DWRW-R20267","mfr_sku":"R20267","title":"Smooth Waves Gray | Rebel Walls","pattern_color":"Smooth Waves Gray","product_variant_sku":"DWRW-R20267-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20267-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1705061148/articles/R20267_interior1.jpg"}, {"dw_sku":"DWRW-R20268","mfr_sku":"R20268","title":"Smooth Waves Beige | Rebel Walls","pattern_color":"Smooth Waves Beige","product_variant_sku":"DWRW-R20268-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20268-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1705061248/articles/R20268_interior1.jpg"}, {"dw_sku":"DWRW-R20320","mfr_sku":"R20320","title":"Bloomy Bouquet Black | Rebel Walls","pattern_color":"Bloomy Bouquet Black","product_variant_sku":"DWRW-R20320-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20320-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1707999978/articles/R20320_interior1.jpg"}, {"dw_sku":"DWRW-R20321","mfr_sku":"R20321","title":"Soft Jungle Beige | Rebel Walls","pattern_color":"Soft Jungle Beige","product_variant_sku":"DWRW-R20321-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20321-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1708000074/articles/R20321_interior1.jpg"}, {"dw_sku":"DWRW-R20388","mfr_sku":"R20388","title":"Circus Town Pastel | Rebel Walls","pattern_color":"Circus Town Pastel","product_variant_sku":"DWRW-R20388-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20388-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1709812089/articles/R20388_interior1.jpg"}, {"dw_sku":"DWRW-R20794","mfr_sku":"R20794","title":"Happy Landscape Multi | Rebel Walls","pattern_color":"Happy Landscape Multi","product_variant_sku":"DWRW-R20794-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20794-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1718795130/articles/R20794_interior1.jpg"}, {"dw_sku":"DWRW-R20795","mfr_sku":"R20795","title":"Happy Landscape Gray | Rebel Walls","pattern_color":"Happy Landscape Gray","product_variant_sku":"DWRW-R20795-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20795-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1718795252/articles/R20795_interior1.jpg"}, {"dw_sku":"DWRW-R20805","mfr_sku":"R20805","title":"Birds and Cages Petrol | Rebel Walls","pattern_color":"Birds and Cages Petrol","product_variant_sku":"DWRW-R20805-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R20805-Sample","sample_price":4.25,"mf_mural_price_per_sqm":64.90,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1724682637/articles/R20805_interior1.jpg"}, {"dw_sku":"DWRW-R21071","mfr_sku":"R21071","title":"Bear Friend Blue | Rebel Walls","pattern_color":"Bear Friend Blue","product_variant_sku":"DWRW-R21071-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21071-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1737721199/articles/R21071_interior1.jpg"}, {"dw_sku":"DWRW-R21072","mfr_sku":"R21072","title":"Happy Bear Beige | Rebel Walls","pattern_color":"Happy Bear Beige","product_variant_sku":"DWRW-R21072-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21072-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1737721376/articles/R21072_interior1.jpg"}, {"dw_sku":"DWRW-R21390","mfr_sku":"R21390","title":"Faded Tropics Green | Rebel Walls","pattern_color":"Faded Tropics Green","product_variant_sku":"DWRW-R21390-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21390-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1739451663/articles/R21390_interior1.jpg"}, {"dw_sku":"DWRW-R21637","mfr_sku":"R21637","title":"Twilight Bouquet Dark | Rebel Walls","pattern_color":"Twilight Bouquet Dark","product_variant_sku":"DWRW-R21637-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21637-Sample","sample_price":4.25,"mf_mural_price_per_sqm":76.40,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,/l_common:rw_watermark,w_0.90,fl_relative,o_25,q_auto:eco/v1747229085/articles/R21637_interior1.jpg"}, {"dw_sku":"DWRW-R21792","mfr_sku":"R21792","title":"Etching Park Blue | Rebel Walls","pattern_color":"Etching Park Blue","product_variant_sku":"DWRW-R21792-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21792-Sample","sample_price":4.25,"mf_mural_price_per_sqm":64.90,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,q_auto:eco/v1756733026/articles/R21792_interior1.jpg"}, {"dw_sku":"DWRW-R21794","mfr_sku":"R21794","title":"Etching Park Black & White | Rebel Walls","pattern_color":"Etching Park Black & White","product_variant_sku":"DWRW-R21794-Sold Per Square Meter","product_variant_price":191.00,"sample_variant_sku":"DWRW-R21794-Sample","sample_price":4.25,"mf_mural_price_per_sqm":64.90,"mf_mural_price_base":0.0,"width_in":19.70,"mf_width":"19.7 in / 0.5 m","image_url":"https://res.cloudinary.com/gimmersta-wallpaper/image/upload/c_fill,f_auto,fl_progressive,q_auto,h_1200,q_auto:eco/v1756733815/articles/R21794_interior1.jpg"}]
diff --git a/data/tk11050-item4-33corrected/undo-delete-created.mjs b/data/tk11050-item4-33corrected/undo-delete-created.mjs
new file mode 100644
index 0000000..43730ad
--- /dev/null
+++ b/data/tk11050-item4-33corrected/undo-delete-created.mjs
@@ -0,0 +1,14 @@
+#!/usr/bin/env node
+// Undo: delete the draft products created by create-33-draft.mjs (reads created-ids.json).
+import fs from 'node:fs'; import path from 'node:path';
+const DOMAIN='designer-laboratory-sandbox.myshopify.com', API='2024-10';
+const TOKEN=process.env.SHOPIFY_ADMIN_TOKEN; const RUN=process.env.RUN==='1';
+const DIR=path.dirname(new URL(import.meta.url).pathname);
+const ids=JSON.parse(fs.readFileSync(path.join(DIR,'created-ids.json'),'utf8'));
+const H={'X-Shopify-Access-Token':TOKEN,'Content-Type':'application/json'};
+for(const it of ids){
+ if(!RUN){ console.log(`[dry-run] DELETE ${it.dw_sku} id=${it.id}`); continue; }
+ const r=await fetch(`https://${DOMAIN}/admin/api/${API}/products/${it.id}.json`,{method:'DELETE',headers:H});
+ console.log(`${r.ok?'deleted':'FAIL'} ${it.dw_sku} id=${it.id} (${r.status})`);
+ await new Promise(s=>setTimeout(s,500));
+}
← b912f75 auto-data-snapshot: 2026-08-31T14:28:57 (4 data files) — dat
·
back to Dw Dead Image Recovery
·
TK-11050: 33 RW mural drafts, parity per-sqm metafield (83.3 47f4119 →