Sun Home Saunas
Sun Home Saunas' live Digioh buyer quiz — its current questions, published product-ranking rules, real Shopify prices, and a real cart write for a…
Sun Home Saunas' live Digioh buyer quiz — its current questions, published product-ranking rules, real Shopify prices, and a real cart write for a recommended product — no login or dealer routing.
Domain: sunhomesaunas.com
Also known as: Sun Home Saunas, Sun Home, sunhomesaunas, sunhomesaunas.com
Call it directly
bowmark.providers.sunhomesaunas.getSaunaFinderQuestions(): Promise<SunHomeSaunasQuizQuestion[]>
bowmark.providers.sunhomesaunas.getPersonalizedSaunaMatches(answers: {questionId: string, optionIds: string[]}[]): Promise<SunHomeSaunasMatch[]>
bowmark.providers.sunhomesaunas.addSaunaToCart(handle: string, quantity?: number): Promise<SunHomeSaunasCartResult>Functions
| Function | What it does |
|---|---|
getSaunaFinderQuestions | Reads Sun Home Saunas' real, live Digioh buyer quiz from its published breakpoint configuration — every current question and answer button, with the ids getPersonalizedSaunaMatches() needs… |
getPersonalizedSaunaMatches | Applies real answers (from getSaunaFinderQuestions()) to the live Digioh prq_keywords rules the site's quiz publishes, then returns the site's own weighted ranking with real current… |
addSaunaToCart | Adds one real matched product (a handle from getPersonalizedSaunaMatches()) to a real Shopify cart at Sun Home Saunas' own real live price, and reads the cart back to confirm the write… |
Types
// Sun Home Saunas' OWN shapes — not a capability contract.
interface SunHomeSaunasQuizOption {
id: string;
label: string;
}
interface SunHomeSaunasQuizQuestion {
id: string; // pass back as answers[].questionId
title: string;
type: string; // the site's own Digioh question type, e.g. "DIGIOH_PRQ"
options: SunHomeSaunasQuizOption[]; // option.id -> answers[].optionIds
}
interface SunHomeSaunasMatch {
handle: string; // the key addSaunaToCart takes
title: string;
price: number; // dollars — real live Shopify price
matchScore: number; // selected answers that positively weighted this product
matchOutOf: number; // submitted answer selections
}
interface SunHomeSaunasCartResult {
handle: string;
title: string;
variantId: number;
linePrice: number; // dollars, for the quantity added
quantity: number;
cartItemCount: number; // the live cart's total items AFTER this add
cartTotal: number; // dollars — the live cart's total price after this add
}Examples
// What does Sun Home recommend for two people who want a sauna indoors?
const questions = await bowmark.providers.sunhomesaunas.getSaunaFinderQuestions();
const pick = (title, label) => {
const q = questions.find(q => q.title.includes(title));
return { questionId: q.id, optionIds: [q.options.find(o => o.label.includes(label)).id] };
};
const matches = await bowmark.providers.sunhomesaunas.getPersonalizedSaunaMatches([
pick("Which Sun Home Setup", "Sauna"),
pick("How People Use Sauna", "2 people"),
pick("Where Likely Place Sauna", "Indoor wellness space"),
]);
const top = matches[0];
const cart = await bowmark.providers.sunhomesaunas.addSaunaToCart(top.handle);
return { recommendation: top, cart };