Référence des attributs
Référence complète de tous les attributs data supportés par l'élément widget Ekoo.
Les attributs d'apparence sont des surcharges optionnelles
websiteId et productId. Vous n'avez besoin des attributs data que si vous souhaitez surcharger la configuration distante pour une instance spécifique du widget.data-ekooReqdata-ekoo-product-idReqdata-ekoo-localeautodata-ekoo-variantdata-ekoo-review-iddata-ekoo-on-eventdata-ekoo-directionnormaldata-ekoo-scale1data-ekoo-animationpulsedata-ekoo-animation-durationcontinuousdata-ekoo-always-openfalsedata-ekoo-show-imagetruedata-ekoo-not-fully-clickablefalsedata-ekoo-autoplayfalsedata-ekoo-show-transcriptfalsedata-ekoo-show-speed-buttonfalsedata-ekoo-closed-state-main-textdata-ekoo-closed-state-secondary-textdata-ekoo-modeautodata-shadow-modeopenwindow.EKOO_FORCE_SPA = truewindow.ekooShadowMode = "open"Attributs principaux
| Attribut | Requis | Type | Description | Défaut |
|---|---|---|---|---|
data-ekoo | Obligatoire | string | Votre identifiant unique de site Ekoo (websiteId) | — |
data-ekoo-product-id | Obligatoire | string | Identifiant du produit correspondant à votre catalogue Ekoo | — |
data-ekoo-locale | Optionnel | string | Code locale Ekoo (ex : "fr", "en", "cn"). Voir la page Locales pour la liste complète. | Auto-détecté |
data-ekoo-variant | Optionnel | string | Référence de la configuration widget à appliquer (ex : "homepage", "product-page"). Ne change que l'habillage du widget — le produit, ses audios et ses reviewers proviennent toujours de data-ekoo-product-id. | — |
data-ekoo-on-event | Optionnel | string | Nom d'une fonction globale window à appeler lors des événements du widget (printed, played, etc.) | — |
data-ekoo-review-id | Optionnel | string | Cibler un avis audio spécifique par son ID | — |
Attributs d'apparence
| Attribut | Type | Description | Défaut |
|---|---|---|---|
data-ekoo-direction | "normal" | "reverse" | Sens de déploiement de la barre du widget | "normal" |
data-ekoo-scale | string (numérique) | Facteur d'échelle du widget (ex : "1.2") | — |
data-ekoo-animation | string | Type d'animation. Par défaut, effet d'anneaux pulsants. | "pulse" |
data-ekoo-animation-duration | string | Durée de l'animation. Par défaut, boucle indéfiniment. | "continuous" |
data-ekoo-always-open | boolean string | Si "true", le widget reste déplié et ne peut pas être replié | — |
data-ekoo-autoplay | boolean string | Lecture automatique de l'audio au chargement | — |
data-ekoo-show-transcript | boolean string | Afficher le bouton de transcription | — |
data-ekoo-show-speed-button | boolean string | Afficher le contrôle de vitesse de lecture | — |
data-ekoo-closed-state-main-text | string | Texte CTA lorsque le widget est replié | — |
data-ekoo-closed-state-secondary-text | string | Texte secondaire lorsque le widget est replié | — |
data-ekoo-show-image | boolean string | Afficher l'image du produit | "true" |
data-ekoo-not-fully-clickable | boolean string | Restreindre la zone de clic au bouton de lecture uniquement | — |
SPA & Shadow DOM
| Attribut | Type | Description | Défaut |
|---|---|---|---|
data-ekoo-mode | "spa" | "static" | Force le mode de rendu SPA ou statique. Par défaut, le widget auto-détecte les frameworks SPA (Next.js, Nuxt, React, Vue, Angular, Sapper). Utilisez ceci seulement si l'auto-détection échoue. | Auto-détecté |
data-shadow-mode | "open" | "closed" | Mode Shadow DOM : "open" permet l'accès CSS externe et le tracking analytics, "closed" fournit une isolation complète | "open" |
Configuration JavaScript globale
Ces variables globales affectent tous les widgets de la page. Définissez-les avant de charger le script Ekoo.
| Variable | Type | Description |
|---|---|---|
window.EKOO_FORCE_SPA | boolean | Forcer le mode SPA pour tous les widgets de la page |
window.ekooShadowMode | string | Définir le mode Shadow DOM globalement ("open" ou "closed") |
1<script>2 // Force SPA mode for all widgets on the page3 window.EKOO_FORCE_SPA = true;45 // Set Shadow DOM mode globally (default: "open")6 window.ekooShadowMode = "closed";7</script>89<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>Descriptions détaillées
data-ekoo
Votre identifiant unique de site web (websiteId), disponible dans le backoffice Ekoo sous les paramètres de votre site. Cette valeur doit correspondre exactement — elle est utilisée pour récupérer votre configuration de widget, styling, et contenu audio associé. Se place sur le conteneur du widget (div ou ekoo-widget), pas sur la balise script.
data-ekoo-product-id
Relie le widget à un produit spécifique dans votre catalogue Ekoo. La valeur doit correspondre exactement à ce qui est configuré dans le backoffice Ekoo. Cet attribut est sensible à la casse — assurez-vous qu'il correspond précisément à votre référence produit.
data-ekoo-locale
Filtre le contenu audio par langue en utilisant un code locale Ekoo (ex : "fr", "en"). Si omis, Ekoo utilise la détection de langue du navigateur pour déterminer le contenu le plus approprié. Quand aucune locale correspondante n'est trouvée, le widget revient à afficher tous les audios disponibles.
data-ekoo-variant
Sélectionne la configuration widget à appliquer via sa référence. Chaque configuration widget du backoffice possède une référence stable que vous choisissez vous-même (par exemple homepage ou product-page) ; renseignez cette valeur ici pour charger la configuration correspondante.
Le produit, ses audios et ses reviewers sont toujours résolus via data-ekoo-product-id. Cet attribut ne change que le widget lui-même — son thème, ses textes CTA, l'animation, la position, le CSS personnalisé. Vous pouvez ainsi réutiliser le même produit à différents endroits de votre site avec des habillages différents, sans le dupliquer.
Au chargement du widget, Ekoo cherche la configuration dans cet ordre, dans le périmètre de votre site et du type de widget courant :
- La configuration dont la référence correspond à la valeur de l'attribut.
- Pour les anciennes intégrations, une configuration dont le nom correspond à la valeur.
- La configuration attachée au produit.
- La configuration par défaut de votre site.
Les références sont uniques au sein d'un site et d'un type de widget : la même référence peut être réutilisée sur des types différents (par exemple standalone et carrousel) sans collision. Si l'attribut est omis, la recherche démarre directement à l'étape 3.
data-ekoo-mode
Force le mode de rendu du widget. Le widget auto-détecte les frameworks SPA (Next.js, Nuxt, React, Vue, Angular, Sapper) et passe automatiquement en mode SPA. Définissez ceci à "spa" seulement si l'auto-détection échoue, ou "static" pour forcer le rendu statique.
data-shadow-mode
Contrôle l'encapsulation Shadow DOM pour le widget. La valeur par défaut "open" permet l'accès CSS externe aux éléments internes du widget, l'inspection via les DevTools et le tracking analytics. Définissez à "closed" si vous avez besoin d'une isolation complète des styles, empêchant vos styles de page d'affecter le widget et vice versa.
Exemples d'utilisation
Via les attributs HTML
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>23<ekoo-widget4 data-ekoo="abc123"5 data-ekoo-product-id="SKU-001"6 data-ekoo-locale="fr"7 data-ekoo-on-event="onEkooEvent"8></ekoo-widget>Via window.ekooOptions
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>23<script>4 window.ekooOptions = {5 websiteId: "abc123",6 widgets: [7 {8 nodeId: "ekoo-container", // string (element ID) or function returning an HTMLElement9 productId: "SKU-001", // string or function returning a string10 locale: "fr" // string or function returning a string (optional)11 }12 ]13 };14</script>1516<div id="ekoo-container"></div>Via l'élément personnalisé
L'élément <ekoo-widget> est une alternative au <div> avec data-ekoo attributs :
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>23<ekoo-widget4 data-ekoo="abc123"5 data-ekoo-product-id="SKU-001"6 data-ekoo-locale="fr"7></ekoo-widget>Priorité des attributs
Ressources associées
- API JavaScript — Fonctions de contrôle programmatique du widget
- Référence des événements — Tous les événements émis par les widgets Ekoo