Обратно към таблото

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

Научете как да използвате Asyntai

Как да добавите Asyntai AI чатбот към PayloadCMS

Ръководство стъпка по стъпка за уебсайтове, задвижвани от PayloadCMS

Вземете код за вграждане

Важно: PayloadCMS е headless CMS. Кодът на чатбота трябва да бъде добавен към вашето фронтенд приложение, а не към административния панел на Payload.

Стъпка 1: Вземете вашия код за вграждане

Първо отидете на вашето Табло за управление на Asyntai и превъртете надолу до секцията "Код за вграждане". Копирайте уникалния си код за вграждане, който ще изглежда така:

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

Забележка: Кодът по-горе е само пример. Трябва да копирате собствения си уникален код за вграждане от вашето Табло за управление, тъй като съдържа вашия личен ID на уиджета.

Стъпка 2: Добавете към Next.js Frontend (Най-често срещано)

PayloadCMS обикновено използва Next.js като фронтенд рамка. Добавете чатбота към основния си layout:

App Router (Next.js 13+)

Отворете 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.tsx:

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: Персонализиран React фронтенд

Ако вашият PayloadCMS проект използва персонализиран React фронтенд вместо Next.js, можете да заредите чатбота динамично с useEffect хук:

// App.tsx or App.jsx 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 ); }

Забележка: Заменете YOUR_WIDGET_ID с вашия действителен идентификатор на уиджет от таблото за управление. Функцията за почистване в оператора return гарантира, че скриптът е премахнат, ако компонентът се демонтира.

Алтернативен метод 2: Използване на персонализирани компоненти на Payload (Само за административния панел)

Ако искате чатботът да се показва вътре в самия административен панел на Payload (за вътрешна поддръжка), можете да регистрирате персонализиран компонент в payload.config.ts:

// payload.config.ts import { buildConfig } from 'payload/config'; export default buildConfig({ admin: { components: { afterDashboard: ['/components/AsyntaiChatbot'], }, }, // ... rest of your config })

След това създайте файла на компонента:

// components/AsyntaiChatbot.tsx 'use client' import { useEffect } from 'react'; const AsyntaiChatbot = () => { 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 null; }; export default AsyntaiChatbot;

Съвет: Този метод е само за добавяне на чатбота към административния панел на Payload. За вашия публичен уебсайт използвайте Стъпка 2 или Алтернативен метод 1 вместо това.

Алтернативен метод 3: Обикновен HTML/Статичен сайт

Ако вашият сайт, задвижван от PayloadCMS, използва обикновен HTML или статичен фронтенд, който ползва Payload API, добавете кода за вграждане директно в HTML-а си:

  1. Отворете основния си HTML файл (обикновено index.html)
  2. Добавете кода за вграждане точно преди затварящия таг </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>

Стъпка 3: Разгърнете и проверете

След като добавите кода към вашето фронтенд приложение:

  1. Разгърнете фронтенда си при вашия хостинг доставчик (Vercel, Netlify и др.)
  2. Отворете живия си сайт в нов раздел на браузъра
  3. Трябва да видите бутона на чат уиджета в долния десен ъгъл
  4. Щракнете върху него, за да се уверите, че се отваря и функционира правилно

Не виждате уиджета? Уверете се, че сте заменили YOUR_WIDGET_ID с вашия действителен идентификатор на уиджет от таблото за управление. Проверете дали скриптът се зарежда в раздела Network на браузъра (F12 > Network). Потвърдете, че фронтендът е бил деплойнат отново след добавяне на кода. За Next.js се уверете, че използвате компонента Script от next/script, а не обикновен <script> таг. Изчистете кеша на браузъра или тествайте в режим инкогнито.