AACsearch
Коннекторы и виджет

Хостинговый виджет поиска

Встройте виджет AACsearch в вашу витрину с помощью одного тега script. Vanilla JS, Shadow DOM, пять локалей.

Хостинговый виджет AACsearch — самодостаточный UI поиска, который вы встраиваете в любую витрину с помощью одного тега <script>. Он берёт на себя строку поиска, сетку результатов, фасеты, сортировку, пагинацию и отслеживание кликов — без зависимости от фреймворка и шага сборки на вашей стороне.

Технический обзор

СвойствоЗначение
РеализацияVanilla JS, написан с нуля (без InstantSearch.js, без React)
Изоляция стилейShadow DOM — стили виджета не могут утекать в CSS вашего магазина
Размер бандла~14 КБ минифицированный (двойной вывод IIFE + ESM)
Обслуживается поGET /api/widget/widget.js (CORS разрешён, кэширован)
АутентификацияТребует ключ API ss_search_*, встроенный в data-api-key
Локалиen, de, es, fr, ru

Виджет никогда не раскрывает административный ключ AACSearch. Он общается только через публичный поисковый эндпоинт, используя ограниченный ключ ss_search_*, который вы предоставляете.

Сниппет встраивания

Скопируйте сниппет из Панели управления → Поиск → вкладка Виджет и вставьте его в <head> вашей витрины или перед закрывающим тегом </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>

Также добавьте элемент-контейнер туда, где хотите, чтобы отображался виджет:

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

Виджет инициализируется автоматически при загрузке скрипта. Дополнительный код инициализации JavaScript не требуется.

Атрибуты конфигурации

Вся конфигурация осуществляется через атрибуты data-* тега <script>.

АтрибутОбязателенПо умолчаниюОписание
data-base-urlДаБазовый URL вашего экземпляра AACsearch
data-api-keyДаКлюч ss_search_* (только область поиска)
data-index-slugДаСлаг поискового индекса для запросов
data-containerДаCSS-селектор элемента-контейнера
data-localeНет"en"Локаль UI: en, de, es, fr или ru
data-themeНет"auto"Цветовая тема: "light", "dark" или "auto"
data-modeНет"inline"Режим отображения: "inline" или "modal"
data-show-pricesНет"true"Показывать цены товаров в результатах
data-show-imagesНет"true"Показывать изображения товаров в результатах

Режим: inline vs modal

inline — виджет рендерится непосредственно внутри элемента-контейнера. Подходит для выделенной страницы поиска или заметной секции поиска.

modal — виджет появляется как оверлей. Модальное окно, как правило, открывается по нажатию кнопки или сочетанию клавиш. (Примечание: кнопка-триггер модального окна должна быть добавлена вашей темой.)

Автоопределение локали

Виджет разрешает локали по цепочке запасных вариантов: атрибут data-locale → базовый язык (en-USen) → "en". Если передать "ru-RU", разрешится в "ru".

Требования к API-ключу

Атрибут data-api-key должен быть ключом ss_search_*, а не токеном коннектора или административным ключом. Ключи поиска имеют только область search и могут безопасно встраиваться в HTML, видимый браузеру.

Создайте ключ поиска в Панели управления → Поиск → API-ключи → Создать ключ и выберите область search.

Если вы ограничиваете ключ конкретными источниками (allowedOrigins), добавьте домен вашей витрины в список разрешённых.

Режимы отображения и состояния UI

Виджет автоматически обрабатывает следующие состояния:

СостояниеЧто видит пользователь
Ожидание (нет запроса)Текст-подсказка в поле
ЗагрузкаСпиннер «Идёт поиск...»
РезультатыСетка товаров с фасетами, элементами управления сортировкой и пагинацией
Нет результатовПустое состояние с предложением попробовать другой термин
ОшибкаДеградированное состояние со всё ещё функциональной строкой поиска

Поддерживаемые языки

Все строки UI встроены в бандл виджета. Внешние запросы i18n отсутствуют.

ЛокальЯзык
enАнглийский
deНемецкий
ruРусский
esИспанский
frФранцузский

CSS-кастомизация

Виджет использует CSS-переменные, ограниченные хостом Shadow DOM. Вы можете переопределять их, нацелившись на элемент-контейнер:

/* Применяются внутри Shadow DOM через наследование CSS через :host */
#aac-search {
	--aac-primary: #e60000;
	--aac-radius: 4px;
}

Доступные CSS-переменные: --aac-primary, --aac-primary-hover, --aac-bg, --aac-bg-secondary, --aac-text, --aac-text-secondary, --aac-border, --aac-radius.

Тёмный режим обрабатывается автоматически при data-theme="auto" — виджет определяет системное предпочтение через prefers-color-scheme.

Аналитика

Виджет отслеживает поведение при поиске и отправляет события на POST /api/events/track. События включают search_query, zero_results, result_click, widget_open и filter_used. Полный справочник событий смотрите в разделе Аналитические события виджета.

Связанные страницы

On this page