Cómo añadir el chatbot de IA Asyntai a DatoCMS
Guía paso a paso para sitios web con DatoCMS
CMS headless: DatoCMS es un CMS headless que entrega contenido a través de APIs. El código del chatbot debe añadirse a su aplicación frontend (Next.js, Gatsby, Nuxt, etc.), no al panel de DatoCMS.
Paso 1: Obtén su código de inserción
Primero, ve a tu Panel de control de Asyntai y desplázate hasta la sección "Código de inserción". Copia tu código de inserción único que se verá así:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Nota: El código anterior es solo un ejemplo. Debe copiar su propio código de inserción único desde su Panel de control ya que contiene su ID de widget personal.
Paso 2: Añadir al frontend de Next.js (Más común)
Next.js es el framework frontend más popular usado con DatoCMS. Añada el chatbot usando el componente Script:
App Router (app/layout.tsx):
- Abra su archivo de diseño raíz:
app/layout.tsx - Importa el componente Script y añada el chatbot:
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="afterInteractive"
/>
</body>
</html>
)
} - Reemplaza
YOUR_WIDGET_IDcon su ID de widget real - Guarde el archivo y reinicia su servidor de desarrollo
Pages Router (pages/_app.tsx):
- Abra su archivo
pages/_app.tsx - Añada el componente Script:
import Script from 'next/script'
import type { AppProps } from 'next/app'
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<Component {...pageProps} />
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</>
)
}
Consejo: Usar strategy="afterInteractive" asegura que el chatbot se cargue justo después de que la página sea interactiva, proporcionando un buen equilibrio entre rendimiento y disponibilidad.
Método alternativo 1: Frontend de Gatsby
Para sitios Gatsby que obtienen contenido de DatoCMS a través de gatsby-source-datocms:
- Cree o edite
gatsby-ssr.jsen la raíz de su proyecto: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"
/>
])
} - Reemplaza
YOUR_WIDGET_IDcon su ID de widget real - Reinicia su servidor de desarrollo de Gatsby
Método alternativo 2: Frontend de Nuxt.js
Para aplicaciones Nuxt.js que consumen contenido de DatoCMS:
- Añada a su
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'
}
]
}
}
}) - Reemplaza
YOUR_WIDGET_IDcon su ID de widget real - Reinicie su servidor de desarrollo de Nuxt
Método alternativo 3: HTML plano / Sitio estático
Si estás usando la Content Delivery API de DatoCMS con un sitio HTML estático o un generador de sitios estáticos:
- Añada el código de inserción a su archivo HTML antes de la etiqueta de cierre
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Reemplaza
YOUR_WIDGET_IDcon su ID de widget real - Guarde el archivo y súbelo a su hosting
Método alternativo 4: React (Vite/CRA)
Para apps React estándar (Create React App, Vite) que consumen la API de DatoCMS:
Opción A: Añadir a public/index.html
- Abra su archivo
public/index.html(CRA) oindex.html(Vite) - Agrega el código de incrustación antes de la etiqueta de cierre
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Guarde el archivo
Opción B: useEffect en el componente raíz
- Cree un componente de chatbot o añádalo a su componente raíz:
// 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
} - Importe y renderice el componente en su
App.jsxo diseño raíz
Paso 3: Desplegar y verificar
Después de añadir el código del chatbot a su sitio con DatoCMS, despliegue o ejecute su servidor de desarrollo. Visite su sitio web en una nueva pestaña del navegador o en una ventana de incógnito. Debería ver el botón del widget de chat en la esquina inferior derecha. Haga clic en él para asegurarse de que se abra y funcione correctamente.
¿No ves el widget? Asegúrese de haber añadido el script al archivo correcto para su framework. Revise la consola de desarrollador de su navegador para verificar si hay errores. Si usas renderizado del lado del servidor, asegúrese de que el script se ejecute en el lado del cliente. Intenta limpiar la caché de su navegador o ver en una ventana de incógnito.
Variables de entorno: Para mayor seguridad y flexibilidad, considere almacenar su ID de widget en una variable de entorno (por ejemplo, NEXT_PUBLIC_ASYNTAI_ID para Next.js o VITE_ASYNTAI_ID para Vite) en lugar de codificarlo directamente.
Weebly