Проверка запуска и решение проблем

Проверяйте интеграцию в тестовом сценарии кампании и на устройстве покупателя. Для сообщений в Shopping Assistant API используйте trafficType: "test"; debug-режим проверяет отображение заглушки и не проверяет каталог или качество консультации.

Чеклист запуска

  • Выбрана подключённая секция; базовый запрос работает в «Превью».
  • Каталог содержит ожидаемые SKU и актуальные данные карточек.
  • Кампания и сценарий опубликованы; таргетинг совпадает с тестовым пользователем и страницей.
  • Контрольная группа обрабатывается без показа ассистента.
  • Пользователь получил uid; он передаётся как resourceId без общей заглушки для всех покупателей.
  • threadId стабилен внутри разговора; новое сообщение продолжает предыдущий контекст.
  • Ответ, товары, быстрые ответы и поддерживаемые кнопки отображаются на desktop и mobile.
  • Подборка сохраняет порядок SKU; товарный шаблон не добавляет посторонние товары или дубли.
  • Оценка связана с правильным assistantMessageId; сохранение подтверждено HTTP-ответом. В собственном интерфейсе ошибка отправки не остаётся успешной оценкой.
  • Каждый показ и custom event фиксируется один раз. Ошибка трекинга не блокирует чат.
  • При SPA-переходе контекст актуален, остаётся один экземпляр чата и один комплект обработчиков.
  • Проверены отсутствие товаров, сетевой сбой и повтор запроса.

Чат или кнопка не появились

  1. Проверьте статус кампании, сценария и публикацию.
  2. Проверьте тип страницы, URL, аудиторию и попадание в контрольную группу.
  3. В Network проверьте загрузку JS/CSS одной версии, а в консоли — наличие window.GF и ShoppingAssistant.
  4. При autoInsertTrigger: false убедитесь, что ваша кнопка существует и вызывает assistant.open().
  5. Проверьте контейнер attachTo и CSS, который может скрывать чат.

Если интерфейс появился, но запрос не отправляется, отдельно проверьте готовность GF.userData.uid, GF.section и контекста.

Ответ есть, товаров нет

Сначала посмотрите response.contents. Если нет непустого блока products, ответ мог быть уточнением, справочной консультацией или сообщением об отсутствии подходящих товаров.

Если товары пришли в JSON, но не отображаются:

  1. Проверьте обработчик shopping-assistant-recs или рендеринг собственного интерфейса.
  2. Проверьте ID товарного шаблона, существование контейнера и запрос рекомендаций.
  3. Сравните SKU ответа и фида, включая регистр. Проверьте регион и наличие.
  4. Убедитесь, что шаблон не заменяет отсутствующие позиции другими товарами.

Если товаров нет и в 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, для повтора сохраняйте исходные данные.

Оценка не сохраняется

Ответ feedback Что проверить
400 Поля запроса и реакцию. GET поддерживает like и dislike; PUT также принимает null.
403 у PUT Условия доступа и допустимый IP для секции.
404 Совпадение пользователя, диалога и ID сохранённого ответа. Debug-ответ нельзя оценить.
500 Сохраните код и время ошибки, повторите позже.

Виджет 1.41 отправляет оценку через PUT. В собственном интерфейсе готовые GET-ссылки вызывайте только при нажатии нужной кнопки. Контракт: Оценка ответа.

Нет диалогов, оценок или тем в кабинете

  1. Проверьте секцию, период и тип трафика: «Превью» относится к тестовому.
  2. Debug-запросы не сохраняются и не появляются в истории.
  3. Отсутствие автоматической оценки не означает плохой ответ; отсутствие реакции не является дизлайком.
  4. Если нет тем, проверьте условия подключения классификации.

История диалогов и custom events — разные источники. Успешный ответ API не подтверждает отправку событий интерфейса. См. трекинг.

Что передать поддержке

Напишите в рабочий чат проекта Gravity Field: секцию, время и часовой пояс, тип страницы, канал, версию виджета, HTTP-статус и код ошибки, шаги воспроизведения. При необходимости приложите threadId и ID проблемного сообщения в закрытом рабочем канале.

Удалите из диагностических материалов API-ключи, токены публичных ссылок и персональные данные. Не публикуйте полную историю покупателя вместе с сообщением об ошибке.