Повернутися до панелі керування

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

Дізнайтеся, як використовувати 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 Сканування сайту Прогалини у знаннях Картки товарів Динамічні картки товарів Динамічні зображення Контекст користувача Власні інструменти Параметри посилань Моніторинг у реальному часі Перехоплення оператором Ескалація Сповіщення ШI Щоденний звіт Потік даних у реальному часі Потік даних у реальному часі Max Учасники команди Єдиний вхід Двофакторна автентифікація Включити зображення Розпізнавання зображень Віджет перекладу Локалізація Прозорість ШІ Ліди Розумне захоплення лідів Тікети підтримки Категорії чатів Бронювання Вбудовування Виключення сторінок Заблоковані IP Політика зберігання Режим нульового зберігання Маскування PII Класифікатор відповідей Access Tags Закріплення версії віджета Журнал аудиту Розумніша модель Увімкнути міркування Пропозиції відповідей Подальші повідомлення Мовлення в текст Завантаження стенограми Вбудований чат Вбудовування через iframe

Як додати AI чат-бот Asyntai до Sanity

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

Отримати код вбудовування

Важливо: Sanity - це headless CMS, яка доставляє контент через API. Код чат-бота потрібно додати до вашого фронтенд-додатку (Next.js, Gatsby, Nuxt, простий HTML тощо), а не до самої Sanity Studio.

Крок 1: Отримайте код для вставки

Спочатку перейдiть до вашої Панелi керування Asyntai та прокрутiть вниз до роздiлу "Код для вставки". Скопiюйте унiкальний код для вставки, який виглядатиме так:

<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>

Примітка: Код вище є лише прикладом. Ви повиннi скопiювати власний унiкальний код для вставки з вашої Панелi керування, оскiльки вiн мiстить ваш особистий ID вiджета.

Крок 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 або генератор статичних сайтів, що використовує API Sanity:

  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 віджета з панелі керування. Перевірте, що скрипт завантажується на вкладці Network браузера (F12 > Network). Перевірте, що фронтенд був повторно розгорнутий після додавання коду. Для Next.js переконайтеся, що ви використовуєте компонент Script з next/script, а не звичайний тег <script>. Очистіть кеш браузера або перевірте у режимі інкогніто.