Chatbot
con IA
En producción · Motor genérico multi-tenant

Un chatbot que atiende,
capta y vende

Un asistente con IA embebible en cualquier web con un pequeño snippet. Responde solo desde el conocimiento del cliente, capta contactos y —cuando el sistema lo permite— vende de verdad: reserva y cobro con entrega de entrada por QR. Un único motor sirve a todos los clientes por parámetro.

Desliza
En una frase

Informa, capta y vende — sin inventar nada.

El núcleo conversacional (RAG + derivación a humano) está siempre. La venta es «enchufar una herramienta» que llama al sistema del cliente. El mismo motor, distinto por configuración, no por código.

Informa

Responde desde su conocimiento

Contesta dudas usando solo la información curada de cada cliente (RAG). No alucina: si algo no está, lo dice y deriva a una persona.

Capta

Recoge leads y avisa

Cuando hay interés, recoge los datos, deja registro y avisa al instante por Telegram + email. Patrón derivar_a_humano montado.

Vende

Reserva y cobra de verdad

Contra el ticketing del cliente (Blex vía OCTO) y con pago en Stripe fuera del chat. La entrada llega con su QR por email, automáticamente.

0
Motor multi-tenant
0
Fases (informa · vende)
0
Idiomas
0
Capas de seguridad
0
Conv/mes (pool free)
El corazón

Un motor genérico, muchas instancias

Toda la lógica vive una sola vez en n8n. Cada mensaje entra por la puerta (rate-limit y captcha), el motor carga la config del cliente por su instancia, construye el prompt, recupera conocimiento (RAG) y, si el plan lo incluye, activa las herramientas de venta. Escalar a un cliente nuevo es añadir una fila, no clonar el flujo.

Entrada / persona Motor / conocimiento En producción Datos / config

Config por instancia

Nombre, persona, idioma, si vende, tabla de conocimiento y backend de venta salen de una fila en chatbot_clientes. El prompt se construye a partir de ella.

Herramientas del agente

buscar_conocimiento siempre; consultar_disponibilidad y preparar_pago solo cuando el cliente vende. El agente decide cuándo usarlas.

Multi-tenant real

Un único despliegue sirve a todas las instancias por parámetro. Hoy vivas la del Teatro Flamenco (vende) y la de la propia arquitectura DSS (solo informa).

Dos fases, un motor

Conversacional y transaccional

La misma base atiende los dos modos; lo transaccional se activa por proyecto según lo que permita el sistema del cliente.

Fase 1 · Conversacional ● En producción

Responde solo desde el conocimiento curado de la instancia, respeta sus guardarraíles y deriva a una persona (Telegram + email) cuando no resuelve o lo piden.

  • Dudas, FAQs, información de producto o servicio, en varios idiomas.
  • Captación de leads con aviso inmediato y registro.
  • Se actualiza reingestando el conocimiento, sin tocar el flujo.

Fase 2 · Transaccional ● Validado end-to-end

El mismo motor con herramientas de venta activadas por proyecto. Primer caso funcionando: vender entradas de verdad desde el chat contra Blex (vía OCTO), con pago Stripe fuera de la conversación.

  • Ciclo OCTO real: disponibilidad → reserva (hold) → confirmación.
  • Pago en Stripe; nunca hay datos de tarjeta en el chat.
  • Confirmación por webhook con firma verificada + QR por email.

A · Blex

Usa nuestro ticketing: transaccional completo listo. Caso ideal.

B · Otra API

OCTO casi directo; API propia = conector a medida (desarrollo extra).

C · Pago simple

Venta sin backend de reservas: pago directo con Stripe.

D · Sin API

Venta/reserva asistida: el bot recoge y lo pasa a un humano.

Venta real, paso a paso

De la duda a la entrada con QR

Así ejecuta el motor una compra de principio a fin. Todo el pago queda fuera de la conversación, en una página segura de Stripe; el chat nunca ve datos de tarjeta.

1

Disponibilidad

El usuario pide comprar; el agente convierte la fecha a YYYY-MM-DD y llama a consultar_disponibilidad. Muestra pases y tarifas con precio en euros; nunca IDs ni aforo.

2

Datos y confirmación

Recoge pase, tarifa, cantidad, nombre y email sin repetir lo ya dado. Resume el pedido y pide confirmación explícita antes de cobrar.

3

Reserva + enlace de pago

