🚀 Novapsis Chat Widget

Guía completa de integración para desarrolladores

📋 Tabla de Contenidos

🎯 1. Introducción

El Novapsis Chat Widget es una solución de chat inteligente que se integra perfectamente con n8n para proporcionar respuestas automatizadas mediante IA. Desarrollado por Novapsis, especialistas en automatización B2B.

🤖 IA Integrada

Conecta directamente con OpenAI y otros modelos de IA a través de n8n

🎨 Totalmente Personalizable

Colores, tamaños, posición y mensajes completamente configurables

📱 Responsive

Funciona perfectamente en desktop, tablet y móvil

⚡ Carga Rápida

Optimizado para cargar en menos de 1 segundo

⚡ 2. Instalación Rápida (5 minutos)

💡 Instalación en 2 pasos: Solo necesitas copiar y pegar el código en tu sitio web.

Paso 1: Configuración Básica

<script>
window.NovapisChatConfig = {
    webhook: {
        url: 'https://tu-n8n.com/webhook/TU-WEBHOOK-ID',
        route: 'chat'
    },
    branding: {
        logo: 'https://tu-sitio.com/logo.png',
        name: 'Tu Empresa',
        welcomeText: '¡Hola! ¿Cómo podemos ayudarte?',
        responseTimeText: 'Respondemos en minutos'
    },
    style: {
        primaryColor: '#2CBAFF',
        secondaryColor: '#1E90FF',
        position: 'right'
    }
};
</script>

Paso 2: Cargar el Widget

<script src="https://chat.novapsis.com/v1/novapsis-chat-init.js"></script>
✅ ¡Listo! Coloca ambos scripts antes de la etiqueta </body> de tu HTML y el widget aparecerá automáticamente.

⚙️ 3. Configuración Completa

Todas las Opciones Disponibles

<script>
window.NovapisChatConfig = {
    // 🔗 Configuración del Webhook
    webhook: {
        url: 'https://tu-n8n.com/webhook/TU-WEBHOOK-ID',
        route: 'chat'
    },
    
    // 🏷️ Configuración de Marca
    branding: {
        logo: 'https://tu-sitio.com/logo.png',
        name: 'Tu Empresa',
        welcomeText: '¡Hola! ¿Cómo podemos ayudarte?',
        responseTimeText: 'Respondemos en minutos',
        poweredBy: {
            text: 'Powered by Tu Empresa',
            link: 'https://tu-sitio.com'
        }
    },
    
    // 🎨 Configuración de Estilo
    style: {
        // Colores
        primaryColor: '#2CBAFF',
        secondaryColor: '#1E90FF',
        backgroundColor: '#ffffff',
        fontColor: '#333333',
        
        // Tamaño y Posición
        width: '400px',
        height: '650px',
        position: 'right',          // 'left' o 'right'
        bottom: '20px',
        right: '20px',
        left: '20px',               // solo si position es 'left'
        
        // Apariencia
        borderRadius: '16px',
        buttonSize: '70px',
        shadowIntensity: 'normal',  // 'none', 'light', 'normal', 'strong'
        
        // Tipografía
        fontSize: '16px',
        fontFamily: '"Arial", sans-serif',
        
        // Comportamiento
        autoOpen: false,
        autoOpenDelay: 3000,
        minimizeAnimation: true,
        showTypingIndicator: true,
        enableSounds: false
    }
};
</script>
<script src="https://chat.novapsis.com/v1/novapsis-chat-init.js"></script>

Tabla de Configuraciones

Opción Tipo Por Defecto Descripción
webhook.url String '' URL del webhook de n8n (requerido)
branding.name String 'Novapsis' Nombre de tu empresa
style.primaryColor String '#2CBAFF' Color principal del widget
style.width String '380px' Ancho del widget
style.position String 'right' Posición: 'left' o 'right'
style.autoOpen Boolean false Abrir automáticamente

⚙️ 3.1 Configuración Latest version

Código script latest version

<script>
        
