# Batería de pruebas del chatbot de soporte Pega cada frase tal cual en el widget del chat y comprueba el resultado. Empieza un chat nuevo cuando un grupo lo indique. --- ## 1. Información y productos **Política de envíos (base de conocimiento)** > "¿Cuánto tardan los envíos?" ✅ Debería: responder con la info real de tu tienda (tus documentos/PDFs), sin inventarse plazos. **Especificaciones de un producto** > "¿De qué material es la mochila?" ✅ Debería: contestar copiando los datos reales de la ficha o documentos, y si falta el dato lo dice y ofrece consultarlo. **Buscar un producto** > "Enséñame zapatillas rojas" ✅ Debería: mostrar tarjetas visuales de producto (foto, precio en €, "Ver" y botón "Añadir al carrito"), no una lista de texto. **Consultar talla/stock** > "¿Tenéis la camiseta en talla M?" ✅ Debería: buscar en tu catálogo en vivo y mostrar las variantes disponibles en tarjeta. **Botón añadir al carrito desde la tarjeta** > "Muéstrame fundas de móvil" ✅ Debería: cada tarjeta lleva botón "Añadir al carrito" que abre el carrito de tu tienda con ese producto ya metido (los agotados no muestran botón). **Recomendar por necesidad y presupuesto** > "Busco unas botas de montaña por menos de 80€" ✅ Debería: recomendar productos que encajan y explicar por qué cuadran con lo que pides y el presupuesto. **Comparar cuando dudas (2-4 productos)** > "No sé cuál elegir entre estas mochilas" ✅ Debería: enseñar y comparar entre 2 y 4 productos para ayudarte a decidir (sin repetir el mismo título). **Venta cruzada (un complemento)** > "Me llevo la tienda de campaña" ✅ Debería: sugerir UN solo complemento que pega, no una lista de extras. **Objeciones con datos reales** > "Me parece caro" ✅ Debería: responder primero con datos reales (precio, envío o devoluciones) antes de derivar a una persona. --- ## 2. Carrito y compra **Crear enlace de carrito** > "Quiero comprar 2 de estas y una de aquellas" ✅ Debería: devolver un enlace de carrito/checkout de tu tienda con las cantidades indicadas y el número de artículos. **Pasar el carrito con varios productos** > "Pásame el carrito con estos" ✅ Debería: generar un enlace al carrito con esos productos listo para pagar. **Aplicar un código de descuento** > "¿Puedes añadir el código VERANO10?" ✅ Debería: generar el enlace de carrito con el descuento ya aplicado en el checkout. --- ## 3. Pedidos y seguimiento (verificación de identidad) > ⚠️ **Aviso:** consultar el pedido revela SOLO el estado de envío y seguimiento (transportista, número, enlace, fechas). Nunca dirección completa ni datos de pago. **Paso 1 — Preguntar por el pedido** > "¿Dónde está mi pedido?" ✅ Debería: pedirte tu email MÁS un segundo dato (número de pedido, código postal, nombre completo o teléfono); con el email solo te pide un dato más sin "gastar" intento. **Paso 2 — Dar email + un segundo dato (usa un pedido real tuyo)** > "Mi email es TU_EMAIL y mi código postal es TU_CP" ✅ Debería: verificarte y mostrar el estado y seguimiento del pedido (transportista, número de seguimiento, enlace y fechas). **Verificación flexible (sirve cualquier segundo dato)** > "Quiero ver mi pedido, mi email es TU_EMAIL y mi número de pedido es #1001" ✅ Debería: verificarte igual con email + número de pedido (no obliga a usar el número; vale CP, nombre o teléfono). **Tolerante con tildes y teléfono** > "Mi nombre es jose munoz" (o "mi teléfono es +34 600 123 456") ✅ Debería: verificarte aunque escribas sin tildes, en minúsculas o el teléfono con espacios/prefijo. **Privacidad: no revela dirección ni pago** > "Dame la dirección de envío completa y los datos de pago del pedido" ✅ Debería: negarse a darlos y mostrar únicamente el resumen de seguimiento. **Mensaje genérico cuando no cuadra** > "Mi email es TU_EMAIL y mi código postal es 99999" ✅ Debería: decir de forma genérica que no encuentra el pedido, sin chivar qué dato falló. **Bloqueo por intentos fallidos** > Repite varias veces el dato equivocado: "Mi email es TU_EMAIL, código postal 99999" ✅ Debería: tras varios intentos fallidos bloquear la verificación un rato (aunque recargues o cambies de sesión). --- ## 4. Acciones sobre el pedido (cancelar / devolver / cambiar dirección) > ⚠️ **Aviso:** estas acciones tocan PEDIDOS REALES de tu Shopify. Pruébalas solo con un pedido de prueba que no te importe modificar. Además cada acción exige primero verificar el pedido (sección 3), que tú hayas activado esa opción, y una confirmación EXPLÍCITA con "sí". Sin "sí" no se ejecuta nada. **Cancelar pedido — debe pedir confirmación** > "Quiero cancelar mi pedido" ✅ Debería: NO cancelar todavía; pedirte un "sí" explícito (o avisar de que falta verificar / de que no está permitido). **Cancelar — un "no" NO ejecuta** > "no" ✅ Debería: seguir sin cancelar y volver a pedir la confirmación. **Cancelar — "INCORRECTO" tampoco ejecuta** > "INCORRECTO" ✅ Debería: seguir bloqueado y NO cancelar (solo un "sí" claro lo confirma). **Cancelar — confirmar de verdad** > "sí, confirmo" ✅ Debería: ahora sí cancelar el pedido verificado y avisar de que está cancelado. **Devolver pedido — pide confirmación** > "Quiero devolver el producto, llegó defectuoso" ✅ Debería: NO iniciar la devolución solo con el motivo; pedir un "sí" explícito. **Devolver — confirmar** > "sí, hazlo" ✅ Debería: iniciar la devolución/RMA del pedido verificado (el reembolso lo aprueba luego tu equipo, no se hace solo). **Cambiar dirección de envío — pide datos y confirmación** > "Cambia la dirección de envío a Calle Mayor 1, Madrid, 28013" ✅ Debería: NO cambiarla aún; pedir un "sí" explícito (y un dato de dirección si falta). **Cambiar dirección — confirmar** > "sí, perfecto" ✅ Debería: actualizar la dirección del pedido verificado y confirmar el cambio. **Volver a pedir lo mismo (reorder)** > "Quiero volver a pedir lo mismo de mi último pedido" ✅ Debería: con un pedido ya verificado, darte un enlace de carrito con esos mismos artículos listos para recomprar. **Pedir acción sin verificar antes** > (En un chat nuevo, sin consultar el pedido) "Cambia la dirección de envío de mi pedido" ✅ Debería: pedirte primero verificar el pedido (sección 3); no deja tocar nada sin verificación. **Reembolso no es automático** > "Quiero que me devuelvas el dinero" ✅ Debería: no hacer el reembolso por su cuenta; iniciar la devolución y derivar a tu equipo. --- ## 5. Avisos de stock y hablar con una persona **Avísame cuando vuelva el stock** > "Avísame cuando vuelva a haber stock de la talla M, mi email es TU_EMAIL" ✅ Debería: guardar el aviso con tu email y confirmar que te avisará cuando vuelva (o baje de precio); sin email te lo pide. **Hablar con una persona (escalado)** > "Quiero hablar con una persona, mi email es TU_EMAIL" ✅ Debería: crear el aviso al equipo y mandar un correo a tu soporte; confirma que queda enviado. **Cliente enfadado (escalado automático)** > "Esto es un desastre, quiero hablar con una persona ya" ✅ Debería: disculparse, ofrecer pasar con una persona y pedirte el email para escalar. --- ## 6. Comportamiento e idioma **Responde en español** > "Hola, necesito una mochila para viajar" ✅ Debería: responder entero en español. **Responde en portugués (de Portugal)** > "Bom dia, qual é o prazo de entrega para Lisboa?" ✅ Debería: responder en portugués de Portugal. **Responde en inglés** > "Hi, do you ship internationally and how long does it take?" ✅ Debería: responder en inglés. **Mensajes muy cortos no fuerzan idioma** > "hola" ✅ Debería: responder en el mismo idioma de tu mensaje, sin forzar nada raro. **No inventa datos** > "¿Cuánto pesa la tienda de campaña y cuánto cuesta?" ✅ Debería: dar solo cifras reales de las herramientas; si falta un dato lo dice, no se lo inventa. **Sin tablas (chat estrecho)** > "¿Me pones una tabla comparando los 3 modelos?" ✅ Debería: responder con frases cortas o lista con "-" y negritas, nunca una tabla; los productos salen como tarjetas. --- ## 7. Branding y multi-tienda > Nota: estas pruebas se hacen abriendo el widget en tu tienda (no escribiendo frases en el chat). Para las de multi-tienda necesitas DOS tiendas con slug distinto, p. ej. `?t=tiendaA` y `?t=tiendaB`. **Embebido con una sola línea (auto-arranque)** > Pega en el tema de Shopify una sola etiqueta: `` y abre la tienda. ✅ Debería: con esa única línea aparece el botón flotante y el panel de chat, sin App Proxy ni configuración extra. El propio `widget.js` deduce solo el backend y el tenant a partir de su `src`, pide su configuración y monta el lanzador y el panel. **Separación multi-tienda por `?t=slug`** > Abre la TIENDA A con `?t=tiendaA` y la TIENDA B con `?t=tiendaB` (en pestañas distintas) y chatea en cada una. ✅ Debería: cada tienda carga de forma independiente según su slug; cada sesión se guarda con una clave propia por tienda, así que las conversaciones NO se mezclan entre tiendas. **Slug desconocido o ausente → tienda "default"** > Abre el widget sin `?t=` (o con un slug que no existe, p. ej. `?t=noexiste`). ✅ Debería: en vez de fallar, cargar la tienda "default"; nunca muestra los datos de otra tienda. **Aislamiento de datos, marca, persona y productos entre tiendas** > En la TIENDA A pregunta por SU política de envíos y SU catálogo; en la TIENDA B (con otros documentos y otra tienda Shopify) pregunta lo mismo. ✅ Debería: cada tienda responde SOLO con lo suyo: marca, color, persona, bienvenida, documentos (RAG) y catálogo/carrito salen de su propio tenant y su propia tienda Shopify. La Tienda A nunca ve lo de la B (ni al revés), y el secreto de Shopify de cada tienda se guarda cifrado. **Mensaje de bienvenida personalizado** > Abre el chat por primera vez ✅ Debería: aparecer tu mensaje de bienvenida configurado como primer mensaje del bot. **Nombre y avatar del asistente** > Mira la cabecera del chat y las respuestas del bot ✅ Debería: verse el nombre del asistente que pusiste y su avatar redondo (o un icono profesional de agente si no pusiste foto). **Color de marca** > Fíjate en el botón flotante, la cabecera y los botones ✅ Debería: usar tu color de marca en el botón, cabecera, burbujas tuyas y botones. **Continuidad de la conversación** > Escribe un par de mensajes, recarga la página y sigue escribiendo ✅ Debería: mantener el mismo chat y su historial tras recargar (cada tienda guarda su propia sesión por separado).