AACsearch
Начало работы

Синхронизация с магазином

Автоматически обновляйте товары из PrestaShop или Bitrix.

Вместо загрузки товаров вручную, модуль CMS может синхронизировать товары автоматически.

Поддерживаемые магазины

PrestaShop (версия 8.x)
1C-Bitrix (self-hosted)

Другие платформы? Напишите в поддержку.

Как это работает

  1. Вы устанавливаете модуль в магазине
  2. Модуль генерирует токен
  3. Модуль отправляет товары в AACsearch
  4. Когда товар меняется в магазине, модуль обновляет его автоматически

Никакой ручной синхронизации!

Что нужно

  1. Доступ администратора в магазин
  2. Модуль AACsearch для вашего магазина (скачиваете из панели)
  3. Ключ коннектора (генерируется в панели управления)

Шаг 1: Получить ключ коннектора

  1. В панели управления перейдите Поиск → Синхронизация
  2. Нажмите Создать токен коннектора
  3. Введите название (например, "PrestaShop")
  4. Скопируйте токен (начинается с ss_connector_)

Шаг 2: Установить модуль

PrestaShop

  1. Скачайте модуль из панели управления (кнопка Скачать модуль)
  2. В админке PrestaShop перейдите Модули → Установка модулей
  3. Загрузите файл модуля
  4. Установите модуль
  5. Перейдите в настройки модуля
  6. Вставьте токен коннектора и URL API
  7. Нажмите Сохранить

Bitrix

  1. Скачайте модуль из панели управления
  2. В админке Bitrix перейдите в папку /bitrix/modules
  3. Распакуйте архив модуля
  4. В админке Bitrix перейдите Модули → Управление модулями
  5. Найдите наш модуль и установите его
  6. В настройках модуля вставьте токен и URL API
  7. Нажмите Сохранить

Шаг 3: Первая синхронизация

  1. В панели управления должна появиться статистика:

    • Сколько товаров загружено
    • Когда была последняя синхронизация
    • Если были ошибки
  2. В админке магазина в настройках модуля нажмите Синхронизировать сейчас

  3. Модуль загружает товары в AACsearch

  4. Через 1-5 минут товары появляются в поиске

Что синхронизируется

Модуль отправляет:

  • Название товара
  • Описание
  • Цену
  • Картинку
  • Наличие
  • Характеристики (если есть)

Когда обновляются товары

  • При изменении товара в магазине — обновляется в AACsearch за 1-5 минут
  • При удалении товара — удаляется из поиска
  • При добавлении товара — появляется в поиске

Это зависит от настроек модуля.

Что если синхронизация не работает

Товары не загружаются

  1. Проверьте токен — он должен быть скопирован без пробелов
  2. Проверьте URL API — должен быть правильным
  3. В логе модуля (файл на сервере) посмотрите ошибки
  4. Напишите в поддержку с логом

Синхронизация очень медленная

Это может быть, если:

  • Много товаров (десятки тысяч)
  • Плохой интернет
  • Настройки сервера

Решение:

  • Синхронизируйте товары частями
  • Увеличьте интервал синхронизации
  • Напишите в поддержку

Некоторые поля не синхронизируются

Проверьте в настройках модуля, какие поля отмечены для синхронизации. Может быть, какое-то поле отключено.

Отключить синхронизацию

Если нужно остановить синхронизацию:

  1. В панели управления перейдите Поиск → Синхронизация
  2. Найдите токен коннектора
  3. Нажмите Отозвать токен

Модуль перестанет отправлять товары.

Перед подключением CMS вам необходимо:

  1. Аккаунт AACsearch с организацией
  2. Поисковый индекс (см. Создание первого индекса)
  3. Токен коннектора (ss_connector_*) для данного индекса
  4. Установленный модуль CMS (PrestaShop или Bitrix)

Шаг 1: Генерация токена коннектора

Токены коннектора используют префикс ss_connector_* и область connector_write. Они позволяют модулям CMS отправлять документы, но не читать их и не управлять схемой индекса.

Через панель управления

  1. Перейдите в ПоискКоннекторыТокены коннекторов
  2. Нажмите Создать токен коннектора
  3. Введите имя (например, PrestaShop production)
  4. Скопируйте токен немедленно — он показывается только один раз

Через 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 AACsearchhttps://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_write
  • 404 — слаг индекса не найден для данной организации

Шаг 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: Проверка в панели управления

После завершения полной синхронизации:

  1. Откройте панель управления → ПоискИмпорт заданий
  2. Убедитесь, что задание синхронизации показывает статус succeeded
  3. Откройте Предпросмотр поиска и выполните тестовый запрос
  4. Убедитесь, что документы возвращаются в результатах

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. Модуль должен показывать статус «отключено» в панели администратора.

On this page