preparar_pago valida los datos, crea la reserva (hold ~15 min) y devuelve el enlace de checkout de Stripe. El cobro va siempre a la cuenta del cliente.

4

Confirmación automática

Al pagar, un webhook con firma verificada confirma la reserva en OCTO/Blex y dispara la entrega de la entrada con su QR por email. El bot no afirma el pago: llega solo.

💬 Asistente Blex En línea
¡Hola! ¿En qué puedo ayudarte?
Quiero 2 entradas para el sábado
Para el sábado 29 tengo estos pases:
· 18:00 — General 24 € · Reducida 18 €
· 21:00 — General 26 €
¿Cuál prefieres?
El de las 21:00, general
Perfecto: 2 × General 21:00 = 52 €. ¿Me confirmas nombre y email para emitir las entradas?
Reserva creada ✅ Aquí tienes tu enlace de pago seguro. Al completarlo recibirás las entradas con su QR por email.

Ejemplo ilustrativo del flujo conversacional de compra.

Conocimiento · RAG

Recupera solo lo relevante

No mete toda la base en cada mensaje: la indexa una vez y recupera los fragmentos pertinentes por búsqueda vectorial. Eso abarata el coste y permite usar modelos eficientes sin perder rigor.

Curado por instancia

El conocimiento de cada cliente se estructura y se ingesta en su propia tabla vectorial en Supabase (pgvector), aislado del resto.

Embeddings + búsqueda

Embeddings de Gemini; el motor consulta la tabla que indica la config (tabla_conocimiento) y pasa al agente solo los fragmentos top-K.

Actualizable en caliente

Se reingesta el conocimiento cuando cambia; el flujo no se toca. Un flujo de ingesta dedicado lo mantiene al día.

Endurecido para producción

Seguridad y anti-abuso

El chatbot pasó un bloque de endurecimiento antes del go-live. Los secretos nunca viven en texto plano y el consumo está acotado por diseño.

Activo

Secretos en Vault

Tokens OCTO y claves Stripe de cada cliente cifrados en Supabase Vault; el motor descifra en ejecución. La config ya no los contiene.

Activo

Rate-limit

Por sesión: máx. 20/minuto y 300/día. Si se supera, avisa sin llamar al modelo. Prioriza disponibilidad si la base fallara.

Activo

Captcha Turnstile

Cloudflare Turnstile activable por cliente. Verifica una vez por sesión; falla-abierto ante caídas para no cortar el servicio.

Activo

Cobro al cliente

El pago va siempre a la cuenta de Stripe del cliente. DSS no custodia fondos ni datos de tarjeta.

Cumplimiento y transparencia

Protección de datos

Cumplimos lo que depende de nosotros y somos transparentes con el tratamiento que hacen los terceros del sistema, que el cliente acepta con la firma. No vendemos un «cumplimiento absoluto»: mostramos qué está cubierto y qué se rige por las condiciones de cada proveedor.

Lo que cumplimos

Datos en la UE por defecto (base de datos en París, email en Alemania). Cifrado y secretos en Vault, RLS en la base, panel con login y roles. Pagos fuera del chat en la Stripe del cliente: no custodiamos datos de tarjeta. Minimización de datos.

DSS, Encargado del tratamiento

El cliente es el Responsable y DSS el Encargado (art. 28 RGPD). Con la firma se acepta el DPA, con medidas de seguridad (art. 32), notificación de brechas, supresión al final y asistencia en los derechos de los usuarios.

Terceros del sistema (aceptados)

Lista de subencargados transparente. La parte transaccional (la compra) usa un proveedor que no entrena con los datos. Parte del sistema opera hoy con servicios gratuitos, cuyo tratamiento el cliente acepta; existe una opción de futuro de migrar a proveedores de pago con DPA a coste bajo.

Documentación generada

Marco legal en borrador (pendiente de revisión jurídica), disponible para el cliente
  • Contrato de servicio (v2) con protección de datos
  • Acuerdo de Encargo de Tratamiento — DPA (art. 28)
  • Lista de subencargados (proveedores, ubicación, transferencias)
  • Política de privacidad del widget (plantilla para el cliente)
  • Aviso del widget + divulgación de IA
  • Política de conservación y ejercicio de derechos
Métricas con control de acceso

Un panel por rol

Todo el control de acceso se decide en el servidor (endpoint cb-metricas): el panel solo pinta lo que el endpoint autoriza. Login por enlace mágico (Supabase Auth), CORS restringido al dominio del panel.

