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

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

Дізнайтеся, як використовувати Asyntai

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

Покрокова інструкція для магазинів на базі Medusa

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

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

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

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

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

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

Крок 2: Додати до вітрини Next.js (найпоширеніший варіант)

Стандартний стартовий шаблон вітрини Medusa використовує Next.js. Додайте чат-бот до кореневого макета вашої вітрини:

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, якщо ви хочете, щоб віджет зберігався під час клієнтської навігації. Як альтернативу, додайте його до кореневого компонента макета.

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