Intégrez le moteur de recommandation de taille PerfectFit sur votre site en quelques lignes.
Toutes les requĂȘtes doivent inclure votre clĂ© API dans le header Authorization :
Authorization: Bearer pf_live_...Clé active : pf_live_YOUR_KEY_HEREhttps://perfect-fit-poc.vercel.app/api/v1Préférez le widget script tagsi vous n'avez pas de backend. Une balise <script> suffit.
// 1. Obtenir une recommandation de taille
const response = await fetch('https://perfect-fit-poc.vercel.app/api/v1/recommend', {
method: 'POST',
headers: {
'Authorization': 'Bearer pf_live_YOUR_KEY_HERE',
'Content-Type': 'application/json',
},
body: JSON.stringify({
chest_cm: 96,
waist_cm: 80,
category: 'tshirt',
gender: 'homme',
}),
});
const { recommended_size, score } = await response.json();
// â { recommended_size: "M", score: 91, label: "TrĂšs bon fit" }
// 2. Récupérer les produits disponibles en taille M
const products = await fetch(
'https://perfect-fit-poc.vercel.app/api/v1/products?size=' + recommended_size + '&category=tshirt',
{ headers: { 'Authorization': 'Bearer pf_live_YOUR_KEY_HERE' } }
).then(r => r.json());Le widget PerfectFit s'intĂšgre en une seule balise <script> sur votre page produit. Il affiche un bouton flottant "Trouver ma taille" qui ouvre un iframe modal â aucun build, aucune dĂ©pendance.
Essayez-le sur la dĂ©mo interactive â
<script src="https://perfect-fit-poc.vercel.app/widget.js" data-pf-key="pf_live_YOUR_KEY_HERE" data-pf-tenant="celio-fr" data-pf-category="tshirt" data-pf-gender="homme" data-pf-color="#E30613" data-pf-label="Trouver ma taille" data-pf-position="bottom-right" async> </script>
Le widget expose window.PerfectFit pour un contrĂŽle programmatique :
// Ouvrir / fermer manuellement
window.PerfectFit.open();
window.PerfectFit.close();
// Ăcouter la recommandation depuis l'iframe
window.addEventListener('message', function(e) {
if (e.data && e.data.type === 'PF_RECOMMENDATION') {
console.log('Taille recommandée :', e.data.size); // "M"
console.log('Score :', e.data.score); // 91
}
});L'iframe envoie PF_CLOSE pour demander la fermeture, et PF_RECOMMENDATION lors d'une recommandation réussie.