Web-виджет Shopping Assistant
Справочник относится к готовому виджету 1.41. Для первого запуска используйте Web-гайд; возможности сервера описаны в API-справочнике.
Параметры конструктора
Передайте объект в new ShoppingAssistant(options).
tenant_id и контекст виджет берёт из текущих GF.section и GF.pageContext при отправке. Передача этих значений как произвольных параметров конструктора не заменяет настройку Web-интеграции.
Методы
Объект assistant.config содержит параметры экземпляра. Если меняется пользователь, сначала вызовите startNewChat(), затем обновите assistant.config.resourceId. Обработчики кнопок, оверлея и товарных событий, добавленные вашей командой, снимайте в собственном коде.
Товарное событие
Виджет создаёт контейнер для блока товаров и отправляет DOM-событие shopping-assistant-recs на document. Самостоятельного рендеринга полноценных товарных карточек в нём нет.
Вставку и показ карточек реализуйте по Web-гайду. Не используйте событие получения подборки как подтверждение видимости товаров.
Что поддерживает версия 1.41
Виджет отправляет текстовые сообщения, отображает текстовые ответы и быстрые подсказки, создаёт товарные контейнеры и отправляет оценки через PUT. Переписка хранится в экземпляре на вкладке; автоматического восстановления после перезагрузки через history API нет.
Версия 1.41 не передаёт messages[].id. Повторная отправка после потери ответа может создать второе сообщение. Если нужны управляемые повторы без дублей, используйте собственный API-клиент со стабильным ID сообщения.
Запрос содержит trafficType: "test", если адрес страницы включает sl_preview; иначе — "real". Отдельного параметра trafficType в конструкторе нет. Обычная предпросмотрная вкладка должна действительно содержать этот признак, чтобы запросы не попали в боевой трафик.
Изображения, публичный шаринг и GET feedback требуют отдельной реализации интерфейса. В версии 1.41 кнопка open_support_chat закрывает ассистента и вызывает window.$flomni.chat.openThread(), если этот API доступен. Для другого сервиса поддержки нужен отдельный обработчик интерфейса; параметра конструктора для замены этого действия нет.
После изменения версии проверьте параметры, события, PUT-оценки и товарный шаблон на тестовом сценарии. Не обновляйте только JS или только CSS.
В версии 1.41 кнопка оценки меняет состояние до завершения запроса. При ошибке отправки виджет пишет сообщение в консоль; автоматического отката кнопки нет. Проверяйте HTTP-ответ, а не только вид кнопки. Для собственного интерфейса применяйте состояние после успеха или возвращайте прежнюю оценку при ошибке.