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

Le widget récupère automatiquement sa configuration complète (thème, textes CTA, couleurs, animation, position, CSS personnalisé) depuis le backoffice Ekoo en se basant sur votre 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.
Le widget charge automatiquement sa configuration depuis le backoffice. Les attributs d'apparence sont des surcharges optionnelles — inutile de les définir si le backoffice est configuré.
Attributs principaux
data-ekooReq
string
UUID du site Ekoo. Visible dans le backoffice → Paramètres du site.
data-ekoo-product-idReq
string
Référence produit (doit correspondre exactement au catalogue Ekoo).
data-ekoo-locale
string·default: auto
Code langue : fr, en, es, it, de, ar, cn, tw, hk, jp, kr, nl, tr, pl, pt, lu, be, ru. "auto" = détection navigator.language.
data-ekoo-variant
string
Référence stable d’une configuration widget. Le produit, ses audios et ses reviewers restent pilotés par data-ekoo-product-id ; seul l’habillage change.
data-ekoo-review-id
string
ID d'un avis audio spécifique. Si omis, le premier avis publié est utilisé.
data-ekoo-on-event
string (fn name)
Nom d'une fonction globale window appelée à chaque événement widget (printed, played-0, played-25…).
Apparence — surcharges backoffice
data-ekoo-direction
normal | reverse·default: normal
Sens d'expansion. normal = gauche→droite, reverse = droite→gauche.
data-ekoo-scale
number·default: 1
Facteur de zoom (ex: "1.2" pour 20% plus grand).
data-ekoo-animation
string·default: pulse
Type d'animation de l'icône au repos.
data-ekoo-animation-duration
string·default: continuous
Durée de l'animation.
data-ekoo-always-open
boolean·default: false
Si "true", le widget reste toujours déplié.
data-ekoo-show-image
boolean·default: true
Afficher ou masquer l'image produit dans le widget.
data-ekoo-not-fully-clickable
boolean·default: false
Si "true", seul le bouton lecture est cliquable.
data-ekoo-autoplay
boolean·default: false
Lecture audio automatique au chargement.
data-ekoo-show-transcript
boolean·default: false
Afficher un bouton pour lire la transcription.
data-ekoo-show-speed-button
boolean·default: false
Afficher un contrôle de vitesse de lecture.
data-ekoo-closed-state-main-text
string
Texte CTA principal affiché quand le widget est replié.
data-ekoo-closed-state-secondary-text
string
Texte secondaire sous le CTA quand le widget est replié.
SPA & Shadow DOM
data-ekoo-mode
spa | static·default: auto
Force le mode rendu. Auto-détecté (Next.js, Nuxt, React, Vue, Angular, Sapper). À utiliser seulement si la détection auto échoue.
data-shadow-mode
open | closed·default: open
"open" (par défaut) permet l'inspection, l'accès CSS externe et le tracking analytics. Définir à "closed" pour isoler complètement le widget.
Config JS globale
window.EKOO_FORCE_SPA = true
Force le mode SPA globalement (alternative à data-ekoo-mode="spa" sur chaque widget).
window.ekooShadowMode = "open"
Shadow DOM mode global (alternative à data-shadow-mode sur chaque widget).

Attributs principaux

AttributRequisTypeDescriptionDéfaut
data-ekooObligatoirestringVotre identifiant unique de site Ekoo (websiteId)
data-ekoo-product-idObligatoirestringIdentifiant du produit correspondant à votre catalogue Ekoo
data-ekoo-localeOptionnelstringCode locale Ekoo (ex : "fr", "en", "cn"). Voir la page Locales pour la liste complète.Auto-détecté
data-ekoo-variantOptionnelstringRé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-eventOptionnelstringNom d'une fonction globale window à appeler lors des événements du widget (printed, played, etc.)
data-ekoo-review-idOptionnelstringCibler un avis audio spécifique par son ID

Attributs d'apparence

AttributTypeDescriptionDéfaut
data-ekoo-direction"normal" | "reverse"Sens de déploiement de la barre du widget"normal"
data-ekoo-scalestring (numérique)Facteur d'échelle du widget (ex : "1.2")
data-ekoo-animationstringType d'animation. Par défaut, effet d'anneaux pulsants."pulse"
data-ekoo-animation-durationstringDurée de l'animation. Par défaut, boucle indéfiniment."continuous"
data-ekoo-always-openboolean stringSi "true", le widget reste déplié et ne peut pas être replié
data-ekoo-autoplayboolean stringLecture automatique de l'audio au chargement
data-ekoo-show-transcriptboolean stringAfficher le bouton de transcription
data-ekoo-show-speed-buttonboolean stringAfficher le contrôle de vitesse de lecture
data-ekoo-closed-state-main-textstringTexte CTA lorsque le widget est replié
data-ekoo-closed-state-secondary-textstringTexte secondaire lorsque le widget est replié
data-ekoo-show-imageboolean stringAfficher l'image du produit"true"
data-ekoo-not-fully-clickableboolean stringRestreindre la zone de clic au bouton de lecture uniquement

SPA & Shadow DOM

AttributTypeDescriptionDé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.

VariableTypeDescription
window.EKOO_FORCE_SPAbooleanForcer le mode SPA pour tous les widgets de la page
window.ekooShadowModestringDéfinir le mode Shadow DOM globalement ("open" ou "closed")
Configuration JS globale
html
1<script>
2 // Force SPA mode for all widgets on the page
3 window.EKOO_FORCE_SPA = true;
4
5 // Set Shadow DOM mode globally (default: "open")
6 window.ekooShadowMode = "closed";
7</script>
8
9<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 :

  1. La configuration dont la référence correspond à la valeur de l'attribut.
  2. Pour les anciennes intégrations, une configuration dont le nom correspond à la valeur.
  3. La configuration attachée au produit.
  4. 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

Attributs HTML complets
html
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>
2
3<ekoo-widget
4 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

Configuration JavaScript
html
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>
2
3<script>
4 window.ekooOptions = {
5 websiteId: "abc123",
6 widgets: [
7 {
8 nodeId: "ekoo-container", // string (element ID) or function returning an HTMLElement
9 productId: "SKU-001", // string or function returning a string
10 locale: "fr" // string or function returning a string (optional)
11 }
12 ]
13 };
14</script>
15
16<div id="ekoo-container"></div>

Via l'élément personnalisé

L'élément <ekoo-widget> est une alternative au <div> avec data-ekoo attributs :

Élément personnalisé
html
1<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>
2
3<ekoo-widget
4 data-ekoo="abc123"
5 data-ekoo-product-id="SKU-001"
6 data-ekoo-locale="fr"
7></ekoo-widget>
ℹ️

Priorité des attributs

Les attributs data prennent la priorité sur ekooOptions quand les deux sont spécifiés. Utilisez ekooOptions pour les valeurs par défaut globales et les attributs data pour les surcharges par widget.

Ressources associées

Attributs — Documentation — Ekoo