Bowmark AIdocs

Chantecaille

Chantecaille's own Foundation Shade Match Quiz, reimplemented over its real Cartful Solutions scoring engine: read the real live question taxonomy, and…

Chantecaille's own Foundation Shade Match Quiz, reimplemented over its real Cartful Solutions scoring engine: read the real live question taxonomy, and get real ranked foundation matches — name, price, product page — computed by the site's own engine for a stated undertone, skin tone, finish, skincare benefits and coverage.

Domain: chantecaille.com

Also known as: Chantecaille, chantecaille, chantecaille.com

Call it directly

bowmark.providers.chantecaille.getFoundationQuizTaxonomy(): Promise<QuizQuestion[]>
bowmark.providers.chantecaille.matchFoundation(selections: FoundationSelections): Promise<FoundationMatch[]>

Functions

FunctionWhat it does
getFoundationQuizTaxonomyReads Chantecaille's real, live Foundation Shade Match Quiz question and answer taxonomy off its own Cartful Solutions bundle — the real option names to pass to matchFoundation.
matchFoundationChantecaille's own Foundation Shade Match Quiz, run for real: posts the caller's selections to the site's own scoring engine and returns the real ranked foundation matches, highest score…

Types

// Chantecaille's OWN shapes — not a capability contract.

interface QuizQuestion {
  id: string;
  code: string;          // e.g. "undertone", "tone", "look", "benefits", "coverage"
  name: string;           // e.g. "Undertone"
  question: string;       // the site's own prompt text
  answers: { id: string; code: string; name: string }[];
}

interface FoundationSelections {
  undertone: string;      // e.g. "Cool" — code or name, from getFoundationQuizTaxonomy()
  skinTone: string;       // e.g. "Medium Deep"
  skinLook: string;       // e.g. "Smooth and flawless"
  benefits: string[];     // e.g. ["Hydration"] — [] answers the site's own "Skip"
  coverage: string;       // e.g. "Light" | "Medium" | "Full"
}

interface FoundationMatch {
  name: string;            // e.g. "Future Skin - Maple"
  score: number;           // the site's own computed match score
  price: string;
  displayPrice: string;    // e.g. "$95.00"
  productUrl: string;      // real product page, this exact shade preselected
  productImageUrl: string;
  description: string;
}

Examples

// Chantecaille's own quiz, run for a stated skin profile
const matches = await bowmark.providers.chantecaille.matchFoundation({
  undertone: "Cool",
  skinTone: "Medium Deep",
  skinLook: "Smooth and flawless",
  benefits: ["Hydration"],
  coverage: "Light",
});
const top = matches[0];
return { recommendation: top.name, price: top.displayPrice, buy: top.productUrl };
// What are the real quiz questions and answer options?
const taxonomy = await bowmark.providers.chantecaille.getFoundationQuizTaxonomy();
return taxonomy.map((q) => `${q.question}: ${q.answers.map((a) => a.name).join(", ")}`);