Primeros Pasos
Inicio Rápido#
Pon tu agente de ventas con IA en funcionamiento en menos de 5 minutos. Sigue estos cinco pasos:
Paso 1 — Regístrate
Crea tu cuenta en app.advisorai.do/signup. No se requiere tarjeta de crédito — tu prueba gratuita de 14 días comienza de inmediato.
Paso 2 — Crea un Workspace
Después de iniciar sesión se te pedirá crear tu primer workspace. Elige un nombre, selecciona tu vertical (Automotriz, Bienes Raíces, Salud, etc.) y escoge el idioma principal para la interfaz del agente.
Paso 3 — Sube tu Catálogo
Navega a Catálogo en la barra lateral. Puedes llenar tu catálogo de dos formas:
- Importar CSV — Descarga la plantilla para tu vertical, completa tus productos o servicios y sube el archivo. El importador mapea las columnas automáticamente.
- Entrada Manual — Haz clic en Agregar Elemento y completa el formulario. Ideal cuando tienes pocos elementos.
Paso 4 — Copia el Snippet del Widget
Ve a Configuración > Instalar. Verás un snippet listo para usar con tu API key única ya incluida. Haz clic en Copiar.
Paso 5 — Pega el Snippet en tu Sitio
Pega el snippet justo antes de la etiqueta de cierre </body> de tu sitio web:
<script
src="https://widget.advisorai.do/v1.js"
data-key="YOUR_API_KEY"
data-primary-color="#1A7D5A"
data-position="bottom-right"
data-lang="es">
</script>
Recarga tu sitio web y verás la burbuja de chat de AdvisorAI en la esquina inferior derecha. Haz clic para probar una conversación con los datos de tu propio catálogo.
Instalación#
El widget de AdvisorAI es un snippet de JavaScript ligero que se carga de forma asíncrona y se renderiza dentro de un iframe aislado. Funciona en cualquier sitio web que soporte scripts personalizados.
Snippet de Integración
<script
src="https://widget.advisorai.do/v1.js"
data-key="YOUR_API_KEY"
data-primary-color="#1A7D5A"
data-position="bottom-right"
data-lang="es">
</script>
Referencia de Data Attributes
| Atributo | Requerido | Descripción | Predeterminado |
|---|---|---|---|
data-key | Sí | Tu API key del workspace. Se encuentra en Configuración > API Keys. | — |
data-primary-color | No | Color hexadecimal para el encabezado del widget y elementos de acento. | #1A7D5A |
data-position | No | Esquina de la pantalla para la burbuja de chat. Opciones: bottom-right, bottom-left. | bottom-right |
data-lang | No | Idioma de la interfaz del widget. Opciones: es, en, auto (detecta del navegador). | auto |
data-greeting | No | Mensaje de bienvenida personalizado que se muestra al abrir el widget. | Predeterminado según vertical |
Instrucciones por Plataforma
WordPress
Tienes dos opciones:
- Plugin — Instala el plugin de AdvisorAI para WordPress desde el directorio de plugins. Ve a Ajustes > AdvisorAI, pega tu API key y guarda. El plugin inyecta el snippet automáticamente.
- Manual — En el editor de tu tema, abre
footer.php(o ve a Apariencia > Editor de temas > Footer del tema) y pega el snippet justo antes de</body>. Alternativamente, muchos temas tienen una sección de "Scripts de Header/Footer" en el Personalizador o en la configuración del tema donde puedes pegar el código.
Shopify
- Ve a Online Store > Themes.
- Haz clic en Actions > Edit code en tu tema activo.
- Abre
theme.liquid. - Pega el snippet justo antes de la etiqueta de cierre
</body>. - Haz clic en Save.
Wix
- Ve al panel de control de Wix.
- Navega a Settings > Custom Code.
- Haz clic en Add Custom Code.
- Pega el snippet, configura la ubicación como Body - End y elige aplicar en All Pages.
- Haz clic en Apply.
React / Next.js
Usa el componente next/script para una carga óptima:
import Script from 'next/script';
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://widget.advisorai.do/v1.js"
data-key="YOUR_API_KEY"
data-primary-color="#1A7D5A"
data-position="bottom-right"
data-lang="auto"
strategy="afterInteractive"
/>
</body>
</html>
);
}
HTML Estático
Simplemente pega el snippet antes de la etiqueta de cierre </body> en cada página donde quieras que aparezca el widget:
<!DOCTYPE html>
<html>
<head>
<title>Mi Sitio</title>
</head>
<body>
<!-- contenido de tu página -->
<script
src="https://widget.advisorai.do/v1.js"
data-key="YOUR_API_KEY"
data-primary-color="#1A7D5A"
data-position="bottom-right"
data-lang="es">
</script>
</body>
</html>
Configuración#
Configuración del Workspace
Cada workspace representa un negocio o ubicación. Configura estos ajustes en Configuración > General:
- Nombre del Workspace — El nombre del negocio que se muestra en el encabezado del widget y en el dashboard.
- Vertical — El tipo de industria (ej., Automotriz, Bienes Raíces, Salud). Esto determina qué herramientas de IA y campos del catálogo están disponibles. La vertical solo se puede configurar durante la creación del workspace.
- Idioma — El idioma predeterminado para la interfaz del widget. El agente de IA detecta automáticamente el idioma del visitante y responde en consecuencia.
- Color Primario — El color hexadecimal utilizado para el branding en el widget y el dashboard.
Estructura del Catálogo
El catálogo es la base de conocimiento que tu agente de IA utiliza para responder preguntas de los visitantes. La estructura varía según la vertical — un workspace Automotriz tiene campos como marca, modelo, año y precio, mientras que uno de Bienes Raíces tiene habitaciones, baños, área y ubicación.
Puedes llenar el catálogo mediante importación CSV o entrada manual. El formato CSV usa la primera fila como encabezados. Ejemplo para Automotriz:
externalId,make,model,year,price,mileage,fuelType,transmission,color,description
VH-001,Toyota,RAV4,2024,32500,0,Hybrid,Automatic,White,Nuevo con tracción integral
VH-002,Honda,CR-V,2023,29800,12000,Gasoline,Automatic,Blue,Certificado seminuevo
externalId se usa para operaciones de upsert. Si subes un CSV con un externalId existente, el elemento se actualizará en lugar de duplicarse.Configuración de Agenda
El módulo de agenda permite que tu agente de IA reserve citas, pruebas de manejo, visitas o clases dependiendo de tu vertical. Para configurarlo:
- Agentes / Personal — Agrega miembros del equipo que pueden recibir reservaciones. Cada agente tiene su propio calendario de disponibilidad.
- Reglas de Disponibilidad — Define horarios de trabajo por día y por agente. Establece la duración de los slots (ej., 30 min, 1 hora).
- Conexión con Google Calendar — Opcionalmente conecta Google Calendar para sincronizar reservaciones bidireccionalmente. Ve a Configuración > Integraciones > Google Calendar y autoriza el acceso.
Gestión de Equipo
Invita miembros del equipo desde Configuración > Equipo. Hay tres roles:
| Rol | Permisos |
|---|---|
| Owner (Propietario) | Acceso completo. Gestionar facturación, eliminar workspace, gestionar todos los ajustes y miembros del equipo. |
| Admin (Administrador) | Gestionar catálogo, leads, agenda y configuración del workspace. No puede gestionar facturación ni eliminar el workspace. |
| Member (Miembro) | Acceso de solo lectura. Puede ver conversaciones, leads y catálogo pero no puede hacer cambios. |
Widget
Personalización del Widget#
Colores
Establece el atributo data-primary-color con cualquier color hexadecimal válido para que coincida con tu marca. Este color se aplica a la burbuja de chat, barra de encabezado, botón de envío y acentos de enlaces dentro del widget.
data-primary-color="#1A7D5A" <!-- Verde AdvisorAI -->
data-primary-color="#2563EB" <!-- Azul -->
data-primary-color="#DC2626" <!-- Rojo -->
Posición
La burbuja de chat puede aparecer en una de dos posiciones:
data-position="bottom-right"— Predeterminado. Burbuja de chat en la esquina inferior derecha.data-position="bottom-left"— Burbuja de chat en la esquina inferior izquierda.
Idioma
El atributo data-lang controla el idioma de la interfaz del widget (etiquetas de botones, texto de placeholder, mensajes del sistema). El agente de IA detecta automáticamente el idioma del visitante a partir de su primer mensaje y responde en ese idioma independientemente de esta configuración.
data-lang="es"— Interfaz del widget en español.data-lang="en"— Interfaz del widget en inglés.data-lang="auto"— Detecta el idioma preferido del navegador. Si no está soportado, usa inglés.
Mensaje de Bienvenida
Personaliza el saludo predeterminado con data-greeting:
data-greeting="¡Hola! Soy tu asistente virtual. ¿En qué puedo ayudarte hoy?"
Si no se establece, el widget usa un saludo predeterminado basado en tu vertical. Por ejemplo, un workspace Automotriz muestra "¿Buscas tu próximo vehículo? Puedo ayudarte a encontrar la opción perfecta."
Personalización CSS
Eventos del Widget#
El widget de AdvisorAI emite eventos DOM personalizados que puedes escuchar para integrar con tu sistema de analytics, CRM o flujos de trabajo personalizados.
Escuchar Eventos
window.addEventListener('advisorai:lead_captured', (e) => {
const { name, email, phone } = e.detail;
console.log('Nuevo lead:', name, email, phone);
// Enviar a tu CRM, analytics, etc.
});
Eventos Disponibles
| Nombre del Evento | Se dispara cuando | Payload (e.detail) |
|---|---|---|
advisorai:conversation_started |
El visitante envía su primer mensaje. | { conversationId: string, timestamp: string } |
advisorai:message_sent |
El visitante envía cualquier mensaje. | { conversationId: string, message: string, timestamp: string } |
advisorai:lead_captured |
El agente captura información de contacto del visitante. | { conversationId: string, name: string, email: string, phone: string, timestamp: string } |
advisorai:visit_scheduled |
El visitante agenda una cita, prueba de manejo, visita o clase. | { conversationId: string, date: string, time: string, type: string, timestamp: string } |
advisorai:widget_opened |
El visitante abre el widget de chat. | { timestamp: string } |
advisorai:widget_closed |
El visitante cierra el widget de chat. | { timestamp: string } |
Ejemplo: Integración con Google Analytics
window.addEventListener('advisorai:lead_captured', (e) => {
gtag('event', 'lead_captured', {
event_category: 'AdvisorAI',
event_label: e.detail.email,
});
});
window.addEventListener('advisorai:visit_scheduled', (e) => {
gtag('event', 'visit_scheduled', {
event_category: 'AdvisorAI',
event_label: e.detail.type,
});
});
Ejemplo: Facebook Pixel
window.addEventListener('advisorai:lead_captured', () => {
fbq('track', 'Lead');
});
window.addEventListener('advisorai:visit_scheduled', () => {
fbq('track', 'Schedule');
});
Dashboard
Visión General del Dashboard#
El dashboard de AdvisorAI es tu centro de control para monitorear conversaciones, gestionar leads, curar tu catálogo y configurar tu workspace. Accede en app.advisorai.do.
Conversaciones
La sección de Conversaciones muestra una lista en tiempo real de todas las interacciones de chat entre tu agente de IA y los visitantes. Cada conversación muestra los mensajes del visitante y las respuestas del agente, incluyendo cualquier llamada a herramientas (búsquedas, capturas de leads, agendamiento).
- Búsqueda — Busca conversaciones por nombre del visitante, email o contenido del mensaje.
- Filtrar por Estado — Filtra por Activa (en curso), Completada (el visitante se fue) o Lead Capturado (se obtuvo información de contacto).
- Ver Detalles — Haz clic en cualquier conversación para ver la transcripción completa, datos del lead capturado y cualquier cita agendada.
Leads
Todos los contactos capturados aparecen en la sección de Leads. Cada lead incluye:
- Nombre, email y número de teléfono.
- Puntuación del Lead — Una puntuación automática de 1 a 100 basada en el nivel de engagement, preguntas realizadas y acciones tomadas (agendar, solicitar precios, etc.).
- Enlace a la conversación de origen.
- Fecha y hora de captura.
Puedes exportar todos los leads a CSV para importarlos a tu CRM o plataforma de email marketing.
Catálogo / Entidades
Gestiona los productos, propiedades, servicios o elementos que tu agente de IA conoce. Los campos mostrados dependen de tu vertical:
- Automotriz: vehículos con marca, modelo, año, precio, kilometraje.
- Bienes Raíces: propiedades con habitaciones, baños, precio, ubicación.
- Salud: servicios con especialidad, proveedor, duración.
- Y así sucesivamente para cada vertical.
Agrega elementos manualmente o importa mediante CSV. Edita o elimina elementos en cualquier momento — los cambios se reflejan en el conocimiento del agente de IA inmediatamente.
Agenda
Dependiendo de tu vertical, esta sección gestiona diferentes tipos de reservaciones:
- Automotriz: citas para pruebas de manejo.
- Bienes Raíces: visitas a propiedades.
- Salud: citas de pacientes.
- Hospitalidad: reservaciones de habitaciones.
- Fitness: reservaciones de clases.
- Belleza y Spa: citas de servicios.
Ve las reservaciones próximas en vista de calendario o lista. Cada reservación muestra la información de contacto del visitante, la fecha/hora programada y en qué están interesados.
Configuración
La sección de Configuración está organizada en varias pestañas:
- General — Nombre del workspace, vertical (solo lectura), idioma, color primario.
- Equipo — Invitar miembros, asignar roles (Owner, Admin, Member).
- API Keys — Crear, ver y revocar API keys para la instalación del widget y acceso a la API.
- Instalar — Snippet del widget listo para copiar y pegar con tu API key pre-llenada.
- Facturación — Plan actual, medidor de uso, subir/bajar de plan, método de pago.
API
Autenticación#
API Keys
Las API keys se crean y gestionan en Dashboard > Configuración > API Keys. Cada key está asociada a un solo workspace y hereda la vertical y el catálogo del workspace.
Puedes crear múltiples keys por workspace (ej., una para producción, otra para staging). Las keys pueden ser revocadas en cualquier momento desde la misma página de configuración.
Header de Autorización
Incluye tu API key en cada solicitud usando el header Authorization:
Authorization: Bearer YOUR_API_KEY
URL Base
https://api.advisorai.do/v1
Formato de Solicitudes
- Todos los cuerpos de solicitud y respuesta están codificados en JSON con UTF-8.
- Establece
Content-Type: application/jsonen todas las solicitudes que incluyan un cuerpo.
Límites de Tasa
- 60 solicitudes por minuto por API key.
- Ráfaga: 10 solicitudes por segundo.
- Exceder el límite devuelve
429 Too Many Requestscon un headerRetry-Afterque indica cuándo puedes reintentar.
Formato de Errores
Todos los errores siguen una estructura JSON consistente:
{
"error": {
"code": "rate_limit_exceeded",
"message": "Has excedido el límite de tasa. Por favor reintenta después de 12 segundos.",
"retryAfter": 12
}
}
Endpoints#
Todos los endpoints son relativos a la URL base https://api.advisorai.do/v1.
Referencia de Endpoints
| Método | Endpoint | Descripción |
|---|---|---|
POST | /v1/chat/turn | Envía un mensaje del visitante y recibe la respuesta del agente de IA como un stream de Server-Sent Events (SSE). |
GET | /v1/catalog/items | Lista todos los elementos del catálogo del workspace. Soporta paginación con ?page=1&limit=50. |
POST | /v1/catalog/items | Crea o actualiza un elemento del catálogo. Hace upsert por externalId — si existe un elemento con ese ID, se actualiza; de lo contrario se crea uno nuevo. |
DELETE | /v1/catalog/items/:id | Elimina un elemento del catálogo por su ID interno. |
GET | /v1/leads | Lista todos los leads capturados. Soporta paginación y filtrado por rango de fechas con ?from=2025-01-01&to=2025-01-31. |
GET | /v1/conversations | Lista todas las conversaciones. Soporta paginación y filtrado por estado con ?status=completed. |
POST /v1/chat/turn
Este es el endpoint principal para las interacciones de chat. Acepta un mensaje del visitante y devuelve la respuesta del agente de IA transmitida vía SSE.
curl -X POST https://api.advisorai.do/v1/chat/turn \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"conversationId": "conv_abc123",
"message": "¿Tienen SUVs por debajo de $35,000?"
}'
La respuesta es un stream de eventos SSE:
data: {"type":"text_delta","content":"¡Sí! Tenemos"}
data: {"type":"text_delta","content":" varios SUVs"}
data: {"type":"tool_use","tool":"search_vehicles","input":{"type":"SUV","maxPrice":35000}}
data: {"type":"tool_result","results":[{"make":"Toyota","model":"RAV4","year":2024,"price":32500}]}
data: {"type":"text_delta","content":"Encontré 3 SUVs por debajo de $35,000..."}
data: {"type":"done"}
POST /v1/catalog/items
curl -X POST https://api.advisorai.do/v1/catalog/items \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalId": "VH-003",
"data": {
"make": "Ford",
"model": "Escape",
"year": 2024,
"price": 28500,
"mileage": 0,
"fuelType": "Hybrid",
"transmission": "Automatic"
}
}'
GET /v1/leads
curl https://api.advisorai.do/v1/leads?page=1&limit=20 \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta:
{
"data": [
{
"id": "lead_xyz789",
"name": "Maria Garcia",
"email": "maria@example.com",
"phone": "+1-555-0123",
"score": 85,
"conversationId": "conv_abc123",
"capturedAt": "2025-03-15T14:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 142
}
}
Webhooks#
Descripción General
Los webhooks te permitirán recibir notificaciones HTTP POST en tiempo real cuando ocurran eventos específicos en tu workspace. Configurarás los endpoints de webhook en Dashboard > Configuración > Webhooks.
Eventos Planificados
| Evento | Descripción |
|---|---|
conversation.completed | Se dispara cuando una conversación termina (el visitante se va o la sesión expira). El payload incluye la transcripción completa de la conversación y cualquier dato de lead capturado. |
lead.captured | Se dispara cuando el agente de IA captura información de contacto de un visitante. El payload incluye nombre, email, teléfono, puntuación del lead e ID de conversación. |
visit.scheduled | Se dispara cuando un visitante agenda una cita, prueba de manejo, visita, clase o reservación. El payload incluye los detalles de la reservación e información de contacto del visitante. |
Formato del Payload de Webhook (Planificado)
POST https://tu-servidor.com/webhooks/advisorai
Content-Type: application/json
X-AdvisorAI-Signature: sha256=...
{
"event": "lead.captured",
"timestamp": "2025-03-15T14:30:00Z",
"workspaceId": "ws_abc123",
"data": {
"leadId": "lead_xyz789",
"name": "Maria Garcia",
"email": "maria@example.com",
"phone": "+1-555-0123",
"score": 85,
"conversationId": "conv_def456"
}
}
Las solicitudes de webhook incluirán un header X-AdvisorAI-Signature para la verificación del payload usando tu secreto de firma de webhook.
Límites de Tasa#
Límites Predeterminados
Todas las API keys están sujetas a los siguientes límites de tasa:
| Límite | Valor |
|---|---|
| Solicitudes por minuto | 60 |
| Ráfaga (solicitudes por segundo) | 10 |
Headers de Límite de Tasa
Cada respuesta de la API incluye headers que indican el estado actual de tu límite de tasa:
| Header | Descripción |
|---|---|
X-RateLimit-Limit | Máximo de solicitudes por minuto para tu API key. |
X-RateLimit-Remaining | Número de solicitudes restantes en la ventana actual. |
X-RateLimit-Reset | Timestamp Unix de cuándo se reinicia la ventana del límite de tasa. |
Exceder el Límite
Cuando excedes el límite de tasa, la API devuelve una respuesta 429 Too Many Requests:
HTTP/1.1 429 Too Many Requests
Retry-After: 12
Content-Type: application/json
{
"error": {
"code": "rate_limit_exceeded",
"message": "Límite de tasa excedido. Por favor reintenta después de 12 segundos.",
"retryAfter": 12
}
}
Usa el valor del header Retry-After para determinar cuánto tiempo esperar antes de reintentar. Recomendamos implementar retroceso exponencial en tu integración.
Límites Personalizados Enterprise
Los planes Enterprise incluyen límites de tasa personalizados adaptados a tus patrones de uso. Contacta a tu account manager o escribe a enterprise@advisorai.do para discutir límites más altos.
Verticales
Verticales Soportadas#
AdvisorAI viene pre-configurado para 10 verticales de industria. Cada vertical incluye un conjunto especializado de herramientas de IA, campos de catálogo y comportamientos de conversación optimizados para esa industria. Cuando creas un workspace seleccionas una vertical, y la plataforma configura todo automáticamente.
1. Automotriz
Agentes de ventas con IA para concesionarios de autos, tiendas de motocicletas y marketplaces de vehículos. El agente ayuda a los visitantes a buscar inventario, comparar vehículos, obtener detalles de precios y agendar pruebas de manejo.
Herramientas Disponibles:
search_vehicles— Busca en el inventario de vehículos por marca, modelo, año, rango de precio, tipo de combustible y otros criterios.get_vehicle_details— Obtiene detalles completos de un vehículo específico incluyendo fotos, características y precios.capture_lead— Captura el nombre, email y teléfono del visitante para seguimiento de ventas.schedule_test_drive— Agenda una cita para prueba de manejo en una fecha y hora disponible.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
make | string | Fabricante del vehículo (ej., Toyota, Honda) |
model | string | Modelo del vehículo (ej., RAV4, CR-V) |
year | number | Año del modelo |
price | number | Precio de lista en USD |
mileage | number | Lectura del odómetro en millas |
fuelType | string | Gasolina, Diésel, Híbrido, Eléctrico |
transmission | string | Automática, Manual, CVT |
Ejemplo de Conversación:
Visitante: Busco una SUV híbrida por debajo de $35,000.
Agente: ¡Excelente elección! Déjame buscar en nuestro inventario.
[search_vehicles: type=SUV, fuelType=Hybrid, maxPrice=35000]
Encontré 3 SUVs híbridas dentro de tu presupuesto:
1. 2024 Toyota RAV4 Hybrid — $32,500 (nueva, 0 mi)
2. 2023 Honda CR-V Hybrid — $29,800 (12,000 mi)
3. 2024 Ford Escape Hybrid — $28,500 (nueva, 0 mi)
¿Te gustaría más detalles sobre alguna?
Visitante: Cuéntame más sobre la RAV4.
Agente: [get_vehicle_details: id=VH-001]
La Toyota RAV4 Hybrid 2024 viene con tracción integral,
219 caballos de fuerza combinados y un estimado de 41 MPG
en ciudad. Incluye pantalla táctil de 8 pulgadas, control
de crucero adaptativo y Toyota Safety Sense 2.5+.
¿Te gustaría agendar una prueba de manejo?
Visitante: Sí, ¿tienen disponibilidad el sábado?
Agente: Tenemos horarios a las 10:00 AM, 12:00 PM y 3:00 PM
este sábado. ¿Cuál te funciona mejor? También necesitaré
tu nombre, email y teléfono para confirmar.
2. Bienes Raíces
Agentes de ventas con IA para agencias inmobiliarias, desarrolladores de propiedades y plataformas de alquiler. El agente ayuda a los visitantes a buscar listados, obtener detalles de propiedades y agendar visitas.
Herramientas Disponibles:
search_properties— Busca propiedades por tipo, ubicación, rango de precio, habitaciones, baños y área.get_property_details— Obtiene detalles completos de la propiedad incluyendo fotos, plano y información del vecindario.capture_lead— Captura la información de contacto del visitante para seguimiento del agente.schedule_visit— Agenda una visita a la propiedad en una fecha y hora disponible.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Casa, Apartamento, Condominio, Terreno, Comercial |
bedrooms | number | Número de habitaciones |
bathrooms | number | Número de baños |
area | number | Área en pies cuadrados o metros cuadrados |
price | number | Precio de lista |
location | string | Vecindario, ciudad o dirección |
Ejemplo de Conversación:
Visitante: Busco un apartamento de 3 habitaciones en el centro, presupuesto de $300K.
Agente: Déjame buscar en nuestros listados.
[search_properties: type=Apartment, bedrooms=3, location=centro, maxPrice=300000]
Encontré 4 apartamentos que coinciden con tus criterios:
1. Moderno 3 hab. en el Centro — $285,000 (1,200 sq ft)
2. Renovado 3 hab. cerca de Calle Principal — $295,000 (1,350 sq ft)
3. Nueva Construcción 3 hab. — $299,000 (1,400 sq ft)
¿Te gustaría ver detalles o agendar una visita?
Visitante: El de nueva construcción suena interesante.
Agente: [get_property_details: id=PR-003]
Este es un apartamento nuevo de 3 habitaciones, 2 baños,
en el piso 8 con vistas a la ciudad. Incluye pisos de
madera, encimeras de cuarzo, lavandería en la unidad y
un estacionamiento. El edificio tiene gimnasio y terraza
en la azotea. Disponible para mudanza inmediata.
¿Agendamos una visita?
Visitante: Sí, ¿puedo verlo este fin de semana?
Agente: Tenemos disponibilidad el sábado a las 11:00 AM y 2:00 PM,
y el domingo a las 10:00 AM. ¿Cuál te funciona?
3. Salud
Asistentes con IA para clínicas, consultorios médicos y proveedores de salud. El agente ayuda a los pacientes a encontrar el servicio adecuado, conocer a los proveedores y agendar citas.
Herramientas Disponibles:
search_services— Busca servicios médicos y especialidades disponibles.get_provider_details— Obtiene información sobre un doctor o proveedor de salud específico.capture_lead— Captura información de contacto del paciente para confirmación de cita.schedule_appointment— Agenda una cita médica con un proveedor específico.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
specialty | string | Especialidad médica (ej., Cardiología, Dermatología) |
provider | string | Nombre del doctor o profesional |
duration | number | Duración de la cita en minutos |
price | number | Costo de la consulta |
Ejemplo de Conversación:
Visitante: Necesito ver a un dermatólogo para una revisión de la piel.
Agente: [search_services: specialty=Dermatología]
Tenemos servicios de dermatología con dos proveedores:
1. Dra. Sarah Chen — Dermatología General (30 min, $150)
2. Dr. James Park — Dermatología Cosmética y Médica (45 min, $200)
Ambos aceptan la mayoría de seguros. ¿Te gustaría agendar?
Visitante: Me gustaría ver a la Dra. Chen. ¿Cuál es su próxima disponibilidad?
Agente: [get_provider_details: provider=dra-chen]
Las próximas citas disponibles de la Dra. Chen son:
- Martes a las 9:00 AM
- Miércoles a las 2:30 PM
- Viernes a las 11:00 AM
¿Cuál horario te funciona?
Visitante: El martes a las 9 AM funciona.
Agente: Perfecto. Necesitaré tu nombre, email y teléfono para
confirmar la cita. ¿Podrías proporcionarlos?
4. Hospitalidad
Agentes concierge con IA para hoteles, resorts, alojamientos boutique y alquileres vacacionales. El agente ayuda a los huéspedes a buscar habitaciones, verificar disponibilidad, comparar amenidades y hacer reservaciones.
Herramientas Disponibles:
search_rooms— Busca habitaciones disponibles por tipo, fechas, capacidad y rango de precio.get_room_details— Obtiene detalles completos de la habitación incluyendo fotos, amenidades y políticas.capture_lead— Captura la información de contacto del huésped para confirmación de reservación.make_reservation— Crea una reservación de habitación para fechas específicas.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
roomType | string | Estándar, Deluxe, Suite, Penthouse |
capacity | number | Número máximo de huéspedes |
pricePerNight | number | Tarifa por noche |
amenities | string[] | Lista de amenidades (WiFi, minibar, vista al mar, etc.) |
Ejemplo de Conversación:
Visitante: ¿Tienen habitaciones con vista al mar disponibles el próximo fin de semana?
Agente: Déjame verificar la disponibilidad.
[search_rooms: amenities=vista al mar, checkIn=2025-04-05, checkOut=2025-04-07]
Tenemos 2 habitaciones con vista al mar disponibles para el 5-6 de abril:
1. Deluxe Vista al Mar — $220/noche (cama king, balcón)
2. Suite Vista al Mar — $380/noche (cama king, sala, jacuzzi)
¿Te gustaría más detalles de alguna opción?
Visitante: La Deluxe suena genial. ¿Incluye desayuno?
Agente: [get_room_details: id=RM-012]
La Deluxe Vista al Mar incluye desayuno gratuito para
dos personas en nuestro restaurante terraza, WiFi gratis,
minibar y balcón privado frente al mar. El check-in es
a las 3:00 PM y el check-out a las 11:00 AM.
¿La reservo?
Visitante: Sí, por favor resérvala por dos noches.
Agente: Lo configuro de inmediato. Tu total sería $440 por
2 noches. Necesitaré tu nombre completo, email y
teléfono para completar la reservación.
5. Educación
Asesores de inscripción con IA para universidades, centros de capacitación, escuelas de idiomas y plataformas de cursos en línea. El agente ayuda a los estudiantes potenciales a explorar programas, entender requisitos e inscribirse.
Herramientas Disponibles:
search_courses— Busca cursos y programas por campo, nivel, horario y costo.get_course_details— Obtiene detalles completos del curso incluyendo temario, prerrequisitos e información del instructor.capture_lead— Captura información de contacto del estudiante potencial.enroll_student— Inicia el proceso de inscripción para un programa específico.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
program | string | Nombre del curso o programa |
level | string | Principiante, Intermedio, Avanzado, Profesional |
duration | string | Duración del curso (ej., 8 semanas, 6 meses, 2 años) |
tuition | number | Costo total de la matrícula |
schedule | string | Horario de clases (ej., Lun/Mié 6-8 PM, En línea a tu ritmo) |
Ejemplo de Conversación:
Visitante: Me interesan los cursos de ciencia de datos. ¿Qué ofrecen?
Agente: [search_courses: field=Ciencia de Datos]
Tenemos 3 programas de ciencia de datos disponibles:
1. Fundamentos de Ciencia de Datos — 8 semanas, $1,200 (Principiante)
2. Machine Learning Profesional — 16 semanas, $3,500 (Intermedio)
3. Preparación para Maestría en Ciencia de Datos — 6 meses, $5,800 (Avanzado)
Todos incluyen proyectos prácticos y apoyo profesional.
Visitante: Cuéntame más sobre el curso de Machine Learning.
Agente: [get_course_details: id=CS-002]
El programa de Machine Learning Profesional cubre
aprendizaje supervisado y no supervisado, redes
neuronales, NLP y despliegue. Las clases son Mar/Jue
de 6-9 PM con laboratorios en línea los fines de semana.
Prerrequisitos: dominio de Python y estadística básica.
Incluye un proyecto capstone con una empresa real.
La próxima cohorte inicia el 12 de mayo.
Visitante: Suena perfecto. ¿Cómo me inscribo?
Agente: Puedo iniciar tu inscripción ahora mismo. Necesitaré
tu nombre completo, email y teléfono. Recibirás un
correo de confirmación con instrucciones de pago y
los materiales previos al curso.
6. E-commerce
Asistentes de compras con IA para tiendas en línea, marketplaces y sitios de retail. El agente ayuda a los compradores a encontrar productos, comparar opciones, obtener recomendaciones y agregar artículos al carrito.
Herramientas Disponibles:
search_products— Busca productos por nombre, categoría, rango de precio y atributos.get_product_details— Obtiene detalles completos del producto incluyendo especificaciones, reseñas y disponibilidad.capture_lead— Captura la información de contacto del comprador para seguimiento o listas de deseos.add_to_cart— Agrega un producto con una variante específica al carrito de compras del visitante.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre del producto |
category | string | Categoría del producto |
price | number | Precio del producto |
stock | number | Cantidad de stock disponible |
variants | object[] | Opciones de talla, color, material |
Ejemplo de Conversación:
Visitante: Busco zapatillas para correr, talla 10, por debajo de $150.
Agente: [search_products: category=Zapatillas para Correr, size=10, maxPrice=150]
Encontré 5 zapatillas para correr en talla 10 dentro de tu presupuesto:
1. Nike Air Zoom Pegasus 41 — $129.99 (4.5 estrellas)
2. Adidas Ultraboost Light — $139.99 (4.7 estrellas)
3. Brooks Ghost 16 — $119.99 (4.6 estrellas)
¿Te gustaría detalles de alguna?
Visitante: ¿En qué colores viene la Ultraboost?
Agente: [get_product_details: id=PRD-042]
La Adidas Ultraboost Light en talla 10 está disponible en:
- Core Black / Cloud White
- Solar Red / Night Flash
- Wonder Blue / Silver Metallic
Las tres están en stock y listas para envío en 2-3 días
hábiles. ¿Te gustaría agregar alguna al carrito?
Visitante: Agrega la Solar Red en talla 10.
Agente: [add_to_cart: id=PRD-042, variant=Solar Red, size=10]
¡Listo! La Adidas Ultraboost Light en Solar Red (talla 10)
ha sido agregada a tu carrito. Tu total es $139.99.
¿Deseas seguir comprando o ir al checkout?
7. Servicios Profesionales
Asistentes con IA para bufetes de abogados, oficinas contables, agencias de marketing, consultoras y otros proveedores de servicios profesionales. El agente ayuda a los clientes potenciales a entender los servicios, encontrar al proveedor adecuado y agendar consultas.
Herramientas Disponibles:
search_services— Busca servicios disponibles por tipo, área de expertise y rango de precio.get_service_details— Obtiene detalles completos sobre un servicio específico incluyendo alcance, entregables y perfil del proveedor.capture_lead— Captura la información de contacto del cliente potencial y detalles del caso.schedule_consultation— Agenda una consulta inicial con un proveedor específico.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
service | string | Nombre del servicio (ej., Preparación de Impuestos, Revisión de Contratos) |
duration | string | Duración típica del compromiso |
price | number | Precio inicial o tarifa por hora |
provider | string | Profesional o equipo que maneja el servicio |
Ejemplo de Conversación:
Visitante: Necesito ayuda para incorporar mi negocio. ¿Qué opciones tienen?
Agente: [search_services: type=Formación de Empresas]
Ofrecemos varios servicios de formación de empresas:
1. Formación de LLC — $500 (incluye registro, acuerdo operativo)
2. Formación de S-Corp — $750 (incluye registro, estatutos, EIN)
3. Paquete Completo de Setup — $1,200 (formación + config. fiscal + contratos)
Cada uno incluye una consulta de 30 minutos con un abogado.
Visitante: ¿Qué incluye exactamente el Paquete Completo?
Agente: [get_service_details: id=SVC-003]
El Paquete Completo de Setup de Negocio incluye:
- Formación de entidad (LLC o Corp) con registro estatal
- Acuerdo operativo o estatutos
- Solicitud de EIN
- Consulta de estructura fiscal inicial
- 3 contratos comerciales estándar (NDA, acuerdo de servicio, contratista independiente)
Manejado por nuestro equipo de derecho empresarial.
Tiempo típico de finalización: 2-3 semanas.
Visitante: Me gustaría agendar una consulta para discutir esto.
Agente: Nuestras próximas consultas disponibles son el lunes a
las 10 AM, miércoles a las 2 PM o viernes a las 9 AM.
¿Cuál te funciona? Necesitaré tu nombre, email y
teléfono para confirmar.
8. Fitness
Asistentes con IA para gimnasios, estudios de yoga, boxes de CrossFit y centros fitness. El agente ayuda a los miembros potenciales a explorar horarios de clases, conocer opciones de membresía y reservar clases o sesiones de prueba.
Herramientas Disponibles:
search_classes— Busca clases fitness por tipo, instructor, horario y nivel de dificultad.get_class_details— Obtiene detalles completos de la clase incluyendo descripción, perfil del instructor y requisitos.capture_lead— Captura la información de contacto del visitante para seguimiento de membresía.book_class— Reserva un lugar en una sesión de clase específica.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
className | string | Nombre de la clase (ej., Power Yoga, Circuito HIIT) |
instructor | string | Nombre del instructor |
schedule | string | Día y hora (ej., Lun/Mié/Vie 7:00 AM) |
capacity | number | Tamaño máximo de la clase |
membershipRequired | boolean | Si se requiere membresía para asistir |
Ejemplo de Conversación:
Visitante: ¿Qué clases de yoga tienen en la mañana?
Agente: [search_classes: type=Yoga, timeOfDay=mañana]
Tenemos 3 clases de yoga matutinas esta semana:
1. Vinyasa al Amanecer — Lun/Mié/Vie 6:30 AM (con Laura)
2. Power Yoga — Mar/Jue 7:00 AM (con Mike)
3. Flujo Suave — Lun/Mié 8:30 AM (con Daniela)
Todas son de 60 minutos. ¿Te gustaría más detalles?
Visitante: ¿El Power Yoga es apto para principiantes?
Agente: [get_class_details: id=CL-005]
Power Yoga con Mike es una clase de nivel intermedio
enfocada en posturas de fuerza y flujos dinámicos.
Si eres nuevo en yoga, te recomendaríamos empezar con
Flujo Suave — está diseñada para todos los niveles e
incluye modificaciones. Mike también ofrece una sesión
introductoria gratuita los sábados a las 9 AM.
¿Te gustaría reservar un lugar?
Visitante: Sí, inscríbeme en la sesión del sábado.
Agente: [book_class: id=CL-005-intro, date=Sábado]
¡Listo para la sesión introductoria del sábado a las
9 AM! Trae un mat y una botella de agua. Necesitaré
tu nombre y email para enviar la confirmación.
9. Belleza y Spa
Asistentes de reservación con IA para salones, barberías, spas y centros de belleza. El agente ayuda a los clientes a explorar servicios, encontrar al estilista adecuado y agendar citas.
Herramientas Disponibles:
search_services— Busca servicios de belleza y spa por tipo, duración y precio.get_service_details— Obtiene detalles completos del servicio incluyendo descripción, qué incluye y disponibilidad del proveedor.capture_lead— Captura la información de contacto del cliente para recordatorios de citas.book_appointment— Agenda una cita de belleza o spa con un estilista o terapeuta específico.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
service | string | Nombre del servicio (ej., Corte de Cabello, Masaje de Tejido Profundo) |
duration | number | Duración del servicio en minutos |
price | number | Precio del servicio |
stylist | string | Nombre del estilista, terapeuta o especialista |
Ejemplo de Conversación:
Visitante: Me gustaría agendar un corte de cabello y color para este viernes.
Agente: [search_services: type=Corte de Cabello, type=Color]
Ofrecemos varios servicios de cabello:
1. Corte de Cabello Mujer — 45 min, $55
2. Balayage — 120 min, $180
3. Mechas Completas — 90 min, $150
4. Corte + Color Proceso Único — 90 min, $120
La opción 4 podría ser perfecta si quieres ambos.
¿Te gustaría un estilista específico?
Visitante: Me gustaría con Jessica si está disponible.
Agente: [get_service_details: id=SVC-004, stylist=jessica]
Jessica tiene estos horarios el viernes:
- 10:00 AM (Corte + Color, 90 min)
- 2:00 PM (Corte + Color, 90 min)
Se especializa en balayage y color natural. Calificación
de 4.9 estrellas de más de 120 clientes. ¿Qué hora prefieres?
Visitante: A las 2 PM me funciona perfecto.
Agente: [book_appointment: service=SVC-004, stylist=jessica, date=Viernes, time=14:00]
Estás agendada con Jessica el viernes a las 2:00 PM para
Corte + Color Proceso Único ($120, 90 min). Necesitaré
tu nombre, email y teléfono para la confirmación.
10. Servicio Automotriz
Asistentes con IA para talleres mecánicos, centros de servicio, tiendas de llantas y negocios de mantenimiento automotriz. El agente ayuda a los propietarios de vehículos a encontrar el servicio adecuado, obtener estimados y agendar reparaciones.
Herramientas Disponibles:
search_services— Busca servicios automotrices disponibles por tipo, marca del vehículo y rango de precio.get_service_details— Obtiene detalles completos del servicio incluyendo qué incluye, partes y tiempo estimado.capture_lead— Captura la información de contacto del propietario del vehículo y detalles del vehículo.schedule_repair— Agenda una cita de servicio en una fecha y hora disponible.
Campos Clave del Catálogo:
| Campo | Tipo | Descripción |
|---|---|---|
service | string | Nombre del servicio (ej., Cambio de Aceite, Reemplazo de Pastillas de Freno) |
estimatedDuration | string | Tiempo estimado (ej., 30 min, 2 horas) |
priceRange | string | Rango de precio (ej., $39-$69, $150-$300) |
vehicleTypes | string[] | Tipos de vehículo compatibles (Sedán, SUV, Camioneta, etc.) |
Ejemplo de Conversación:
Visitante: Mis frenos están rechinando. ¿Qué recomiendan?
Agente: Los frenos que rechinan usualmente indican pastillas desgastadas.
[search_services: type=Frenos]
Ofrecemos estos servicios de frenos:
1. Inspección de Frenos — Gratis (15 min)
2. Reemplazo de Pastillas (Delanteras) — $150-$250 (1-2 horas)
3. Reemplazo de Pastillas (Delanteras + Traseras) — $280-$450 (2-3 horas)
4. Servicio Completo de Frenos (pastillas + rotores) — $400-$700 (3-4 horas)
Recomendaría empezar con la inspección gratuita para
evaluar exactamente qué necesitas. ¿Qué vehículo tienes?
Visitante: Tengo un Honda Accord 2021.
Agente: [get_service_details: id=SVC-002, vehicle=Honda Accord 2021]
Para un Honda Accord 2021, el reemplazo de pastillas
delanteras típicamente cuesta $180 incluyendo pastillas
equivalentes a OEM y mano de obra. Toma alrededor de
1.5 horas. Si los rotores necesitan rectificación,
agrega $80-$120. Podemos confirmar durante la inspección
gratuita. ¿Te gustaría agendar una?
Visitante: Sí, lo más pronto posible.
Agente: Nuestros próximos horarios disponibles son:
- Mañana a las 8:00 AM
- Mañana a la 1:00 PM
- Miércoles a las 10:00 AM
¿Cuál te funciona? Necesitaré tu nombre, teléfono y
email para reservar la cita.
Facturación
Planes y Precios#
AdvisorAI ofrece tres planes para negocios de cualquier tamaño. Todos los planes incluyen el agente de IA completo con uso de herramientas, conversaciones en tiempo real y captura de leads.
| Característica | Starter | Pro | Enterprise |
|---|---|---|---|
| Precio Mensual | $49/mes | $149/mes | Personalizado |
| Agentes de IA | 1 | 5 | Ilimitados |
| Conversaciones / mes | 1,000 | 10,000 | Ilimitadas |
| Analíticas | Básicas | Avanzadas | Avanzadas + Personalizadas |
| Soporte | Email prioritario | Account manager dedicado | |
| Branding Personalizado | — | Sí | Sí |
| Puntuación de Leads | — | Sí | Sí |
| Integraciones CRM | — | Sí | Sí + Personalizadas |
| Multi-idioma | — | Sí | Sí |
| SSO | — | — | Sí |
| Acceso API | — | — | Sí |
| SLA | — | — | Sí (99.9%) |
Facturación Anual
Ahorra con facturación anual — paga 10 meses y obtén 2 meses gratis. Precios anuales:
- Starter: $490/año (ahorras $98)
- Pro: $1,490/año (ahorras $298)
- Enterprise: Contacta a ventas para precios anuales
Prueba Gratuita
Cada cuenta nueva comienza con una prueba gratuita de 14 días del plan Pro. No se requiere tarjeta de crédito. Al final de la prueba puedes elegir cualquier plan o tu workspace se pausará hasta que te suscribas.
Uso y Consumo#
Conteo de Conversaciones
Una "conversación" se cuenta cada vez que un visitante envía su primer mensaje en una nueva sesión de chat. Los mensajes posteriores dentro de la misma sesión no cuentan como conversaciones adicionales. Si el mismo visitante regresa más tarde e inicia una nueva sesión, eso cuenta como una nueva conversación.
Límite Flexible y Período de Gracia
Cuando alcanzas tu límite mensual de conversaciones, AdvisorAI no apaga tu agente de inmediato. En su lugar, aplica un límite flexible:
- Recibes una notificación por email cuando alcanzas el 80% de tu límite.
- Recibes otra notificación cuando alcanzas el 100%.
- Comienza un período de gracia de 48 horas, durante el cual tu agente continúa funcionando normalmente.
- Después del período de gracia, las nuevas conversaciones se pausan hasta el siguiente ciclo de facturación o hasta que subas de plan.
Medidor de Uso en el Dashboard
Monitorea tu uso en tiempo real desde Configuración > Facturación. El medidor de uso muestra:
- Conversaciones usadas en este período de facturación.
- Conversaciones restantes.
- Porcentaje del límite usado (con una barra de progreso visual).
- Días restantes en el ciclo de facturación actual.
Prompts de Upgrade
Cuando te acercas o excedes tu límite, el dashboard muestra un prompt de upgrade sugiriendo el siguiente nivel de plan. Puedes subir de plan en cualquier momento desde Configuración > Facturación — el costo se prorratea por el resto de tu período de facturación actual.
PayPal como Método de Pago#
Descripción General
AdvisorAI soporta PayPal como método de pago junto con Stripe (tarjetas de crédito/débito). Puedes elegir PayPal durante el checkout inicial o cambiar a él después.
Configurar PayPal Durante el Checkout
- Elige tu plan en la página de precios o desde Configuración > Facturación.
- En la página de checkout, selecciona PayPal como método de pago en lugar de tarjeta de crédito.
- Serás redirigido a PayPal para autorizar la suscripción recurrente.
- Después de autorizar, regresarás a AdvisorAI y tu suscripción se activará de inmediato.
Cambiar a PayPal desde una Suscripción Existente
- Ve a Configuración > Facturación.
- En la sección de Método de Pago, haz clic en Cambiar Método de Pago.
- Selecciona PayPal y sigue el flujo de autorización.
- Tu próximo ciclo de facturación se cargará a tu cuenta de PayPal.
Detalles de Facturación con PayPal
- Los pagos recurrentes se manejan a través del sistema de suscripción de PayPal.
- Puedes gestionar o cancelar la suscripción desde tu cuenta de PayPal en Pagos Automáticos.
- Las facturas se envían al email asociado a tu cuenta de AdvisorAI (no a tu email de PayPal, a menos que sean el mismo).
- Los reembolsos se procesan de vuelta a tu cuenta de PayPal dentro de 5-10 días hábiles.
Avanzado
Multi-tenancy#
Arquitectura
AdvisorAI utiliza una arquitectura de multi-tenancy de esquema por inquilino. Cada workspace obtiene su propio esquema PostgreSQL aislado, asegurando una separación completa de datos entre inquilinos.
Aislamiento de Datos
- Esquemas separados — Los datos de cada workspace (elementos del catálogo, conversaciones, leads, configuraciones, miembros del equipo) residen en un esquema de base de datos dedicado. No hay una tabla compartida donde los datos de los inquilinos puedan mezclarse.
- Sin acceso cruzado — Las API keys, tokens de sesión y todas las consultas de datos están limitadas a un solo esquema de workspace. Es arquitectónicamente imposible que un workspace acceda a los datos de otro workspace.
- Metadatos del administrador de plataforma — Los superadministradores de la plataforma pueden ver metadatos del workspace (nombre, plan, conteos de uso, fecha de creación) para propósitos administrativos, pero no tienen acceso a datos del inquilino como conversaciones, leads o contenido del catálogo.
Alcance de API Keys
Cada API key está vinculada a exactamente un workspace. Cuando una solicitud se autentica con una API key, el sistema dirige todas las consultas al esquema de ese workspace. No existe un mecanismo para consultar entre esquemas a través de la API.
Ciclo de Vida del Workspace
- Creación — Se provisiona un nuevo esquema PostgreSQL con la estructura de tablas específica de la vertical.
- Activo — Todas las operaciones de datos están aisladas dentro del esquema.
- Archivado — Los datos se retienen pero el workspace es de solo lectura. El agente de IA deja de atender conversaciones.
- Eliminado — El esquema y todos los datos asociados se eliminan permanentemente después de un período de gracia de 30 días.
Seguridad#
Autenticación
AdvisorAI usa autenticación por magic link — no se almacenan ni transmiten contraseñas. Cuando inicias sesión:
- Ingresa tu dirección de email.
- Recibe un magic link de uso único por email.
- Haz clic en el enlace para autenticarte. El enlace expira después de 15 minutos y solo puede usarse una vez.
Esto elimina vulnerabilidades relacionadas con contraseñas como ataques de fuerza bruta, credential stuffing y reutilización de contraseñas.
Gestión de Sesiones
- Los tokens de sesión se almacenan en cookies
httpOnly, lo que impide que JavaScript los acceda (mitiga ataques XSS). - Las cookies se configuran con la bandera
Secure(solo HTTPS) ySameSite=Strict. - Las sesiones expiran después de 7 días de inactividad. Las sesiones activas se extienden automáticamente.
Seguridad de API Keys
- Las API keys se hashean antes de almacenarlas usando SHA-256. Solo los primeros 8 caracteres (el prefijo de la key) se almacenan en forma legible para identificación en el dashboard.
- La API key completa se muestra solo una vez al momento de la creación. Si se pierde, debes crear una nueva key.
- Las keys pueden ser revocadas instantáneamente desde el dashboard.
Seguridad de Transporte
- HTTPS en todas partes — Toda la comunicación entre clientes, el widget, la API y el dashboard está cifrada con TLS 1.2+.
- Los headers HSTS se configuran con un max-age de 1 año para prevenir ataques de downgrade.
- El iframe del widget usa headers de Content Security Policy para prevenir ataques de inyección.
Sanitización de Inputs
- Todos los inputs del usuario (mensajes de visitantes, datos del catálogo, configuraciones) se sanitizan antes del procesamiento y almacenamiento.
- La inyección SQL se previene mediante consultas parametrizadas (Drizzle ORM).
- XSS se previene mediante codificación de salida y el sandbox del iframe para el widget.
- Los inputs de herramientas del agente de IA se validan contra esquemas JSON estrictos antes de la ejecución.
Privacidad de Datos
- Los datos de conversación se almacenan cifrados en reposo.
- La información de contacto de leads se cifra en reposo usando AES-256.
- Los datos se alojan en infraestructura con certificación SOC 2 Type II.
- Los propietarios del workspace pueden solicitar la exportación completa o eliminación de datos en cualquier momento.