Roles: Admin (DSS) · lo ve todo, filtra por cliente, coste IA Cliente · solo su instancia, con descargas Grupo · multi-sede agregado (en backlog)

Server-side

El token de sesión se valida contra Supabase; se derivan rol e instancia. A un cliente se le fuerza su instancia aunque manipule la URL. Sin token → 401.

Qué mide

Conversaciones, ventas, idiomas y temas; para admin, también coste de IA y consumo frente al techo del plan.

En producción

Publicado en panelchatbot.dssnetwork.es. Pendiente (backlog): gestor de usuarios con contraseña y email corporativo.

Planes y alcance

Tarifas del chatbot

Precio cerrado con IA incluida: el cliente no paga consumo de IA. El límite es de conversaciones al mes; el exceso se cubre por tramos.

Básico

39/mes
compromiso anual

Informa y capta. Responde con el conocimiento del cliente (RAG), capta leads y avisa al equipo por Telegram o email. No vende.

Hasta 1.500 conversaciones/mes

Business

199/mes
compromiso anual

Vende, alto volumen. Todo lo de Pro, dimensionado para gran volumen, y con acceso al modelo de grupo multi-sede.

Hasta 6.000 conversaciones/mes

Scale

A medida
presupuesto a medida

A medida. Volumen alto e integraciones específicas (APIs propias, ticketing no estándar, necesidades particulares).

Volumen a medida

Alta e integración

Puesta en marcha gratis con la contratación anual. Integraciones a medida (API propia, otro ticketing): presupuesto aparte.

Exceso de conversaciones

Si te pasas del límite del plan, se añade por tramos: +500 → 15 € · +1.500 → 35 € · +3.000 → 60 € al mes. Si el exceso es recurrente, subir de plan sale mejor. La IA sigue incluida.

Grupo · multi-sede

Solo en Business: varias sedes con panel agregado y descuento por sede — −30 % hasta 4 sedes y −50 % desde 5. Alta de sede adicional: 150 €.

El diferencial no es el precio por conversación, sino hecho y mantenido por DSS, venta real y precio cerrado con IA incluida.

Coste y capacidad

Escala con coste marginal casi nulo

Lo informativo corre en un pool de modelos gratuitos vía LiteLLM; solo lo transaccional usa Haiku (con caché). La infraestructura es fija y compartida entre todos los clientes.

Escalar = añadir claves, no replicar

  • El pool de LiteLLM balancea entre Groq, Cerebras y Mistral (gratuitos) y cae a Haiku de red si se agotan.
  • Capacidad práctica: ~30.000 conversaciones/mes por juego de cuentas → del orden de 20-30 clientes pyme típicos.
  • Se amplía sumando cuentas y proveedores; el chatbot no se replica.

Nunca corta el servicio

  • En picos, LiteLLM desvía a Haiku (coste) o encola (latencia); no rechaza.
  • Disparador de ampliación: el % de tráfico que cae a Haiku.
  • A gran escala: n8n en modo cola + workers + Redis.

Coste de IA típico: Básico ~0 € (100 % gratuito) · Pro ~10-20 € · Business ~20-50 € al mes. El precio lo sostiene el servicio gestionado, no la IA.

Dónde vive cada cosa

El stack

Piezas estándar y bien separadas, con una única fuente de verdad por cosa.

Orquestación

n8n autohospedado · n8n.dssnetwork.es. Motor genérico multi-tenant, webhooks y herramientas.

Datos y RAG

Supabase (Postgres + pgvector): conocimiento por instancia, log, clientes/config, usuarios y rate.

Modelos

Pool gratuito vía LiteLLM (Groq/Cerebras/Mistral) + Haiku 4.5 de red; embeddings Gemini.

Pagos y ticketing

Stripe (checkout, siempre a la cuenta del cliente) · Blex vía el estándar OCTO.

Seguridad

Supabase Vault (secretos), Cloudflare Turnstile (captcha), rate-limit por sesión, CORS restringido.

Versionado y panel

Git · dss-360/dss-chatbot. Panel en panelchatbot.dssnetwork.es.

Chatbot con IA

Un chatbot que vende de verdad

No es un chat de preguntas: informa con rigor, capta y cierra ventas contra el sistema del cliente. Un solo motor, precio cerrado con IA incluida, y todo el pago en la cuenta del cliente.