AACsearch
Connecteurs & Widget

Widget de recherche hébergé

Intégrez le widget AACsearch dans votre boutique avec une seule balise script. Vanilla JS, Shadow DOM, cinq locales.

Le widget hébergé AACsearch est une UI de recherche autonome que vous intégrez dans n'importe quelle boutique avec une seule balise <script>. Il gère la saisie de recherche, la grille de résultats, les facettes, le tri, la pagination et le suivi des clics — sans dépendance à un framework ni étape de build de votre côté.

Vue d'ensemble technique

PropriétéValeur
ImplémentationVanilla JS, fait main (pas InstantSearch.js, pas React)
Isolation des stylesShadow DOM — les styles du widget ne peuvent pas déborder dans le CSS de votre boutique
Taille du bundle~14 Ko minifié (sortie duale IIFE + ESM)
Servi àGET /api/widget/widget.js (CORS autorisé, mis en cache)
AuthNécessite une clé API ss_search_* intégrée dans data-api-key
Localesen, de, es, fr, ru

Le widget n'expose jamais de clé admin de la recherche. Il communique uniquement via le point de terminaison de recherche public en utilisant la clé ss_search_* limitée que vous fournissez.

Extrait d'intégration

Copiez l'extrait depuis Tableau de bord → Search → onglet Widget et collez-le dans le <head> de votre boutique ou avant la balise fermante </body> :

<script
	src="https://app.aacsearch.com/api/widget/widget.js"
	data-base-url="https://app.aacsearch.com"
	data-api-key="ss_search_your_key_here"
	data-index-slug="products"
	data-container="#aac-search"
	data-theme="auto"
></script>

Ajoutez également l'élément conteneur où vous souhaitez que le widget s'affiche :

<div id="aac-search"></div>

Le widget s'initialise automatiquement au chargement du script. Aucun code d'initialisation JavaScript n'est requis.

Attributs de configuration

Toute la configuration se fait via les attributs data-* sur la balise <script>.

AttributRequisDéfautDescription
data-base-urlOuiURL de base de votre instance AACsearch
data-api-keyOuiUne clé ss_search_* (portée recherche seule)
data-index-slugOuiSlug de l'index de recherche à interroger
data-containerOuiSélecteur CSS pour l'élément conteneur
data-localeNon"en"Locale UI : en, de, es, fr ou ru
data-themeNon"auto"Thème de couleur : "light", "dark" ou "auto"
data-modeNon"inline"Mode d'affichage : "inline" ou "modal"
data-show-pricesNon"true"Afficher les prix des produits dans les résultats
data-show-imagesNon"true"Afficher les images des produits dans les résultats

Mode : inline vs modal

inline — le widget s'affiche directement dans l'élément conteneur. Convient pour une page de recherche dédiée ou une section de recherche bien visible.

modal — le widget apparaît comme une superposition. La superposition modale est généralement déclenchée par un clic sur un bouton ou un raccourci clavier. (Remarque : le bouton de déclenchement modal doit être câblé par votre thème.)

Détection automatique de la locale

Le widget résout les locales avec une chaîne de repli : attribut data-locale → langue de base (en-USen) → "en". Si vous passez "ru-RU", il se résout en "ru".

Exigences relatives à la clé API

L'attribut data-api-key doit être une clé ss_search_*, pas un token de connecteur ou une clé admin. Les clés de recherche n'ont que la portée search et peuvent être intégrées en toute sécurité dans le HTML visible par le navigateur.

Créez une clé de recherche dans Tableau de bord → Search → API Keys → Créer une clé et sélectionnez la portée search.

Si vous restreignez la clé à des origines spécifiques (allowedOrigins), ajoutez le domaine de votre boutique à la liste d'autorisation.

Modes d'affichage et états UI

Le widget gère automatiquement ces états :

ÉtatCe que l'utilisateur voit
Inactif (pas de requête)Texte de remplacement d'invite
ChargementIndicateur de chargement « Recherche en cours... »
RésultatsGrille de produits avec facettes, contrôles de tri, pagination
Zéro résultatsÉtat vide avec suggestion d'essayer un terme différent
ErreurÉtat dégradé avec la saisie de recherche toujours fonctionnelle

Langues prises en charge

Toutes les chaînes UI sont intégrées dans le bundle du widget. Pas de récupération i18n externe.

LocaleLangue
enAnglais
deAllemand
ruRusse
esEspagnol
frFrançais

Personnalisation CSS

Le widget utilise des propriétés personnalisées CSS limitées à son hôte Shadow DOM. Vous pouvez les remplacer en ciblant l'élément conteneur :

/* Ces valeurs s'appliquent à l'intérieur du Shadow DOM via l'héritage CSS à travers :host */
#aac-search {
	--aac-primary: #e60000;
	--aac-radius: 4px;
}

Variables CSS disponibles : --aac-primary, --aac-primary-hover, --aac-bg, --aac-bg-secondary, --aac-text, --aac-text-secondary, --aac-border, --aac-radius.

Le mode sombre est géré automatiquement lorsque data-theme="auto" — le widget détecte les préférences système via prefers-color-scheme.

Analyses

Le widget suit le comportement de recherche et envoie des événements à POST /api/events/track. Les événements incluent search_query, zero_results, result_click, widget_open et filter_used. Consultez Événements analytiques du widget pour la référence complète des événements.

Pages associées

On this page