Revision Skincare
Reads and answers Revision Skincare's own Product Finder Quiz (revisionskincare.com/pages/skincare-quiz), returning the site's real computed product…
Reads and answers Revision Skincare's own Product Finder Quiz (revisionskincare.com/pages/skincare-quiz), returning the site's real computed product recommendations.
Domain: revisionskincare.com
Also known as: Revision Skincare, Revision Skincare®, revisionskincare.com
Call it directly
bowmark.providers.revisionskincare.getSkincareQuizQuestions(): Promise<RevisionQuizQuestions>
bowmark.providers.revisionskincare.takeSkincareQuiz(arg: { answers: RevisionQuizAnswer[] }): Promise<RevisionQuizResult>Functions
| Function | What it does |
|---|---|
getSkincareQuizQuestions | Reads the live Product Finder Quiz's real questions, in order, each with its options and answer type. |
takeSkincareQuiz | Submits a shopper's answers to the Product Finder Quiz and returns the site's real computed product recommendations. |
Types
type RevisionQuestionType = "single-select" | "multi-select";
interface RevisionQuizOption {
title: string;
}
interface RevisionQuizQuestion {
questionId: string;
text: string;
type: RevisionQuestionType;
options: RevisionQuizOption[];
}
interface RevisionQuizQuestions {
quizId: string;
channelQuizId: string;
subscriberId: string;
questions: RevisionQuizQuestion[];
}
interface RevisionQuizAnswer {
questionId: string;
type: RevisionQuestionType;
answer: string | string[];
}
interface RevisionRecommendedProduct {
productId: string;
name: string;
description: string;
url: string;
imageUrl: string;
price: number | null;
currencyCode: string | null;
averageRating: number | null;
approvedReviewsCount: number | null;
}
interface RevisionQuizResult {
quizResponseId: string;
title: string;
subtitle: string;
products: RevisionRecommendedProduct[];
}Examples
const { questions } = await bowmark.providers.revisionskincare.getSkincareQuizQuestions();
// questions[0] -> { questionId, text: "What best describes how your skin typically feels?", type: "single-select", options: [...] }
const result = await bowmark.providers.revisionskincare.takeSkincareQuiz({
answers: [
{ questionId: questions[0].questionId, type: "single-select", answer: questions[0].options[1].title },
],
});
// result.products -> the site's own real recommended products for those answers