[object Object]

← back to Greenland Onboard

initial scaffold: greenland-onboard (feed-first API mapped, staging table)

7d57d2c84e3ddb0e9b233fad8c37cfd5306a9e51 · 2026-07-10 17:13:06 -0700 · Steve

Files touched

Diff

commit 7d57d2c84e3ddb0e9b233fad8c37cfd5306a9e51
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Jul 10 17:13:06 2026 -0700

    initial scaffold: greenland-onboard (feed-first API mapped, staging table)
---
 .gitignore |  8 ++++++++
 README.md  | 14 ++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6cfece0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+data/*.json
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d621eb0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+# Greenland Wallcoverings — onboarding
+
+Vendor: **Greenland** (greenlandwallcoverings.com). Feed-first crack of the Vue SPA's
+open JSON API at `api.greenlandwallcoverings.com/api`.
+
+- Category tree: `GET /api/category/index`
+- Product list:  `GET /api/product/page?categoryId=<tab>&subCategoryIds=<leaf,leaf>&page=&pageSize=`
+- Product detail:`GET /api/product/<ID>`
+- Images:        `GET /api/downloadFile?fileName=...`
+
+Cork line = Wallcovering(1) > Crafted(14) > Handmade(33) > **Cork(40)** = 100 SKUs.
+GOTCHA: `name`/`code` fields are inconsistently swapped (SKU vs color name) per-record — normalized by regex.
+
+Staging table: `greenland_catalog` in dw_unified. Shopify push is GATED.

(oldest)  ·  back to Greenland Onboard  ·  scrape 100 Greenland cork SKUs → greenland_catalog (feed-fir c709b6a →