Classic Home
Classic Home's real Made-to-Order fabric/leather catalog and its real, material-specific Shopify pricing — search real MTO products (sofas, chairs,…
Classic Home's real Made-to-Order fabric/leather catalog and its real, material-specific Shopify pricing — search real MTO products (sofas, chairs, ottomans), read one product's real fabric/leather picker, and resolve one exact fabric or leather choice to its real SKU, price and availability.
Domain: classichome.com
Also known as: Classic Home, classichome, Classic Home Inc., classichome.com
Call it directly
bowmark.providers.classichome.searchProducts(query?: string): Promise<ClassicHomeProduct[]>
bowmark.providers.classichome.getProduct(handle: string): Promise<ClassicHomeProductDetail>
bowmark.providers.classichome.addToCart(handle: string, optionValue: string): Promise<ClassicHomeCartHandoff>Functions
| Function | What it does |
|---|---|
searchProducts | Searches Classic Home's real Made-to-Order catalog (sofas, chairs, ottomans) via the site's own Shopify collection JSON, optionally filtered by a free-text query against the product title. |
getProduct | Reads one product's real live fabric/leather picker: every real color/material choice with its own real price and availability, keyed by the site's own option name. |
addToCart | Resolves ONE exact fabric/leather choice (optionValue from getProduct's own variant list, e.g. "Soft Olive") to Classic Home's own real price, availability and SKU, plus the product page to… |
Types
// Classic Home's OWN shapes — not a capability contract.
interface ClassicHomeProduct {
handle: string; // the key getProduct/addToCart take
title: string;
url: string;
priceMin: number; // dollars — the cheapest real fabric/leather choice
priceMax: number; // dollars — the most expensive (usually top-grain leather)
variantCount: number; // >1 means a real fabric/leather choice exists
}
interface ClassicHomeVariant {
optionValue: string; // e.g. "Soft Olive", "Dawn-Flax", "ElPaso-Saddle"
sku: string;
price: number; // dollars — this exact fabric/leather's own real price
available: boolean;
}
interface ClassicHomeProductDetail {
handle: string;
title: string;
url: string;
optionName: string; // usually "Color" (fabric/leather); "Title" if no real picker
variants: ClassicHomeVariant[];
}
interface ClassicHomeCartHandoff {
handle: string;
optionValue: string;
sku: string;
price: number; // dollars — the real price for this exact fabric/leather
available: boolean;
productUrl: string; // finish add-to-cart/checkout on the real product page
}Examples
// What does the Aspen Sofa actually cost in Pacific Blue?
const products = await bowmark.providers.classichome.searchProducts("aspen sofa");
const aspen = products[0];
const detail = await bowmark.providers.classichome.getProduct(aspen.handle);
const handoff = await bowmark.providers.classichome.addToCart(aspen.handle, "Pacific Blue");
return { price: handoff.price, sku: handoff.sku, available: handoff.available, finishOnSite: handoff.productUrl };// Which Made-to-Order pieces have a real fabric/leather picker, and what's the price range?
const products = await bowmark.providers.classichome.searchProducts();
return products
.filter((p) => p.variantCount > 1)
.map((p) => `${p.title}: $${p.priceMin}-$${p.priceMax} (${p.variantCount} fabrics/leathers)`);