Проверка запуска и решение проблем
Проверяйте интеграцию в тестовом сценарии кампании и на устройстве покупателя. Для сообщений в Shopping Assistant API используйте trafficType: "test"; debug-режим проверяет отображение заглушки и не проверяет каталог или качество консультации.
Чеклист запуска
- Выбрана подключённая секция; базовый запрос работает в «Превью».
- Каталог содержит ожидаемые SKU и актуальные данные карточек.
- Кампания и сценарий опубликованы; таргетинг совпадает с тестовым пользователем и страницей.
- Контрольная группа обрабатывается без показа ассистента.
- Пользователь получил
uid; он передаётся какresourceIdбез общей заглушки для всех покупателей. -
threadIdстабилен внутри разговора; новое сообщение продолжает предыдущий контекст. - Ответ, товары, быстрые ответы и поддерживаемые кнопки отображаются на desktop и mobile.
- Подборка сохраняет порядок SKU; товарный шаблон не добавляет посторонние товары или дубли.
- Оценка связана с правильным
assistantMessageId; сохранение подтверждено HTTP-ответом. В собственном интерфейсе ошибка отправки не остаётся успешной оценкой. - Каждый показ и custom event фиксируется один раз. Ошибка трекинга не блокирует чат.
- При SPA-переходе контекст актуален, остаётся один экземпляр чата и один комплект обработчиков.
- Проверены отсутствие товаров, сетевой сбой и повтор запроса.
Чат или кнопка не появились
- Проверьте статус кампании, сценария и публикацию.
- Проверьте тип страницы, URL, аудиторию и попадание в контрольную группу.
- В Network проверьте загрузку JS/CSS одной версии, а в консоли — наличие
window.GFиShoppingAssistant. - При
autoInsertTrigger: falseубедитесь, что ваша кнопка существует и вызываетassistant.open(). - Проверьте контейнер
attachToи CSS, который может скрывать чат.
Если интерфейс появился, но запрос не отправляется, отдельно проверьте готовность GF.userData.uid, GF.section и контекста.
Ответ есть, товаров нет
Сначала посмотрите response.contents. Если нет непустого блока products, ответ мог быть уточнением, справочной консультацией или сообщением об отсутствии подходящих товаров.
Если товары пришли в JSON, но не отображаются:
- Проверьте обработчик
shopping-assistant-recsили рендеринг собственного интерфейса. - Проверьте ID товарного шаблона, существование контейнера и запрос рекомендаций.
- Сравните SKU ответа и фида, включая регистр. Проверьте регион и наличие.
- Убедитесь, что шаблон не заменяет отсутствующие позиции другими товарами.
Если товаров нет и в API, повторите запрос в «Превью» с тем же контекстом. Проверьте данные, правила отбора и подключение поиска. Debug-ответ не подтверждает работоспособность поиска.
Ассистент не учитывает страницу или пользователя
В запросе генерации проверьте resourceId, runtimeContext.tenant_id и runtimeContext.ctx. В Web они зависят от GF.userData.uid, GF.section и GF.pageContext.
- Не используйте общий
resourceIdдля разных покупателей. - Не меняйте
threadIdпосле каждого сообщения. - На SPA-переходе обновляйте контекст.
- Для конкретного магазина передавайте согласованный
storeId; региональныйlngего не заменяет.
При 409 MESSAGE_ID_CONFLICT один ID сообщения использован для разных запросов. Для нового сообщения создайте новый ID, для повтора сохраняйте исходные данные.
Оценка не сохраняется
Виджет 1.41 отправляет оценку через PUT. В собственном интерфейсе готовые GET-ссылки вызывайте только при нажатии нужной кнопки. Контракт: Оценка ответа.
Нет диалогов, оценок или тем в кабинете
- Проверьте секцию, период и тип трафика: «Превью» относится к тестовому.
- Debug-запросы не сохраняются и не появляются в истории.
- Отсутствие автоматической оценки не означает плохой ответ; отсутствие реакции не является дизлайком.
- Если нет тем, проверьте условия подключения классификации.
История диалогов и custom events — разные источники. Успешный ответ API не подтверждает отправку событий интерфейса. См. трекинг.
Что передать поддержке
Напишите в рабочий чат проекта Gravity Field: секцию, время и часовой пояс, тип страницы, канал, версию виджета, HTTP-статус и код ошибки, шаги воспроизведения. При необходимости приложите threadId и ID проблемного сообщения в закрытом рабочем канале.
Удалите из диагностических материалов API-ключи, токены публичных ссылок и персональные данные. Не публикуйте полную историю покупателя вместе с сообщением об ошибке.