Назад к панели управления

Документация

Узнайте, как использовать Asyntai

Возможности
Панель Ask AI Панель AI-поиска ИИ-поиск для WordPress AI Search for Joomla AI Search for Webflow AI Search for Moodle AI Search for TYPO3 AI Search for Craft CMS AI Search for Grav AI Search for October CMS AI Search for ProcessWire AI Search for Odoo AI Search for Bagisto AI Search for OpenCart AI Search for BigCommerce AI Search for Magento Сканирование сайта Пробелы в знаниях Карточки продуктов Динамические карточки товаров Динамические изображения Контекст пользователя Пользовательские инструменты Параметры ссылок Мониторинг в реальном времени Передача живому оператору Эскалация Уведомления ИИ Ежедневный отчёт Поток данных в реальном времени Поток данных в реальном времени Max Участники команды Единый вход Двухфакторная аутентификация Показывать изображения Распознавание изображений Виджет перевода Локализация Прозрачность ИИ Лиды Умный захват лидов Тикеты поддержки Категории чатов Бронирования Встраивания Исключить страницы Заблокированные IP Политика хранения Режим нулевого хранения Маскирование PII Классификатор ответов Access Tags Закрепление версии виджета Журнал аудита Продвинутая модель Включите режим размышления Подсказки для ответа Дополнительные сообщения Распознавание речи Скачать транскрипт Встроенный чат Встраивание через iframe

Как добавить ИИ-чат-бот Asyntai в Sanity

Пошаговое руководство для сайтов на базе Sanity

Получить код встраивания

Важно: Sanity — это headless CMS, которая доставляет контент через API. Код чат-бота нужно добавить в ваше фронтенд-приложение (Next.js, Gatsby, Nuxt, чистый HTML и т.д.), а не в Sanity Studio.

Шаг 1: Получите код встраивания

Сначала перейдите на Панель управления Asyntai и прокрутите вниз до раздела «Код для встраивания». Скопируйте уникальный код, который выглядит так:

<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script>

Примечание: Код выше — всего лишь пример. Вы должны скопировать свой уникальный код для встраивания с вашей Панели управления, так как он содержит ваш персональный идентификатор виджета.

Шаг 2: Добавьте во фронтенд Next.js (самый распространённый способ)

Если ваш сайт на базе Sanity использует Next.js (наиболее распространённая связка), добавьте чат-бот в корневой макет:

App Router (Next.js 13+)

Откройте app/layout.js (или app/layout.tsx) и добавьте компонент Script:

import Script from 'next/script' export default function RootLayout({ children }) { return ( <html lang="en"> <body> {children} <Script src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID" strategy="afterInteractive" /> </body> </html> ) }

Pages Router

Если вы используете Pages Router, откройте pages/_app.js:

import Script from 'next/script' export default function MyApp({ Component, pageProps }) { return ( <> <Component {...pageProps} /> <Script src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID" strategy="afterInteractive" /> </> ) }

Совет: Опция strategy="afterInteractive" гарантирует, что чат-бот загрузится после того, как страница станет интерактивной, обеспечивая наилучший пользовательский опыт без влияния на скорость загрузки.

Альтернативный способ 1: Фронтенд на Gatsby

Если ваш сайт Sanity использует Gatsby, добавьте скрипт через gatsby-ssr.js:

// gatsby-ssr.js import React from 'react' export const onRenderBody = ({ setPostBodyComponents }) => { setPostBodyComponents([ <script key="asyntai" async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID" /> ]); };

Примечание: Вам также нужно добавить тот же код в gatsby-browser.js, если хотите, чтобы виджет сохранялся при клиентской навигации. Либо добавьте его в корневой компонент макета.

Альтернативный способ 2: Фронтенд на Nuxt.js

Если ваш сайт Sanity использует Nuxt.js, добавьте скрипт в nuxt.config.js (или nuxt.config.ts):

// nuxt.config.ts export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://asyntai.com/static/js/chat-widget.js', 'data-asyntai-id': 'YOUR_WIDGET_ID', async: true } ] } } })

Альтернативный способ 3: HTML-фронтенд

Если ваш сайт на базе Sanity использует чистый HTML или генератор статических сайтов, потребляющий Sanity API:

  1. Откройте главный HTML-файл (обычно index.html)
  2. Добавьте код вставки непосредственно перед закрывающим тегом </body>:
<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script> </body> </html>

Альтернативный метод 4: React (Vite или Create React App)

Если ваш фронтенд использует React с Vite или Create React App:

Добавьте скрипт в index.html в директории public/:

<!DOCTYPE html> <html lang="en"> <head> <!-- ... existing head content ... --> </head> <body> <div id="root"></div> <script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</script> </body> </html>

Или используйте хук useEffect в корневом компоненте:

// App.jsx or App.tsx import { useEffect } from 'react'; function App() { useEffect(() => { const script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.body.appendChild(script); return () => { document.body.removeChild(script); }; }, []); return ( // ... your app content ); }

Шаг 3: Развёртывание и проверка

После добавления кода в ваше клиентское приложение:

  1. Разверните ваш фронтенд у хостинг-провайдера (Vercel, Netlify и т.д.)
  2. Откройте свой рабочий сайт в новой вкладке браузера
  3. Кнопка виджета чата должна появиться в правом нижнем углу
  4. Нажмите на него, чтобы убедиться, что он открывается и работает корректно

Виджет не отображается? Убедитесь, что вы заменили YOUR_WIDGET_ID на фактический ID виджета из панели управления. Проверьте загрузку скрипта на вкладке «Сеть» в браузере (F12 > Сеть). Убедитесь, что фронтенд был передеплоен после добавления кода. Для Next.js используйте компонент Script из next/script, а не обычный тег <script>. Очистите кэш браузера или проверьте в режиме инкогнито.