Синхронизация с магазином
Автоматически обновляйте товары из PrestaShop или Bitrix.
Вместо загрузки товаров вручную, модуль CMS может синхронизировать товары автоматически.
Поддерживаемые магазины
✓ PrestaShop (версия 8.x)
✓ 1C-Bitrix (self-hosted)
Другие платформы? Напишите в поддержку.
Как это работает
- Вы устанавливаете модуль в магазине
- Модуль генерирует токен
- Модуль отправляет товары в AACsearch
- Когда товар меняется в магазине, модуль обновляет его автоматически
Никакой ручной синхронизации!
Что нужно
- Доступ администратора в магазин
- Модуль AACsearch для вашего магазина (скачиваете из панели)
- Ключ коннектора (генерируется в панели управления)
Шаг 1: Получить ключ коннектора
- В панели управления перейдите Поиск → Синхронизация
- Нажмите Создать токен коннектора
- Введите название (например, "PrestaShop")
- Скопируйте токен (начинается с
ss_connector_)
Шаг 2: Установить модуль
PrestaShop
- Скачайте модуль из панели управления (кнопка Скачать модуль)
- В админке PrestaShop перейдите Модули → Установка модулей
- Загрузите файл модуля
- Установите модуль
- Перейдите в настройки модуля
- Вставьте токен коннектора и URL API
- Нажмите Сохранить
Bitrix
- Скачайте модуль из панели управления
- В админке Bitrix перейдите в папку
/bitrix/modules - Распакуйте архив модуля
- В админке Bitrix перейдите Модули → Управление модулями
- Найдите наш модуль и установите его
- В настройках модуля вставьте токен и URL API
- Нажмите Сохранить
Шаг 3: Первая синхронизация
-
В панели управления должна появиться статистика:
- Сколько товаров загружено
- Когда была последняя синхронизация
- Если были ошибки
-
В админке магазина в настройках модуля нажмите Синхронизировать сейчас
-
Модуль загружает товары в AACsearch
-
Через 1-5 минут товары появляются в поиске
Что синхронизируется
Модуль отправляет:
- Название товара
- Описание
- Цену
- Картинку
- Наличие
- Характеристики (если есть)
Когда обновляются товары
- При изменении товара в магазине — обновляется в AACsearch за 1-5 минут
- При удалении товара — удаляется из поиска
- При добавлении товара — появляется в поиске
Это зависит от настроек модуля.
Что если синхронизация не работает
Товары не загружаются
- Проверьте токен — он должен быть скопирован без пробелов
- Проверьте URL API — должен быть правильным
- В логе модуля (файл на сервере) посмотрите ошибки
- Напишите в поддержку с логом
Синхронизация очень медленная
Это может быть, если:
- Много товаров (десятки тысяч)
- Плохой интернет
- Настройки сервера
Решение:
- Синхронизируйте товары частями
- Увеличьте интервал синхронизации
- Напишите в поддержку
Некоторые поля не синхронизируются
Проверьте в настройках модуля, какие поля отмечены для синхронизации. Может быть, какое-то поле отключено.
Отключить синхронизацию
Если нужно остановить синхронизацию:
- В панели управления перейдите Поиск → Синхронизация
- Найдите токен коннектора
- Нажмите Отозвать токен
Модуль перестанет отправлять товары.
Перед подключением CMS вам необходимо:
- Аккаунт AACsearch с организацией
- Поисковый индекс (см. Создание первого индекса)
- Токен коннектора (
ss_connector_*) для данного индекса - Установленный модуль CMS (PrestaShop или Bitrix)
Шаг 1: Генерация токена коннектора
Токены коннектора используют префикс ss_connector_* и область connector_write.
Они позволяют модулям CMS отправлять документы, но не читать их и не управлять схемой индекса.
Через панель управления
- Перейдите в Поиск → Коннекторы → Токены коннекторов
- Нажмите Создать токен коннектора
- Введите имя (например,
PrestaShop production) - Скопируйте токен немедленно — он показывается только один раз
Через oRPC
const token = await orpc.search.createConnectorToken.call({
organizationId: "org_...",
indexSlug: "products",
name: "PrestaShop production",
});
console.log(token.plaintext); // ss_connector_abc123... — сохраните сейчас!Шаг 2: Настройка модуля CMS
Введите следующие значения на странице настроек модуля CMS:
| Настройка | Значение |
|---|---|
| URL API AACsearch | https://your-app.com |
| Слаг индекса | products (ваш слаг индекса) |
| Токен коннектора | ss_connector_your_token |
Для PrestaShop: настройки находятся в Модули → AACsearch → Настроить. Для Bitrix: настройки находятся в панели администратора модуля в разделе Настройки → AACsearch.
Шаг 3: Рукопожатие (Handshake)
При сохранении конфигурации модуль CMS вызывает эндпоинт рукопожатия для проверки соединения:
POST /api/connector/handshake
Authorization: Bearer ss_connector_your_token
Content-Type: application/json
{
"indexSlug": "products",
"moduleVersion": "1.0.0",
"platform": "prestashop"
}Успешный ответ (200):
{
"status": "ok",
"organizationId": "org_...",
"indexSlug": "products",
"collectionAlias": "org123_products",
"indexStatus": "active"
}Ответы при ошибке:
401— недействительный или истёкший токен коннектора403— у токена нет областиconnector_write404— слаг индекса не найден для данной организации
Шаг 4: Полная синхронизация
После успешного рукопожатия запустите полную синхронизацию каталога:
POST /api/connector/sync/full
Authorization: Bearer ss_connector_your_token
Content-Type: application/json
{
"indexSlug": "products",
"documents": [
{ "id": "1", "title": "Product A", ... },
{ "id": "2", "title": "Product B", ... }
],
"batchNumber": 1,
"totalBatches": 5
}Для больших каталогов отправляйте документы пакетами по 200 штук. Отслеживайте прогресс через batchNumber и
totalBatches. Модуль CMS управляет пакетированием — AACsearch принимает каждый пакет независимо.
Полную документацию по эндпоинтам смотрите в разделе Жизненный цикл Connector API.
Шаг 5: Проверка в панели управления
После завершения полной синхронизации:
- Откройте панель управления → Поиск → Импорт заданий
- Убедитесь, что задание синхронизации показывает статус
succeeded - Откройте Предпросмотр поиска и выполните тестовый запрос
- Убедитесь, что документы возвращаются в результатах
Heartbeat (поддержание соединения)
Модули CMS периодически отправляют heartbeat-сигналы, сигнализируя о том, что они подключены:
POST /api/connector/heartbeat
Authorization: Bearer ss_connector_your_token
{ "indexSlug": "products", "timestamp": 1717200000 }Панель управления отображает время последнего heartbeat в панели Коннекторы. Если heartbeat не поступает 15 минут, коннектор помечается как disconnected.
Дельта-синхронизация (непрерывная синхронизация)
После полной синхронизации модули CMS отправляют отдельные изменения товаров по мере их возникновения:
POST /api/connector/sync/delta
Authorization: Bearer ss_connector_your_token
Content-Type: application/json
{
"indexSlug": "products",
"upsert": [
{ "id": "123", "title": "Updated Product", "price": 89.99, ... }
],
"delete": ["product-456", "product-789"]
}Вызовы дельта-синхронизации выполняются из хуков событий CMS (actionProductUpdate в PrestaShop,
OnAfterIBlockElementUpdate в Bitrix).
Управление токенами
- Список токенов:
searchRouter.listConnectorTokens - Отзыв токена:
searchRouter.revokeConnectorToken— мгновенный эффект, модуль не пройдёт следующий запрос - Ротация токена: Отзовите старый + создайте новый, затем обновите конфигурацию модуля CMS
После отзыва токена модуль CMS не пройдёт следующий heartbeat или запрос синхронизации — получит ответ 401. Модуль должен показывать статус «отключено» в панели администратора.