PerfectFitAPI v1
← AccueilDĂ©mo boutique

Documentation API

API v1REST · JSON · Bearer token

Intégrez le moteur de recommandation de taille PerfectFit sur votre site en quelques lignes.

Authentification

Toutes les requĂȘtes doivent inclure votre clĂ© API dans le header Authorization :

Authorization: Bearer pf_live_...
Clé active pour les tests
Clé active : pf_live_YOUR_KEY_HERE
URL de base
https://perfect-fit-poc.vercel.app/api/v1
💡
Intégration sans code disponible

Préférez le widget script tagsi vous n'avez pas de backend. Une balise <script> suffit.

Endpoints
Exemple d'intégration JavaScript
// 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());
Intégration Widget (no-code)

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 →

Snippet d'installation
<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>
Attributs disponibles
AttributRequisDéfautDescription
data-pf-keyOui—ClĂ© API publique du tenant (format pk_live_
)
data-pf-tenantOui—Slug du tenant (ex: celio-fr). UtilisĂ© pour charger la config couleur/logo.
data-pf-categoryNon""Catégorie pré-sélectionnée : tshirt · pantalon · pull · manteau
data-pf-genderNon""Genre pré-sélectionné : homme · femme
data-pf-colorNonConfig tenantCouleur d'accent du bouton et de l'iframe (hex). Priorité sur la config tenant.
data-pf-labelNonTrouver ma tailleTexte du bouton flottant.
data-pf-positionNonbottom-rightPosition du bouton : bottom-right · bottom-left · top-right · top-left
data-pf-product-idNon""ID produit pour pré-remplir le contexte de recommandation.
API postMessage

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.

PerfectFit API v1 · Contact : api@perfect-fit.io