Prérequis
- Avoir souscrit un plan Tissova (voir nos tarifs)
- Avoir uploadé au moins un modèle 3D dans le dashboard marque
- Récupérer sa clé API depuis le dashboard → onglet Intégration
Installation
Le script s'intègre en une seule balise, à placer une fois dans le template de fiche produit de votre CMS — pas manuellement sur chaque page. Le widget se charge automatiquement partout où ce template est utilisé.
Shopify
<script
src="https://widget.tissova.fr/tissova.js"
data-api-key="VOTRE_CLE_API"
data-produit-id="{{ product.id }}"
></script>À coller dans product.liquid ou votre section produit.
WooCommerce
<script
src="https://widget.tissova.fr/tissova.js"
data-api-key="VOTRE_CLE_API"
data-produit-id="<?php echo get_the_ID(); ?>"
></script>À coller dans single-product.php ou via le hook woocommerce_after_add_to_cart_button.
PrestaShop
<script
src="https://widget.tissova.fr/tissova.js"
data-api-key="VOTRE_CLE_API"
data-produit-id="{$product.id}"
></script>À coller dans le template produit de votre thème.
HTML personnalisé
<script
src="https://widget.tissova.fr/tissova.js"
data-api-key="VOTRE_CLE_API"
data-produit-id="VOTRE_ID_PRODUIT"
></script>Pour un site sans CMS, renseignez directement votre identifiant produit à la place de VOTRE_ID_PRODUIT.
Détection automatique du produit
Si vous ne renseignez pas data-produit-id, le widget détecte automatiquement l'identifiant produit depuis la balise meta suivante, déjà présente sur la majorité des sites utilisant le Pixel Facebook ou Google Shopping :
<meta property="product:retailer_item_id" content="VOTRE_ID_PRODUIT">Cet identifiant doit correspondre exactement à celui renseigné pour le modèle 3D dans votre dashboard Tissova — c'est ce lien qui permet au widget de trouver le bon modèle.
Événements JavaScript
Le widget émet des événements personnalisés sur window que vous pouvez écouter pour réagir aux actions de vos visiteurs :
| Événement | Description |
|---|---|
tissova:ready | Widget initialisé et prêt à l'emploi |
tissova:opened | Popup d'essayage ouverte |
tissova:addToCart | Utilisateur ajoute au panier |
tissova:productNotFound | Aucun modèle 3D trouvé pour l'ID produit détecté — permet de masquer le bouton Tissova si le produit n'est pas encore configuré |
tissova:ready — widget initialisé
window.addEventListener("tissova:ready", (event) => {
console.log(event.detail);
});tissova:opened — popup ouverte
window.addEventListener("tissova:opened", () => {
console.log("Popup ouverte");
});tissova:addToCart — utilisateur ajoute au panier
window.addEventListener("tissova:addToCart", (event) => {
const { produitId, taille, coloris, quantite } = event.detail;
// Ajoutez l'article à votre panier
});tissova:productNotFound — aucun modèle 3D trouvé pour ce produit
window.addEventListener("tissova:productNotFound", (event) => {
console.log(event.detail.produitId);
});Personnalisation du bouton
Le widget détecte automatiquement le bouton « Ajouter au panier » de votre site (Shopify, WooCommerce, PrestaShop reconnus sans configuration) et insère le bouton Tissova juste avant. Pour contrôler précisément l'emplacement, ajoutez l'attribut data-tissova-anchor sur n'importe quel élément : le bouton Tissova s'insérera juste avant cet élément, en priorité sur toute détection automatique.
<!-- Le bouton Tissova apparaîtra ici -->
<button data-tissova-anchor class="btn-add-to-cart">
Ajouter au panier
</button>Si aucune ancre n'est trouvée (ni data-tissova-anchor, ni sélecteur reconnu automatiquement), le bouton apparaît en position fixe, en bas à gauche de l'écran.
Tester l'intégration
- 1.Vérifiez que la clé API est correcte dans le dashboard.
- 2.Vérifiez que la balise meta
product:retailer_item_idest présente. - 3.Vérifiez que l'ID produit correspond à un modèle 3D uploadé dans le dashboard.
- 4.Ouvrez la console du navigateur et vérifiez l'événement
tissova:ready. - 5.Testez sur la page /demo de Tissova pour confirmer que le widget fonctionne.