window.NovapisChatConfig = {
  webhook: {
    url: 'TU_URL_DE_WEBHOOK_N8N_AQUI',
    route: 'chat'
  },
  
  branding: {
    logo: 'https://i.ibb.co/wNdRxBnz/20250524-1423-Logo-Sin-Fondo-remix-01jw13yj2gf9f8001jz7pbswe8.png',
    name: 'Novapsis',
    welcomeText: '¡Hola! ¿Cómo podemos ayudarte?',
    responseTimeText: 'Aquí respondemos todas tus dudas',
    poweredBy: {
      text: 'Powered by Novapsis',
      link: 'https://www.novapsis.com'
    }
  },
  
  style: {
    primaryColor: '#2CBAFF',
    secondaryColor: '#1E90FF',
    backgroundColor: '#ffffff',
    fontColor: '#333333',
    headerBackgroundColor: '#2CBAFF',
    headerTextColor: '#ffffff',
    
    width: '400px',
    height: '650px',
    position: 'left',
    bottom: '20px',
    right: '20px',
    left: '20px',
    borderRadius: '16px',
    buttonSize: '70px',
    shadowIntensity: 'normal',
    autoOpen: false,
    autoOpenDelay: 3000,
    minimizeAnimation: true,
    showTypingIndicator: true,
    enableSounds: false
  }
};
</script>
<script src="https://chat.novapsis.com/latest/novapsis-chat-init.js"></script>

<!-- Función para forzar estilos manualmente si es necesario -->
<script>
// Función de emergencia para forzar estilos
function forzarEstilosCabecera() {
  const headers = document.querySelectorAll('.brand-header, [class*="brand-header"]');
  headers.forEach(header => {
    header.style.setProperty('background', '#2CBAFF', 'important');
    header.style.setProperty('background-color', '#2CBAFF', 'important');
    header.style.setProperty('color', '#ffffff', 'important');
    
    const textElements = header.querySelectorAll('*');
    textElements.forEach(el => {
      el.style.setProperty('color', '#ffffff', 'important');
    });
  });
  console.log('🎨 Estilos de cabecera forzados manualmente');
}

// Ejecutar después de que se cargue todo
setTimeout(forzarEstilosCabecera, 2000);
</script>

🎨 4. Personalización Avanzada

Ejemplos de Personalización

🏢 Estilo Corporativo

style: {
    primaryColor: '#003366',
    secondaryColor: '#0066cc',
    backgroundColor: '#ffffff',
    fontColor: '#333333',
    borderRadius: '8px',
    shadowIntensity: 'strong',
    fontSize: '15px',
    fontFamily: '"Roboto", sans-serif'
}

🌈 Estilo Novapsis (Recomendado)

style: {
    primaryColor: '#2CBAFF',
    secondaryColor: '#1E90FF',
    backgroundColor: '#ffffff',
    borderRadius: '16px',
    buttonSize: '70px',
    shadowIntensity: 'normal',
    minimizeAnimation: true
}

📱 Estilo Móvil Optimizado

style: {
    primaryColor: '#2CBAFF',
    secondaryColor: '#1E90FF',
    width: '350px',
    height: '500px',
    fontSize: '14px',
    buttonSize: '60px',
    position: 'right',
    bottom: '10px',
    right: '10px'
}

🔧 5. Configuración de n8n

⚠️ Importante: Para que el widget funcione correctamente, debes configurar n8n apropiadamente.

Paso 1: Crear el Flujo de Trabajo

  1. Crea un nuevo workflow en n8n
  2. Agrega un nodo "Chat Trigger" (no Webhook normal)
  3. Configura el Chat Trigger
  4. Agrega nodos para procesar con IA (OpenAI, etc.)
  5. Activa el workflow

Paso 2: Configurar CORS

💡 CORS: Permite que tu sitio web se comunique con n8n desde diferentes dominios.

En el nodo Chat Trigger:

  1. Haz clic en "Add Option"
  2. Selecciona "Allowed Origins (CORS)"
  3. Agrega: https://chat.novapsis.com, https://tu-dominio.com, *

Paso 3: Configuraciones Importantes

  • Desactivar "Load Previous Session" en el Chat Trigger
  • Activar el workflow
  • Copiar la URL exacta del webhook generado
  • Configurar CORS para tu dominio

Ejemplo de Flujo Básico

Chat Trigger → OpenAI → Response to Webhook

🐛 6. Errores Comunes y Soluciones

❌ Error: "El widget no abre"

Problema: El botón flotante aparece pero no abre la ventana de chat.

Soluciones:

  • Verifica que la URL del webhook sea correcta
  • Asegúrate de que el workflow esté activo en n8n
  • Configura CORS en el nodo Chat Trigger
  • Desactiva "Load Previous Session"

