01
Precio progresivo por cantidad
Cada producto tiene su propia tabla (1–99 · 100+ · 300+). El tramo se alcanza con la suma de todos los modelos del mismo producto en el carrito, que muestra cuánto falta para el siguiente escalón. El servidor valida la tabla y lo recalcula todo en el pedido.
02
Compatibilidad marca → modelo
Registro global de 6 marcas y 293 modelos, vinculados producto por producto. El catálogo filtra por dispositivo, la ficha muestra los modelos en chips en el orden definido en el panel y permite una excepción de precio por modelo (la funda del A16 sale más cara).
03
Carrito mayorista
Persistente en localStorage, agrupado por producto, con el ítem recién agregado arriba. Elección de colores con distribución por unidad, versión masculina/femenina, conectores (punta USB-C, Micro USB, Lightning) y flete real por CEP vía SuperFrete o retiro en la tienda.
04
Checkout por WhatsApp
POST /api/orders registra el pedido, recalcula los precios desde la base de datos, genera el código y devuelve la URL de WhatsApp con el mensaje listo. El asesor revisa el detalle ítem por ítem en el panel; la conversación recibe solo el resumen.
05
Panel del comerciante
Productos con un formulario que cambia según la categoría (un parlante no pide modelo de celular), selección masiva, carga de imágenes con validación y cambio de tamaño, categorías, banners, testimonios, marcas y modelos con reordenamiento por arrastre y configuración del sitio.
06
Exportación a Excel y PDF sin librería
Lista de pedidos (dos pestañas) o pedido por pedido (hoja de separación, uno por página). Ambos formatos se escriben en el navegador con código propio — el xref del PDF y el CRC del zip cubiertos por pruebas — para no cargar cientos de kB por un caso simple.
07
Medición con Meta Pixel + Conversions API
Eventos en el navegador con consentimiento de cookies y deduplicación con los eventos enviados desde el servidor. El token de la CAPI vive solo en la API; el panel muestra el estado de la integración y dispara un evento de prueba.
08
Seguridad y operación
JWT + bcrypt, perfiles ADMIN/EDITOR, Zod en toda entrada, Helmet, CORS por lista, rate limit por ruta, logs con Pino con redacción de credenciales, carga de archivos validada por el contenido y PWA del panel con página offline.