Como Adicionar o Chatbot IA Asyntai ao Sanity
Guia passo a passo para sites com Sanity
Importante: Sanity é um CMS headless que entrega conteúdo via APIs. O código do chatbot precisa ser adicionado à sua aplicação frontend (Next.js, Gatsby, Nuxt, HTML puro, etc.), não ao Sanity Studio em si.
Passo 1: Obtenha Seu Código de Incorporação
Primeiro, acesse seu Dashboard Asyntai e role para baixo até a seção "Embed Code". Copie seu código de incorporação exclusivo que se parecerá com isto:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Nota: O código acima é apenas um exemplo. Você deve copiar seu próprio código de incorporação exclusivo do seu Dashboard, pois ele contém seu ID de widget pessoal.
Etapa 2: Adicionar ao Frontend Next.js (Mais Comum)
Se seu site com Sanity usa Next.js (a combinação mais comum), adicione o chatbot ao seu layout raiz:
App Router (Next.js 13+)
Abra app/layout.js (ou app/layout.tsx) e adicione o componente 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
Se estiver usando o Pages Router, abra pages/_app.js:
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"
/>
</>
)
}
Dica: A opção strategy="afterInteractive" garante que o chatbot carregue após a página ficar interativa, proporcionando a melhor experiência do usuário sem afetar o desempenho de carregamento da página.
Método Alternativo 1: Frontend Gatsby
Se seu site Sanity usa Gatsby, adicione o script via gatsby-ssr.js:
// 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"
/>
]);
};
Nota: Você também precisa adicionar o mesmo código ao gatsby-browser.js se quiser que o widget persista durante a navegação do lado do cliente. Alternativamente, adicione-o ao seu componente de layout raiz.
Método Alternativo 2: Frontend Nuxt.js
Se seu site Sanity usa Nuxt.js, adicione o script em nuxt.config.js (ou nuxt.config.ts):
// nuxt.config.ts
export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://asyntai.com/static/js/chat-widget.js',
'data-asyntai-id': 'YOUR_WIDGET_ID',
async: true
}
]
}
}
})
Método Alternativo 3: Frontend HTML Puro
Se seu site com Sanity usa HTML puro ou um gerador de site estático consumindo a API do Sanity:
- Abra seu arquivo HTML principal (geralmente index.html)
- Adicione o código de incorporação logo antes da tag de fechamento </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>
</html>
Método Alternativo 4: React (Vite ou Create React App)
Se seu frontend usa React com Vite ou Create React App:
Adicione o script ao index.html no diretório public/:
<!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>
Ou use um hook useEffect no seu componente raiz:
// App.jsx or App.tsx
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
);
}
Etapa 3: Implantar e Verificar
Após adicionar o código à sua aplicação frontend:
- Implante seu frontend no seu provedor de hospedagem (Vercel, Netlify, etc.)
- Abra seu site ao vivo em uma nova aba do navegador
- Você deverá ver o botão do widget de chat no canto inferior direito
- Clique nele para garantir que abre e funciona corretamente
Não está vendo o widget? Certifique-se de que substituiu YOUR_WIDGET_ID pelo seu ID de widget real do painel. Verifique se o script está carregando na aba Network do navegador (F12 > Network). Confirme que o frontend foi reimplantado após adicionar o código. Para Next.js, certifique-se de usar o componente Script de next/script, não uma tag <script> comum. Limpe o cache do navegador ou teste no modo anônimo.
Weebly