❌ Error: "CORS blocked"

Problema: Access to XMLHttpRequest blocked by CORS policy

Solución:

En n8n Chat Trigger:
Allowed Origins (CORS): https://chat.novapsis.com, *

❌ Error: "No funciona en local"

Problema: El widget no funciona cuando abres el HTML desde file://

Solución: Usa un servidor local:

# Python
python3 -m http.server 8000

# Node.js
npx http-server

# Luego accede a http://localhost:8000

❌ Error: "Widget no aparece"

Problema: No se ve el botón flotante del chat.

Soluciones:

  • Verifica que los scripts estén antes de </body>
  • Comprueba la consola del navegador (F12) para errores
  • Asegúrate de que NovapisChatConfig esté definido antes del script

❌ Error: "No responde el bot"

Problema: El chat abre pero no hay respuestas del bot.

Soluciones:

  • Verifica que el workflow de n8n esté activo
  • Comprueba que el nodo OpenAI esté configurado correctamente
  • Revisa los logs de n8n para errores
  • Verifica que tengas créditos en OpenAI

💡 7. Ejemplos de Uso

🏠 Ejemplo: Inmobiliaria

<script>
window.NovapisChatConfig = {
    webhook: {
        url: 'https://inmobiliaria-n8n.com/webhook/abc123',
        route: 'chat'
    },
    branding: {
        logo: 'https://inmobiliaria.com/logo.png',
        name: 'Inmobiliaria Premium',
        welcomeText: '¡Hola! ¿Buscas tu hogar ideal?',
        responseTimeText: 'Te ayudamos a encontrar la propiedad perfecta'
    },
    style: {
        primaryColor: '#2CBAFF',
        secondaryColor: '#1E90FF',
        position: 'right'
    }
};
</script>
<script src="https://chat.novapsis.com/v1/novapsis-chat-init.js"></script>

🛒 Ejemplo: E-commerce

<script>
window.NovapisChatConfig = {
    webhook: {
        url: 'https://tienda-n8n.com/webhook/def456',
        route: 'chat'
    },
    branding: {
        logo: 'https://tienda.com/logo.png',
        name: 'Tienda Online',
        welcomeText: '¿Necesitas ayuda con tu compra?',
        responseTimeText: 'Soporte 24/7 disponible'
    },
    style: {
        primaryColor: '#2CBAFF',
        secondaryColor: '#1E90FF',
        autoOpen: true,
        autoOpenDelay: 5000
    }
};
</script>
<script src="https://chat.novapsis.com/v1/novapsis-chat-init.js"></script>

💼 Ejemplo: Servicios B2B

<script>
window.NovapisChatConfig = {
    webhook: {
        url: 'https://empresa-n8n.com/webhook/ghi789',
        route: 'chat'
    },
    branding: {
        logo: 'https://empresa.com/logo.png',
        name: 'Consultoría Empresarial',
        welcomeText: '¿Cómo podemos impulsar tu negocio?',
        responseTimeText: 'Expertos en transformación digital'
    },
    style: {
        primaryColor: '#2CBAFF',
        secondaryColor: '#1E90FF',
        width: '420px',
        height: '700px',
        shadowIntensity: 'strong'
    }
};
</script>
<script src="https://chat.novapsis.com/v1/novapsis-chat-init.js"></script>

🆘 8. Soporte Técnico

💬 ¿Necesitas ayuda? Nuestro equipo de Novapsis está aquí para ayudarte.

📞 Canales de Soporte

🌐 Sitio Web

www.novapsis.com

📧 Email

contacto@novapsis.com

💬 Chat en Vivo

Disponible en nuestro sitio web

📱 WhatsApp

+34 621 38 59 57

🔧 Servicios Adicionales

  • Instalación personalizada - Te ayudamos a implementar el widget
  • Configuración de n8n - Configuramos tu flujo de trabajo
  • Integración con IA - Conectamos con OpenAI, Claude, etc.
  • Personalización avanzada - Diseños únicos para tu marca
  • Soporte continuo - Mantenimiento y actualizaciones

📚 Recursos Adicionales

🎉 ¡Gracias por elegir Novapsis!
Estamos comprometidos con tu éxito. No dudes en contactarnos para cualquier consulta.