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

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

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

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

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

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

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

Шаг 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 с Contentful (рекомендуется)

Если вы используете Next.js для рендеринга контента Contentful, добавьте чат-бот с помощью компонента 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" гарантирует, что чат-бот загрузится после полной загрузки страницы, обеспечивая наилучшую производительность.

Способ 2: Gatsby с Contentful

Для сайтов Gatsby, получающих контент из Contentful:

  1. Install gatsby-plugin-load-script (optional but recommended):
    npm install gatsby-plugin-load-script
  2. Добавьте в gatsby-config.js:
    module.exports = {
      plugins: [
        {
          resolve: 'gatsby-plugin-load-script',
          options: {
            src: 'https://asyntai.com/static/js/chat-widget.js',
            attributes: {
              'data-asyntai-id': 'YOUR_WIDGET_ID',
              async: true
            }
          }
        }
      ]
    }
  3. Или используйте gatsby-ssr.js:
    // gatsby-ssr.js
    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"
        />
      ])
    }
  4. Перезапустите сервер разработки Gatsby

Способ 3: React с Contentful

Для стандартных приложений React (Create React App, Vite и др.), использующих Contentful:

  1. Откройте файл public/index.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. Сохранить файл

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

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

Способ 4: Vue/Nuxt с Contentful

Для приложений Vue или Nuxt.js, использующих Contentful:

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'
            }
          ]
        }
      }
    })

Vue 3:

  1. Добавьте в index.html перед </body>:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

Способ 5: Статический HTML с API Contentful

Если вы используете Content Delivery API Contentful с чистым JavaScript:

  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

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

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

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