Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-ACT-04: qué piezas participan, en qué orden hablan, qué APIs hay que construir con su request y su response, y qué le entrega a la épica siguiente.
Para quién. Los equipos que van a construir la épica, QA y arquitectura.
Estado. [Propuesta] del TL del Nuevo PIM, 18-oct-2026, construida sobre ADR-12. La spec de cada épica dice el qué; estas páginas, el cómo.
Fuente. docs/arquitectura/por-epica/epicas/FT-ACT-04.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-ACT-04-variantes-imagenes-herencia-color.md.
En 30 segundos
En moda, todas las tallas de un mismo color se ven igual. Esta épica guarda una sola vez las fotos de cada color y las aplica a todas sus tallas, también a las que se agreguen después, sin pisar las fotos propias de una talla. El video vive en la familia, el portal avisa cuando las fotos de un SKU vienen de su color y el seller puede crear una variante por color a partir de sus fotos.
- Módulo dueño: MS-11 Activos digitales. También participan: MS-02 Producto.
- Etapa 6 · Imágenes. Recibe de otras épicas y entrega «PE-7 · Imágenes listas».
- APIs: construye 0 y usa 9 que construyen otras épicas.
- Eventos: publica 3 y consume 3.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| FT-ACT-01 · Tipos de activo digital y reglas de imágenes por… | Los tipos que se heredan por color y el video como activo de la familia. |
| FT-PRD-01 · Modelo canónico de producto | La familia con sus variantes y el color de cada una, que es la llave de la herencia. |
| FT-ACT-02 · Registro, congelado y publicación de URLs de activos | El registro de activos, el congelado y la copia de URL congeladas en el producto. |
Entrega
| A | Qué |
|---|---|
| FT-ACT-06 · Recepción del trabajo de Foro y control de edición… | La herencia por color, total o sólo de lo que falta, que aplica el editor del estudio al cerrar la edición. |
| FT-FLU-02 · Alta individual de Marketplace | En el alta de Marketplace, las variantes creadas a partir de las fotos de cada color. |
| PE-7 · Imágenes listas | Cada variante con su galería efectiva, propia o heredada de su color, y el video en la familia. |
2. Diagrama de contexto
Quién participa y cómo se conecta. Las pantallas llegan por el BFF del portal, que valida el token y compone; cada módulo vuelve a validar el token y decide sus permisos con los roles de MS-13.
🟩 Verde: nuevo, se construye · 🟦 Azul: ya existe y se queda, se reutiliza su código · 🟧 Naranja: temporal o se retira (se apaga en R3) · ⬜ Gris: sistema externo · ★ módulo dueño
3. Diagrama de flujo
El camino principal, paso por paso. Cuando una pantalla llama a un módulo se ven dos flechas: la pantalla al BFF y el BFF al módulo. Los eventos salen del outbox del módulo después de guardar; quien los consume ignora los repetidos.
Los pasos en texto
| Paso | De | A | Qué hace | API o evento |
|---|---|---|---|---|
| 1 | Seller | Entrada Única · Vendor Center | Sube cinco fotos para el color rojo | — |
| 2 | Entrada Única · Vendor Center | MS-11 Activos digitales (por el BFF) | Pide subir cada foto con alcance de color | API-11-004 |
| 3 | Entrada Única · Vendor Center | MS-11 Activos digitales (por el BFF) | Avisa el fin de cada carga | API-11-005 |
| 4 | MS-11 Activos digitales | MS-02 Producto | Lee las variantes del color rojo | API-02-003 |
| 5 | MS-11 Activos digitales | Base pim | Guarda cada foto una vez, ligada al color | — |
| 6 | MS-11 Activos digitales | Eventos | Avisa las fotos congeladas del color | catalog.asset.changed/ASSET_FROZEN |
| 7 | Eventos | MS-02 Producto | Entrega las fotos del color | catalog.asset.changed/ASSET_FROZEN |
| 8 | MS-02 Producto | MS-11 Activos digitales | Lee la galería efectiva de las 20 tallas | API-11-007 |
| 9 | MS-02 Producto | Base pim | Copia las mismas 5 URL a cada talla roja | — |
| 10 | Seller | Entrada Única · Vendor Center | Agrega después la talla 21 roja | — |
| 11 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Liga la talla nueva a la familia | API-02-014 |
| 12 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma la variante nueva | API-02-057 |
| 13 | MS-02 Producto | MS-11 Activos digitales | Relee la galería: la talla 21 hereda | API-11-007 |
| 14 | MS-02 Producto | Eventos | Avisa la variante ligada con su galería | catalog.product.changed/VARIANT_LINKED |
3.1 Herencia de las fotos del estudio sin pisar las propias
3.2 Variantes a partir de las fotos
3.3 Video de la familia y SKU que hereda de su color
4. Si algo sale mal
- Una talla ya tiene fotos propias cuando llega la herencia. El plan las lista como conflicto y las conserva; sólo se pisan si quien edita confirma con overwriteOwn. Nada cambia sin esa decisión explícita.
- Ninguna variante de un color tiene fotos. Ese color no procede y la revisión de cumplimiento dice cuál falta. En creación basta una variante por color (Mercaderías y Suburbia); en aprobación cada variante necesita su principal, propia o heredada.
- Se desliga una variante o cambia su color. MS-02 relee la galería: la variante deja las fotos heredadas de su color anterior, toma las del nuevo y conserva las propias.
- Las proporciones cambian entre tallas (por ejemplo, toallas por tamaño). Quien edita apaga la herencia para ese producto o en la carga masiva, y carga las fotos por variante.
- Un color no trae foto al crear variantes desde fotos. La variante sí se crea, queda sin imagen y «no procede» hasta que tenga una principal propia o heredada; el portal se lo muestra al seller.
5. APIs
Las que construye esta épica (0)
Ninguna: todo lo que usa ya lo construye otra épica.
Las que usa y construye otra épica (9)
Su request y su response están en la página de la épica que la construye.
| API | Método y ruta | Para qué, aquí | La construye |
|---|---|---|---|
| API-11-004 | POST /api/v2/assets/uploads | Subir fotos con alcance de familia, color o variante | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-11-005 | POST /api/v2/assets/{assetId}/complete | Fin de carga de cada foto | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-11-007 | GET /api/v2/assets?productId=&variantId= | La galería efectiva por variante, con lo heredado y su color de origen | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-11-009 | POST /api/v2/assets/placements/plans | Esta épica agrega la acción de heredar por color, total o sólo lo que falta, y la de volver propia una foto | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-11-003 | POST /api/v2/asset-plans/{planId}/apply | Confirmar el plan de herencia | FT-ACT-01 · Tipos de activo digital y reglas de imágenes por… |
| API-11-014 | GET /api/v2/assets/compliance?productId=&stage= | La herencia cuenta en «procede» y en el mínimo de aprobación de cada variante | FT-ACT-01 · Tipos de activo digital y reglas de imágenes por… |
| API-02-003 | GET /api/v2/products/{id}/variants | Las variantes de la familia con su color, que son la llave de la herencia | FT-PRD-01 · Modelo canónico de producto |
| API-02-014 | POST /api/v2/products/{id}/variants/link/plans | Ligar una variante nueva a su familia (MS-02) | FT-PRD-01 · Modelo canónico de producto |
| API-02-057 | POST /api/v2/product-plans/{planId}/apply | Confirmar la variante ligada | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
6. Eventos
Publica
| Evento | Cuándo | Quién lo consume |
|---|---|---|
catalog.asset.changed/ASSET_FROZEN | Las fotos de un color o el video de la familia quedan congelados | FT-ACT-02, FT-ACT-03, FT-ACT-06, FT-ARQ-02, FT-IA-04 |
catalog.product.changed/VARIANT_LINKED | Se liga una talla nueva o una variante por color | FT-PRD-07 |
catalog.product.changed/MEDIA_CHANGED | Producto actualiza la copia de URL de las variantes que heredan | FT-IA-05 |
Consume
| Evento | Para qué | Quién lo publica |
|---|---|---|
catalog.asset.changed/ASSET_FROZEN | MS-02 relee la galería efectiva y copia las URL a cada talla del color | esta misma épica |
catalog.product.changed/VARIANT_LINKED | MS-11 renueva su caché de variantes por color para resolver la galería | esta misma épica |
catalog.product.changed/VARIANT_UNLINKED | MS-11 recalcula la herencia de imágenes por color cuando se desliga una variante. | FT-PRD-01 |
7. Datos
Cada colección tiene un solo dueño, el único que escribe en ella.
| Colección | Dueño | Qué guarda | Esta épica |
|---|---|---|---|
assets | MS-11 | Cada archivo una vez: a qué producto, variante y posición pertenece, su validación técnica, URL de trabajo y URL congelada. | escribe |
asset_outbox | MS-11 | Los cambios de activos que esperan salir como evento. | escribe |
products | MS-02 | La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos. | escribe |
asset_types | MS-11 | Los tipos de activo (principal, detalle, isométrica, video, certificado…) con su ficha técnica: medidas, peso, formato, máximo y si se publica. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-ACT-04·H1 · Herencia de Foro | P1 | flujo «Herencia de las fotos del estudio sin pisar las propias»; API-11-009, API-11-003 |
| FT-ACT-04·H2 · Herencia del seller | P1 | pasos 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14; API-11-007 |
| FT-ACT-04·H3 · Herencia y compuerta | P1 | API-11-014 |
| FT-ACT-04·H4 · Video de la familia | P2 | flujo «Video de la familia y SKU que hereda de su color»; API-11-004 |
| FT-ACT-04·H5 · Variantes desde fotos | P2 | flujo «Variantes a partir de las fotos»; API-02-014 |
| FT-ACT-04·H6 · Mercaderías | P3 | API-02-014, API-11-009 |
| FT-ACT-04·H7 · Avisar que el SKU pertenece a una agrupación | P2 | flujo «Video de la familia y SKU que hereda de su color»; API-11-007 |
9. Decisiones de esta épica
Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.
- D-ACT-04-1. Cada activo se guarda una vez con su alcance: familia (el video), color (todas las tallas de ese color) o variante (propio). MS-11 resuelve la galería de cada variante: lo propio gana, lo que le falta se hereda de su color sin renombrar y el video viene de la familia. Por qué: Son los tres escenarios que dictó el negocio en S16 (sin herencia, total y parcial) y cumplen «guardadas una sola vez» de RF-IMG-06; la herencia deja de vivir sólo en el código de Foro. Se apoya en RF-IMG-06, PD-05, ADR-12.
- D-ACT-04-2. La herencia nunca pisa fotos propias sin una decisión explícita en el plan (overwriteOwn); en la carga masiva del estudio y por producto se puede apagar. Por qué: Es la regla de Foro de no planchar lo que ya existe y la opción que hoy tiene su carga masiva. Se apoya en RN-IMG-07, RF-IMG-07.
- D-ACT-04-3. Una imagen heredada cuenta igual que una propia para «procede» y para el mínimo de aprobación de la variante. Por qué: En S16 la variante cumple «ya sea heredadas o de manera individual»; exigir propias obligaría a repetir la misma foto en cada talla, que es lo que la herencia evita. Se apoya en RF-IMG-06, FT-ACT-01.
- D-ACT-04-4. Una talla nueva hereda sola: al ligarla, MS-02 relee la galería efectiva y copia las URL de su color; no se recaptura nada. Por qué: Las fotos son del color, no de la talla; así se cumple el criterio de la talla 21 sin trabajo de más. Se apoya en RF-IMG-06.
- D-ACT-04-5. Variantes desde fotos: la pantalla confirma los colores y pide a MS-02 una variante por color con API-02-014; un color sin foto sí crea su variante, que no procede hasta tener principal. Las tallas se capturan después. Por qué: Ligar y crear variantes es de MS-02; Activos sólo dice qué fotos tiene cada color. Responde la duda del color sin foto sin bloquear al seller. Se apoya en RF-PLA-18, RN-PLA-16.
- D-ACT-04-6. La bandera IncludeImageInheritance de P360 no se migra como dato del producto: la herencia queda en el alcance de cada activo, y la migración revisa los 2,693 artículos que la tienen. Por qué: Ningún código la usa hoy; mantenerla crearía una segunda forma de decir lo mismo. Se apoya en DUD-29.
- D-ACT-04-7. Mercaderías usa el mismo mecanismo (fotos primero, variantes después) cuando se resuelva PEN-81; no se crea una regla por negocio nueva hasta entonces. Por qué: La capacidad es la misma para cualquier negocio; lo que falta es la decisión de orden en Mercaderías. Se apoya en PEN-81.
Qué falta decidir
| ID | Qué falta |
|---|---|
| PD-05 | Se cierra con ADR-12: la herencia por color es de MS-11 y la liga de variantes de MS-02. |
| DUD-29 | Confirmar con Prod E-commerce y Entrada Única que hoy no hay herencia para cargas del proveedor y qué hacer con IncludeImageInheritance. |
También siguen abiertos: PEN-81, Gobierno de Producto decide si Mercaderías también captura fotos antes que variantes.
Fuentes
- [D]
trazabilidad/features/FT-ACT-04-variantes-imagenes-herencia-color.md: la ficha de la épica, con sus historias, reglas y bloqueos. - [D] ADR-12 · Un solo sistema: backend compartido y una sola base (sección 3.4).
- [D]
docs/arquitectura/por-epica/base/: piezas, colecciones, eventos y el hilo de punta a punta. - [D]
docs/arquitectura/omega-a-pim-headless/contratos-api.md: convenciones y endpoints de partida. - [D]
docs/arquitectura/maquina-de-estados-to-be/propuesta-maquina-de-estados.md§7: estados, tareas y canales. - [I] Las decisiones de la sección 9 son del TL sobre esas fuentes.