← Arquitectura por épica

FT-ACT-04 · Variantes a partir de imágenes y herencia de imágenes por…

Arquitectura del Nuevo PIM por épica · corte del 18-oct-2026

Propuesta del TL: no sustituye la spec de cada épica

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

DeQué
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 productoLa 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 activosEl registro de activos, el congelado y la copia de URL congeladas en el producto.

Entrega

AQué
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 MarketplaceEn el alta de Marketplace, las variantes creadas a partir de las fotos de cada color.
PE-7 · Imágenes listasCada 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

Nuevo PIM · un solo sistema

Pantallas y sistemas

Personas

Pedir permiso para subir un archivo
Avisar que terminó la carga
y 3 más

Variantes del producto

ASSET_FROZEN

ASSET_FROZEN

Galería de un producto

Ligar una variante a su genérico
Confirmar un plan de Producto

VARIANT_LINKED

Muestra que la XG conserva su princip…

Lo nombra con el SKU genérico y lo co…

Avisa que se heredan del color y se c…

Seller

Estudio fotográfico

Entrada Única · Vendor Center

BFF del portal

★ MS-11 Activos digitales

MS-02 Producto

Base pim

Eventos

Archivos e imágenes

Contexto de FT-ACT-04

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.

EventosBase·pimMS-02 ProductoMS-11 Activos digitalesEntrada Única · Vendor CenterEventosBase·pimMS-02 ProductoMS-11 Activos digitalesEntrada Única · Vendor CenterSellerBFF1. Sube cinco fotos para el color rojo2. Pide subir cada foto con alcance de colorPOST /api/v2/assets/uploads3. Avisa el fin de cada cargaPOST /api/v2/assets/{assetId}/complete4. Lee las variantes del color rojoGET /api/v2/products/{id}/variants5. Guarda cada foto una vez, ligada al color6. Avisa las fotos congeladas del colorASSET_FROZEN7. Entrega las fotos del colorASSET_FROZEN8. Lee la galería efectiva de las 20 tallasGET /api/v2/assets?productId=&variantId=9. Copia las mismas 5 URL a cada talla roja10. Agrega después la talla 21 roja11. Liga la talla nueva a la familiaPOST /api/v2/products/{id}/variants/link/plans12. Confirma la variante nuevaPOST /api/v2/product-plans/{planId}/apply13. Relee la galería: la talla 21 heredaGET /api/v2/assets?productId=&variantId=14. Avisa la variante ligada con su galeríaVARIANT_LINKEDSellerBFF
Flujo principal de FT-ACT-04
Los pasos en texto
PasoDeAQué haceAPI o evento
1SellerEntrada Única · Vendor CenterSube cinco fotos para el color rojo—
2Entrada Única · Vendor CenterMS-11 Activos digitales (por el BFF)Pide subir cada foto con alcance de colorAPI-11-004
3Entrada Única · Vendor CenterMS-11 Activos digitales (por el BFF)Avisa el fin de cada cargaAPI-11-005
4MS-11 Activos digitalesMS-02 ProductoLee las variantes del color rojoAPI-02-003
5MS-11 Activos digitalesBase pimGuarda cada foto una vez, ligada al color—
6MS-11 Activos digitalesEventosAvisa las fotos congeladas del colorcatalog.asset.changed/ASSET_FROZEN
7EventosMS-02 ProductoEntrega las fotos del colorcatalog.asset.changed/ASSET_FROZEN
8MS-02 ProductoMS-11 Activos digitalesLee la galería efectiva de las 20 tallasAPI-11-007
9MS-02 ProductoBase pimCopia las mismas 5 URL a cada talla roja—
10SellerEntrada Única · Vendor CenterAgrega después la talla 21 roja—
11Entrada Única · Vendor CenterMS-02 Producto (por el BFF)Liga la talla nueva a la familiaAPI-02-014
12Entrada Única · Vendor CenterMS-02 Producto (por el BFF)Confirma la variante nuevaAPI-02-057
13MS-02 ProductoMS-11 Activos digitalesRelee la galería: la talla 21 heredaAPI-11-007
14MS-02 ProductoEventosAvisa la variante ligada con su galeríacatalog.product.changed/VARIANT_LINKED

3.1 Herencia de las fotos del estudio sin pisar las propias

MS-02 ProductoEventosMS-11 Activos digitalesEntrada Única · Vendor CenterMS-02 ProductoEventosMS-11 Activos digitalesEntrada Única · Vendor CenterEstudio fotográficoBFF1. El editor hereda las fotos de la talla chica2. Pide el plan de herencia parcial del azulPOST /api/v2/assets/placements/plans3. Muestra que la XG conserva su principal propia4. Confirma sin pisar lo propioPOST /api/v2/asset-plans/{planId}/apply5. Avisa las fotos del color congeladasASSET_FROZEN6. Entrega el cambio para copiar las URLASSET_FROZENEstudio fotográficoBFF
Herencia de las fotos del estudio sin pisar las propias

3.2 Variantes a partir de las fotos

EventosMS-02 ProductoMS-11 Activos digitalesEntrada Única · Vendor CenterEventosMS-02 ProductoMS-11 Activos digitalesEntrada Única · Vendor CenterSellerBFF1. Sube la principal genérica y una foto por color2. Registra las fotos de la familia y de cada colorPOST /api/v2/assets/uploads3. Confirma verde, blanco, azul y amarillo4. Pide crear una variante por colorPOST /api/v2/products/{id}/variants/link/plans5. Confirma las variantes, las tallas van despuésPOST /api/v2/product-plans/{planId}/apply6. Avisa las variantes ligadasVARIANT_LINKED7. Lee la galería de cada variante nuevaGET /api/v2/assets?productId=&variantId=SellerBFF
Variantes a partir de las fotos

