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

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

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

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

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

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

Headless CMS: Strapi — это headless CMS, которая предоставляет контент через API, но не включает встроенный фронтенд. Установка чат-бота зависит от используемого фронтенд-фреймворка для отображения контента Strapi. Выберите подходящий метод ниже.

Шаг 1: Get Your Embed Code

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

<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

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

Способ 1: Next.js со Strapi (рекомендуется)

Если вы используете Next.js в качестве фронтенда для Strapi (наиболее распространённая конфигурация), добавьте чат-бот с помощью компонента Script:

  1. Откройте главный файл макета: app/layout.tsx (App Router) или pages/_app.tsx (Pages Router)
  2. Импортируйте компонент Script и добавьте чат-бот:
    import Script from 'next/script'

    export default function RootLayout({ children }) {
      return (
        <html>
          <body>
            {children}
            <Script
              src="https://asyntai.com/static/js/chat-widget.js"
              data-asyntai-id="YOUR_WIDGET_ID"
              strategy="lazyOnload"
            />
          </body>
        </html>
      )
    }
  3. Замените YOUR_WIDGET_ID на ваш реальный ID виджета
  4. Сохраните файл и перезапустите сервер разработки

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

Способ 2: Gatsby со Strapi

Для сайтов Gatsby, использующих gatsby-source-strapi:

  1. Создайте or edit gatsby-ssr.js in your project root:
    import React from 'react'

    export const onRenderBody = ({ setPostBodyComponents }) => {
      setPostBodyComponents([
        <script
          key="asyntai-chatbot"
          async
          src="https://asyntai.com/static/js/chat-widget.js"
          data-asyntai-id="YOUR_WIDGET_ID"
        />
      ])
    }
  2. Замените YOUR_WIDGET_ID на ваш реальный ID виджета
  3. Перезапустите сервер разработки Gatsby

Способ 3: Nuxt.js со Strapi

Для приложений Nuxt.js, использующих @nuxtjs/strapi:

Nuxt 3:

  1. Добавьте в nuxt.config.ts:
    export default defineNuxtConfig({
      app: {
        head: {
          script: [
            {
              src: 'https://asyntai.com/static/js/chat-widget.js',
              async: true,
              'data-asyntai-id': 'YOUR_WIDGET_ID'
            }
          ]
        }
      }
    })

Nuxt 2:

  1. Добавьте в nuxt.config.js:
    export default {
      head: {
        script: [
          {
            src: 'https://asyntai.com/static/js/chat-widget.js',
            async: true,
            'data-asyntai-id': 'YOUR_WIDGET_ID'
          }
        ]
      }
    }

Способ 4: React со Strapi

For standard React apps (Create React App, Vite) consuming Strapi API:

  1. Откройте файл public/index.html (CRA) или index.html (Vite)
  2. Add the embed code before the closing </body> tag:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Сохранить файл

Или создайте компонент React:

// components/Chatbot.jsx
import { useEffect } from 'react'

export default function Chatbot() {
  useEffect(() => {
    const script = document.createElement('script')
    script.src = 'https://asyntai.com/static/js/chat-widget.js'
    script.async = true
    script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID')
    document.body.appendChild(script)
    return () => document.body.removeChild(script)
  }, [])
  return null
}

Способ 5: SvelteKit со Strapi

Для приложений SvelteKit, работающих с контентом Strapi:

  1. Редактировать файл src/app.html
  2. Add the embed code before the closing </body> tag:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Сохранить файл

Способ 6: Статический сайт с API Strapi

If you're using Strapi's REST or GraphQL API with a static HTML site:

  1. Добавьте код вставки в HTML-файл перед закрывающим тегом </body>:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Сохраните файл и загрузите на хостинг

Шаг 2: Verify Installation

После добавления кода чат-бота на сайт на базе Strapi выполните деплой или запустите сервер разработки. Откройте сайт в новой вкладке браузера или в режиме инкогнито. Вы должны увидеть кнопку виджета чата в правом нижнем углу. Нажмите на неё, чтобы убедиться, что всё работает.

Виджет не отображается? Убедитесь, что вы добавили скрипт в правильный файл для вашего фреймворка. Проверьте консоль разработчика браузера на наличие ошибок. При использовании серверного рендеринга убедитесь, что скрипт выполняется на стороне клиента. Попробуйте очистить кэш браузера или открыть сайт в режиме инкогнито.

Переменные среды: Для повышения безопасности и гибкости рекомендуется хранить ID виджета в переменной окружения (например, NEXT_PUBLIC_ASYNTAI_ID для Next.js или VITE_ASYNTAI_ID для Vite), а не прописывать его напрямую.