Craftmaster

Menu






Craftmaster Data Platform

Catalog feeds & interactive 3D for your storefront

One API key unlocks every product data feed — styles, fabrics, leathers, wood finishes, nails — as CSV or JSON, plus the interactive 3D style viewer you can drop onto any page with a single script tag.

Always-on access CSV + JSON CORS-friendly Single-tag embed

01 — Endpoints

Product data endpoints

Append ?api_key=YOUR-KEY to any endpoint. Every feed ships as UTF‑8 CSV by default. Add &format=json to get the same rows as a JSON object with a results array — ideal for pulling straight into your ecommerce stack.

Your key is saved only in this browser. Endpoint URLs become clickable once a key is entered.

GET — Styles

Styles

/data/styles/?api_key=…

Every live style, dimensions, pillow counts, photo URLs, canonical URL, and a prefilled 3D embed snippet for any style with a 3D model.

GET — Fabrics

Fabrics

/data/fabrics/?api_key=…

Fabric swatches with grade, content, cleaning code, rub count, program, color, repeat, and correlates.

GET — Leathers

Leathers

/data/leathers/?api_key=…

Leather swatches with color, finish, thickness, and descriptive copy.

GET — Wood Finishes

Wood Finishes

/data/finishes/?api_key=…

Wood finishes with image and canonical URL.

GET — Nails

Nails

/data/nails/?api_key=…

Nail options with image and canonical URL.

02 — 3D Embed

3D style embed

Drop this script anywhere in the <body> of your product page. We inject the viewer inline, auto-size it to the container, and let shoppers swap fabrics, finishes, and nails in real time.

Snippet<script
  src="https://www.cmfurniture.com/static/embed.js"
  data-style="002910bd"
  data-api-key="craftmaster-demo-key"
  defer></script>

01 — Requirements

Drop-in ready

  • Modern browser with WebGL + JavaScript.
  • HTTPS page hosting the embed.
  • Any active API key — no separate activation.

02 — Styling

Self-contained

  • Injected wrapper uses .craftmaster-three-embed.
  • Responds to the parent container width.
  • Avoid fixed heights — we auto-size.

03 — Troubleshooting

Predictable failures

  • Styles without a 3D model show a fallback message.
  • 403 — key missing or inactive.
  • Email [email protected] with logs.

Live preview — 002910BD (002910bd). Any style with a published 3D model works.

03 — Advanced

JSON embed API

Skip our viewer and wire the 3D model into your own WebGL pipeline. All responses set Access-Control-Allow-Origin: *.

GET — Style data

Style JSON

/data/api/styles/<slug>/?api_key=…

Style metadata, 3D model URL, finish restrictions, and configurable option groups (fabrics, finishes, nails, correlates).

GET — Model binary

3D Model

/data/api/styles/<slug>/model/

The raw GLB/FBX model with CORS-friendly caching.

GET — Iframe

Hosted iframe

/data/embed/<slug>/?api_key=…

The iframe-friendly HTML our script injects for you, if you prefer to host it yourself.

04 — FAQ

Frequently asked questions

Quick answers to the questions we get most often. Anything missing? Email [email protected].

How do I get an API key?
Email [email protected] with your company name and the site you plan to use the feed on. Keys are typically issued the same business day. One key works for every endpoint and the 3D embed.
Are there rate limits?
We don't enforce hard rate limits today, but please cache responses on your end and avoid polling the CSV feeds more than once per hour. Each export is a full table dump. If you need real-time updates, contact us and we can discuss webhooks.
How fresh is the data?
Every response is generated live from the catalog at request time, so you're always seeing the current published state. Wagtail editors publish new fabrics, finishes, and styles throughout the week.
What format are the 3D models?
Models ship as either .glb or .fbx, depending on the style. The three_model.extension field on the JSON response tells you which. The drop-in viewer handles both transparently — only worry about this if you're rendering with your own WebGL pipeline.
Can I host the 3D model on my own CDN?
You can fetch the binary from /data/api/styles/<slug>/model/ and serve it from your own infrastructure. Models update when we re-export them, so you'll need a refresh strategy — we recommend re-pulling weekly or on a content webhook.
Which browsers does the embed support?
Any current evergreen browser with WebGL 2 enabled: Chrome, Edge, Firefox, and Safari (desktop and iOS 15+). The viewer degrades to a static fallback message on browsers without WebGL.
Does the embed set cookies or track users?
No. The embed makes anonymous fetch calls with credentials: "omit" and sets no first-party cookies. The iframe variant runs entirely in a sandboxed context on cmfurniture.com.
How do I report a bug or request a feature?
Email [email protected] with the endpoint, the request URL (omit your API key), the response you got, and what you expected. Screenshots help for embed issues.

Ready to integrate?

Request your API key and start syncing today.

Email [email protected] with your company name and the site you plan to use the feed on. We generate keys in the data console and send them the same day.

Request an API key

On Instagram

Fresh from our feed

Follow Us