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

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

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

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

Ръководство стъпка по стъпка за витрини, задвижвани от Medusa

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

Важно: Medusa е headless платформа за електронна търговия. Кодът на чатбота трябва да бъде добавен към вашето приложение за витрината, а не към сървъра/администрацията на Medusa.

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

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

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

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

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

Стартовият шаблон на Medusa за витрината по подразбиране използва 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/_document.tsx или pages/_app.tsx:

// 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: Gatsby витрина

Ако вашата Medusa витрина използва Gatsby, добавете скрипта чрез gatsby-ssr.js, използвайки onRenderBody и setPostBodyComponents:

// 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, ако искате уиджетът да се запази при клиентска навигация. Алтернативно, добавете го към основния layout компонент.

Алтернативен метод 2: Персонализирана React витрина

Ако вашата Medusa витрина използва персонализирана React настройка (Vite, Create React App и др.):

Добавете скрипта в public/index.html точно преди затварящия таг </body>:

<!DOCTYPE html> <html lang="en"> <head> <!-- ... existing head content ... --> </head> <body> <div id="root"></div> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>

Или използвайте 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 ); }

Алтернативен метод 3: Всеки персонализиран фронтенд

Ако вашият магазин, задвижван от Medusa, използва друг HTML-базиран фронтенд, просто добавете стандартния script таг точно преди затварящия таг </body>:

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

Съвет: Този метод работи с всяка фронтенд рамка или генератор на статични сайтове, който генерира HTML, включително Vue, Svelte, Angular, Astro и други, свързани към Medusa бекенда.

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

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

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

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