3.3 Video de la familia y SKU que hereda de su color

ArchivosMS-11 Activos digitalesEntrada Única · Vendor CenterArchivosMS-11 Activos digitalesEntrada Única · Vendor CenterSellerBFF1. Sube el video del producto2. Registra el video en la familiaPOST /api/v2/assets/uploads3. Lo nombra con el SKU genérico y lo congela4. Abre un SKU para cambiar su foto5. Lee de dónde vienen sus imágenesGET /api/v2/assets?productId=&variantId=6. Avisa que se heredan del color y se cambian ahíSellerBFF
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.

APIMétodo y rutaPara qué, aquíLa construye
API-11-004POST /api/v2/assets/uploadsSubir fotos con alcance de familia, color o varianteFT-ACT-02 · Registro, congelado y publicación de URLs de activos
API-11-005POST /api/v2/assets/{assetId}/completeFin de carga de cada fotoFT-ACT-02 · Registro, congelado y publicación de URLs de activos
API-11-007GET /api/v2/assets?productId=&variantId=La galería efectiva por variante, con lo heredado y su color de origenFT-ACT-02 · Registro, congelado y publicación de URLs de activos
API-11-009POST /api/v2/assets/placements/plansEsta épica agrega la acción de heredar por color, total o sólo lo que falta, y la de volver propia una fotoFT-ACT-02 · Registro, congelado y publicación de URLs de activos
API-11-003POST /api/v2/asset-plans/{planId}/applyConfirmar el plan de herenciaFT-ACT-01 · Tipos de activo digital y reglas de imágenes por…
API-11-014GET /api/v2/assets/compliance?productId=&stage=La herencia cuenta en «procede» y en el mínimo de aprobación de cada varianteFT-ACT-01 · Tipos de activo digital y reglas de imágenes por…
API-02-003GET /api/v2/products/{id}/variantsLas variantes de la familia con su color, que son la llave de la herenciaFT-PRD-01 · Modelo canónico de producto
API-02-014POST /api/v2/products/{id}/variants/link/plansLigar una variante nueva a su familia (MS-02)FT-PRD-01 · Modelo canónico de producto
API-02-057POST /api/v2/product-plans/{planId}/applyConfirmar la variante ligadaFT-FLU-01 · Motor de estados configurable con dos carreteras y reglas…

6. Eventos

Publica

EventoCuándoQuién lo consume
catalog.asset.changed/ASSET_FROZENLas fotos de un color o el video de la familia quedan congeladosFT-ACT-02, FT-ACT-03, FT-ACT-06, FT-ARQ-02, FT-IA-04
catalog.product.changed/VARIANT_LINKEDSe liga una talla nueva o una variante por colorFT-PRD-07
catalog.product.changed/MEDIA_CHANGEDProducto actualiza la copia de URL de las variantes que heredanFT-IA-05

Consume

EventoPara quéQuién lo publica
catalog.asset.changed/ASSET_FROZENMS-02 relee la galería efectiva y copia las URL a cada talla del coloresta misma épica
catalog.product.changed/VARIANT_LINKEDMS-11 renueva su caché de variantes por color para resolver la galeríaesta misma épica
catalog.product.changed/VARIANT_UNLINKEDMS-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ónDueñoQué guardaEsta épica
assetsMS-11Cada archivo una vez: a qué producto, variante y posición pertenece, su validación técnica, URL de trabajo y URL congelada.escribe
asset_outboxMS-11Los cambios de activos que esperan salir como evento.escribe
productsMS-02La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos.escribe
asset_typesMS-11Los 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

HistoriaPrioridadCómo la cubre
FT-ACT-04·H1 · Herencia de ForoP1flujo «Herencia de las fotos del estudio sin pisar las propias»; API-11-009, API-11-003
FT-ACT-04·H2 · Herencia del sellerP1pasos 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14; API-11-007
FT-ACT-04·H3 · Herencia y compuertaP1API-11-014
FT-ACT-04·H4 · Video de la familiaP2flujo «Video de la familia y SKU que hereda de su color»; API-11-004
FT-ACT-04·H5 · Variantes desde fotosP2flujo «Variantes a partir de las fotos»; API-02-014
FT-ACT-04·H6 · MercaderíasP3API-02-014, API-11-009
FT-ACT-04·H7 · Avisar que el SKU pertenece a una agrupaciónP2flujo «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

IDQué falta
PD-05Se cierra con ADR-12: la herencia por color es de MS-11 y la liga de variantes de MS-02.
DUD-29Confirmar 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

  1. [D] trazabilidad/features/FT-ACT-04-variantes-imagenes-herencia-color.md: la ficha de la épica, con sus historias, reglas y bloqueos.
  2. [D] ADR-12 · Un solo sistema: backend compartido y una sola base (sección 3.4).
  3. [D] docs/arquitectura/por-epica/base/: piezas, colecciones, eventos y el hilo de punta a punta.
  4. [D] docs/arquitectura/omega-a-pim-headless/contratos-api.md: convenciones y endpoints de partida.
  5. [D] docs/arquitectura/maquina-de-estados-to-be/propuesta-maquina-de-estados.md §7: estados, tareas y canales.
  6. [I] Las decisiones de la sección 9 son del TL sobre esas fuentes.