Categorías de Productos - Tipología y Características
Sistema de Categorización Cross-Provider
Nomenclatura estándar independiente del proveedor • Última actualización: Enero 2026
Filosofía de Categorización
El marketplace utiliza un sistema de categorización independiente del proveedor que permite unificar la experiencia de usuario y configuración de productos sin importar si provienen de Helloprint, MidOcean, u otros proveedores futuros.
🖨️ commercial-print
Impresión comercial (flyers, tarjetas, folletos)
👕 clothing-textiles
Ropa y textiles con tallas
🎒 textiles-no-size
Textiles sin tallas (gorras, bolsas, bufandas)
🎁 promotional
Artículos promocionales (bolígrafos, USB, tazas)
📁 Categoría 1: Commercial Print
Tipo: commercial-print
Características
- Configuración basada en atributos: tamaño, material, acabado, número de páginas, etc.
- NO tiene tallas
- Puede tener opciones de color (limitadas)
- Configuración compleja con múltiples parámetros
Ejemplos de Productos
- Flyers (volantes)
- Business cards (tarjetas de visita)
- Brochures (folletos)
- Leaflets (trípticos)
- Posters (carteles)
- Banners
Atributos Típicos
{
size: "A4" | "A5" | "A6" | "Custom",
material: "Paper 150g" | "Paper 300g" | "Cardboard",
finishing: "Matte" | "Glossy" | "UV",
pages: 1 | 2 | 4 | 8 | 16
}Componente UI
PrintConfigurator - Renderiza atributos complejos como opciones seleccionables
⚠️ Lógica de Detección (Helloprint)
Un producto se clasifica como commercial-print si:
• hasAttributeConfiguration = true (tiene atributos como printformat, printtechnique)
• hasSizeVariants = false (NO tiene tallas XS/S/M/L)
👕 Categoría 2: Clothing & Textiles (con tallas)
Tipo: clothing-textiles
Características
- SÍ tiene variantes de talla: XS, S, M, L, XL, XXL, 3XL, 4XL, 5XL
- SÍ tiene variantes de color
- Matriz combinada: Color × Talla
- Pricing puede variar por talla (tallas grandes = premium)
Ejemplos de Productos
- T-shirts (camisetas)
- Polo shirts
- Hoodies (sudaderas con capucha)
- Sweatshirts (sudaderas)
- Jackets (chaquetas)
- Pants (pantalones)
Estructura de Variantes
// Ejemplo: Camiseta "Premium Cotton"
// Colores: Black, White, Red, Blue (4 colores)
// Tallas: S, M, L, XL, XXL, 3XL (6 tallas)
// Total variantes: 4 × 6 = 24 SKUs
[
{ sku: "S55000-BK-S", color: "Black", size: "S", price: "8.62" },
{ sku: "S55000-BK-M", color: "Black", size: "M", price: "8.62" },
{ sku: "S55000-BK-L", color: "Black", size: "L", price: "8.62" },
{ sku: "S55000-BK-XL", color: "Black", size: "XL", price: "8.62" },
{ sku: "S55000-BK-XXL", color: "Black", size: "XXL", price: "8.62" },
{ sku: "S55000-BK-3XL", color: "Black", size: "3XL", price: "9.50" }, // Premium!
// ... repeat for White, Red, Blue
]Componente UI
ColorSizeQuantitySelector con hasSizes={true}
Flujo de Selección:
1️⃣ Usuario selecciona color(es) desde "Agregar más colores"
2️⃣ Para cada color, aparece grid de tallas
3️⃣ Usuario selecciona cantidad por cada talla deseada
🎒 Categoría 3: Textiles (sin tallas)
Tipo: textiles-no-size
Características
- SÍ tiene variantes de color
- NO tiene tallas
- Puede tener "OneSize" o talla única implícita
- Productos textiles que no requieren tallaje
Ejemplos de Productos
- Caps (gorras)
- Bags (bolsas, mochilas)
- Scarves (bufandas)
- Towels (toallas)
- Blankets (mantas)
- Beanies (gorros de lana)
Estructura de Variantes
// Ejemplo: Gorra "Classic Cap"
// Colores: Black, White, Red (3 colores)
// Tallas: OneSize (todas las gorras son talla única)
// Total variantes: 3 SKUs
[
{ sku: "CAP001-BK-OneSize", color: "Black", price: "5.99" },
{ sku: "CAP001-WH-OneSize", color: "White", price: "5.99" },
{ sku: "CAP001-RD-OneSize", color: "Red", price: "5.99" }
]Componente UI
ColorSizeQuantitySelector con hasSizes={false}
Flujo de Selección:
1️⃣ Usuario selecciona color(es) desde "Agregar más colores"
2️⃣ Para cada color, aparece selector de cantidad simple (no hay grid de tallas)
🎁 Categoría 4: Promotional Items
Tipo: promotional
Características
- Artículos promocionales generales
- Puede o NO tener variantes de color
- NO tiene tallas
- Categoría "catch-all" para productos que no encajan en las anteriores
Ejemplos de Productos
- Pens (bolígrafos)
- USB drives (memorias USB)
- Keychains (llaveros)
- Mugs (tazas)
- Notebooks (libretas)
- Power banks
- Phone holders
Casos de Uso
CON variantes de color
Usa ColorSizeQuantitySelector (hasSizes=false)
Ejemplo: Bolígrafo disponible en 5 colores
SIN variantes
Usa SimpleQuantitySelector
Ejemplo: Memoria USB de un solo modelo
Componente UI
Depende de si tiene variantes:
- Con variantes →
ColorSizeQuantitySelector - Sin variantes →
SimpleQuantitySelector
🔍 Lógica de Categorización Automática
Para Helloprint
// HelloprintAdapter.ts
if (hasAttributeConfiguration && !hasSizeVariants) {
productCategory = 'commercial-print';
} else if (hasSizeVariants) {
productCategory = 'clothing-textiles';
} else if (hasColorVariants && !hasSizeVariants) {
productCategory = 'textiles-no-size';
} else {
productCategory = 'promotional';
}Para MidOcean
// MidOceanAdapter.ts
if (hasSizeVariants) {
productCategory = 'clothing-textiles';
} else if (hasColorVariants && !hasSizeVariants) {
productCategory = 'textiles-no-size';
} else {
productCategory = 'promotional';
}
// Nota: MidOcean NO tiene productos commercial-print
// Todos sus productos son físicos (textiles o promocionales)📊 Tabla Comparativa
| Categoría | Tallas | Colores | Atributos Config | Componente UI |
|---|---|---|---|---|
| commercial-print | ❌ | ⚠️ | ✅ | PrintConfigurator |
| clothing-textiles | ✅ | ✅ | ❌ | ColorSizeQuantitySelector (hasSizes=true) |
| textiles-no-size | ❌ | ✅ | ❌ | ColorSizeQuantitySelector (hasSizes=false) |
| promotional | ❌ | ⚠️ | ❌ | Simple o ColorSizeQuantity |
Leyenda:
- ✅ = Siempre presente
- ❌ = Nunca presente
- ⚠️ = Puede o no tenerlo
