Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-FLU-02: 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-FLU-02.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-FLU-02-orquestacion-alta-individual-marketplace.md.
En 30 segundos
Es la columna vertebral del alta de un seller de Marketplace en el portal: fija el orden de los pasos y a dónde va el producto en cada uno. Primero se revisa si la marca está vetada o si el producto ya existe; si ya existe, el seller va directo a ofertar sin catalogar. Si es nuevo, se elige o se sugiere la plantilla, la IA prellena, el seller completa lo mínimo y envía, sin que un score bajo cuente como rechazo.
- Módulo dueño: MS-02 Producto. También participan: MS-06 Evaluación, MS-15 IA y enriquecimiento, MS-01 Catálogo.
- Etapa 1 · ¿Ya existe?. Recibe «PE-1 · Propuesta en Borrador», «PE-C · Catálogo vigente» y entrega «PE-2 · Sin duplicado», «PE-4 · Propuesta enviada».
- APIs: construye 1 y usa 16 que construyen otras épicas.
- Eventos: publica 3 y consume 1.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| PE-1 · Propuesta en Borrador | Las propuestas de Marketplace en Borrador: las del portal nacen en este mismo flujo (paso 3) y las de archivo o API siguen la misma ruta desde la plantilla. |
| PE-C · Catálogo vigente | Plantillas, vista efectiva, marcas permitidas y lista negra vigentes. |
| FT-REF-02 · Blacklist de Marketplace por marca, negocio y grupo de… | La lista negra por marca, negocio y grupo de artículos. |
| FT-REF-03 · Servicio de matching | Las coincidencias por EAN, marca y modelo, características, imagen o URL, con su confianza. |
| FT-FLU-03 · Decisión por negocio ante coincidencia | La decisión por negocio ante una coincidencia: producto nuevo, multioferta, stock out o bloqueo. |
| FT-PRD-07 · Captura guiada por pasos con los mínimos primero | La captura guiada por pasos con los mínimos primero y la validación en el momento. |
| FT-CAT-03 · Categorización de productos | El agente de categoría dentro del alta: la categoría web propuesta, que el seller sólo ve y que no es un estado. |
| FT-INT-05 · Multioferta y stock out | El «detalle oferta» al que sale el seller cuando el producto ya existe, con el SKU verificado en el portal de ofertas. |
| FT-ACT-04 · Variantes a partir de imágenes y herencia de imágenes por… | Las variantes que se crean a partir de las fotos de cada color, en el paso de imágenes de la captura. |
Entrega
| A | Qué |
|---|---|
| PE-2 · Sin duplicado | La propuesta en Borrador con la evaluación de MS-06 guardada: marca permitida, sin coincidencia y decisión «producto nuevo», con SKU de Marketplace si no existe en Liverpool. |
| PE-4 · Propuesta enviada | La propuesta enviada con lo mínimo de Marketplace completo; se abre la Calificación de IA, que sólo revisa lo que el SKU necesita. |
| FT-INT-05 · Multioferta y stock out | Si ya existe: el SKU existente y la acción, multioferta o stock out, para «detalle oferta»; el alta termina sin propuesta nueva ni SKU. |
| FT-RAC-05 · Estatus del producto y motivos visibles para seller y… | En qué paso del alta va cada propuesta de Marketplace, para el estatus que ve el seller. |
Cambios de estado que hace
| Transición | De → a | Cuándo |
|---|---|---|
| T01 | Inicio → Borrador | El proveedor o seller guarda por primera vez (pantalla, archivo, plantilla en línea o API). |
| T03 | Borrador → En revisión | Envía con los obligatorios completos. |
Tareas que abre o cierra: Validación automática, Calificación de IA.
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 | Empieza el alta con imagen, características o URL | — |
| 2 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide identificar el producto antes del alta | API-02-202 |
| 3 | MS-02 Producto | MS-06 Evaluación | Pide lista negra, coincidencias y decisión por negocio | API-06-001 |
| 4 | Entrada Única · Vendor Center | MS-15 IA y enriquecimiento (por el BFF) | Pide plantillas sugeridas por la imagen o la URL | API-15-001 |
| 5 | Seller | Entrada Única · Vendor Center | Confirma «¿es tu plantilla?» o elige otra | — |
| 6 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide el plan del alta con evaluación y plantilla | API-02-005 |
| 7 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma: nace la propuesta en Borrador | API-02-057 |
| 8 | Entrada Única · Vendor Center | BFF del portal | Abre la captura con vista efectiva y permisos | API-BFF-201 |
| 9 | Entrada Única · Vendor Center | MS-15 IA y enriquecimiento (por el BFF) | Pide el prellenado de atributos con IA | API-15-003 |
| 10 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Valida y guarda cada paso en el momento | API-02-012 |
| 11 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pregunta qué falta para poder enviar | API-02-101 |
| 12 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide el plan de envío | API-02-028 |
| 13 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma el envío | API-02-057 |
| 14 | MS-02 Producto | Eventos | Avisa En revisión y abre la Calificación de IA | catalog.product.changed/STATUS_CHANGED |
3.1 Ya existe: directo a la oferta
3.2 Camino por características: elige la plantilla
3.3 No alcanza el mínimo: sigue en captura sin rechazo
4. Si algo sale mal
- La marca está en la lista negra de Marketplace. La identificación lo dice antes de crear nada: el seller ve la explicación y el alta termina sin propuesta; no llega a la plantilla.
- Al enviar, la Validación automática encuentra que el producto ya existe. Si otro seller lo catalogó entretanto, la propuesta se cierra como convertida en oferta (FT-INT-05) y el seller pasa a ofertar sobre el SKU existente; no se crea SKU ni se enriquece.
- La IA no sugiere ninguna plantilla con confianza suficiente. El seller elige en el árbol, como en el camino por características; si ninguna sirve, lo atiende Gobierno de Producto y el alta espera.
- No cumple lo mínimo de Marketplace. El plan de envío lo bloquea y dice qué falta por sección; la propuesta sigue en Borrador sin rechazo ni plazo de corrección.
- MS-06 no responde, o la evaluación por imagen o URL tarda. La identificación responde 503 y el alta no avanza; si la evaluación por imagen o URL tarda, MS-02 sigue cuando llega EVALUATION_DONE y la pantalla muestra «identificando».
5. APIs
Las que construye esta épica (1)
POST /api/v2/products/identifications · Identificar un producto antes del alta
| Campo | Valor |
|---|---|
| API | API-02-202 · MS-02 Producto |
| Para qué | Revisa, sin crear ninguna propuesta, si el producto se puede catalogar: MS-02 pide a MS-06 la lista negra, las coincidencias por EAN, por marca y modelo, por imagen o por URL, y la decisión por negocio. Devuelve la acción que le toca (crear, multioferta, oferta con stock out o nada), el siguiente paso y un evaluationId que vale 24 horas y que el alta guarda en la propuesta. |
| En esta épica | Identificación previa al alta: lista negra, coincidencias y decisión por negocio, sin crear nada |
| Quién la llama | Entrada Única · Vendor Center (por el BFF), Gateway de terceros /partner/v1 |
| Permiso | ENT-E del negocio; el proveedor o seller sólo en sus negocios |
| Cabeceras | Authorization, X-Request-Id |
| También la usan | FT-ARQ-01, FT-PRD-09, FT-PRD-10 |
Request
{
"business": "MKP",
"path": "CHARACTERISTICS",
"brandCode": "MARCA01",
"model": "PB-20",
"eans": [
"7501234567930"
],
"imageAssetId": null,
"sourceUrl": null,
"supplierShopId": "SELLER-0001"
}
Response · 200
{
"success": true,
"data": {
"evaluationId": "evl-5d21c8",
"expiresAt": "2026-10-19T16:20:00Z",
"outcome": "NEW",
"allowedAction": "CREATE_PROPOSAL",
"brand": {
"code": "MARCA01",
"blocked": false
},
"matches": [],
"skuCatalog": "MARKETPLACE",
"nextStep": "CHOOSE_TEMPLATE",
"message": "Producto nuevo: elige o confirma su plantilla"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 400 | VALIDATION_ERROR | Un EAN no tiene de 8 a 14 dígitos o su dígito verificador no corresponde, o no trae datos para identificar |
| 403 | AUTHORIZATION_ERROR | El negocio no es del proveedor o seller |
| 503 | DEPENDENCY_UNAVAILABLE | MS-06 no responde: no se deja avanzar sin identificar |
Las que usa y construye otra épica (16)
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-02-005 | POST /api/v2/products/plans | Alta en Borrador con el evaluationId y la plantilla confirmada | FT-PRD-01 · Modelo canónico de producto |
| API-02-057 | POST /api/v2/product-plans/{planId}/apply | Confirmar el alta, la plantilla, los valores y el envío | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-06-001 | POST /api/v2/evaluations | Evaluación: lista negra, coincidencias y decisión por negocio | FT-REF-02 · Blacklist de Marketplace por marca, negocio y grupo de… |
| API-15-001 | POST /api/v2/ai/template-suggestions | Plantillas sugeridas por imagen o URL, con su confianza | FT-IA-02 · Sugerencia de plantilla por IA a partir del producto… |
| API-02-016 | POST /api/v2/products/classifications/plans | Cambiar la plantilla si el seller se equivocó | FT-CAT-03 · Categorización de productos |
| API-BFF-201 | GET /bff/v1/proposals/{productId} | Pantalla de captura: propuesta, vista efectiva, listas y permisos | FT-PRD-09 · Contrato de propuestas con Entrada Única |
| API-15-003 | POST /api/v2/ai/prefill | Prellenado de atributos con IA, que el seller valida | FT-IA-01 · Prellenado con IA y validación obligatoria del usuario |
| API-02-012 | POST /api/v2/products/{id}/values/plans | Validación en el momento y guardado de cada paso | FT-RAC-01 · Motor de validación en línea y candados de datos… |
| API-02-101 | GET /api/v2/products/{id}/gates | Qué falta para pasar el candado de envío | FT-RAC-01 · Motor de validación en línea y candados de datos… |
| API-02-028 | POST /api/v2/workflow/actions/plans | Plan de la acción SUBMIT | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-102 | POST /api/v2/products/ean-checks | Revisar cada EAN al teclearlo | FT-PRD-03 · EAN |
| API-06-005 | POST /api/v2/matches | Ver productos parecidos como referencia | FT-REF-03 · Servicio de matching |
| API-01-022 | GET /api/v2/structures/{id}/leaves | Elegir la plantilla en el árbol de hojas | FT-PLT-05 · Taxonomía de plantillas por familia, metadatos de… |
| API-02-027 | GET /api/v2/workflow/capabilities?productIds= | Estado, tareas abiertas y acciones, para mostrar en qué paso va | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-030 | GET /api/v2/workflow/config/{type} | La ruta de Marketplace como configuración del motor (ROUTES) | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-404 | GET /api/v2/offer-targets/{sku} | Sobre qué SKU puede ofertar cuando ya existe | FT-INT-05 · Multioferta y stock out |
6. Eventos
Publica
| Evento | Cuándo | Quién lo consume |
|---|---|---|
catalog.product.changed/PRODUCT_CREATED | Nace la propuesta en el portal | FT-ARQ-01 |
catalog.product.changed/STATUS_CHANGED | Se envía a revisión | FT-ACT-05, FT-ARQ-02, FT-CAT-05, FT-FLU-01, FT-IA-04, FT-PRD-02, FT-PRD-04, FT-PRD-06, FT-PRD-10, FT-RAC-03, FT-RAC-05, FT-RAC-06 |
catalog.product.changed/TASK_CHANGED | Se abre la Calificación de IA | FT-ACT-05, FT-ACT-06, FT-ARQ-02, FT-CAT-06, FT-FLU-01, FT-IA-06, FT-PRD-02, FT-PRD-05, FT-PRD-06, FT-PRD-07, FT-PRD-08, FT-RAC-02, FT-RAC-03, FT-RAC-04, FT-RAC-05, FT-RAC-06 |
Consume
| Evento | Para qué | Quién lo publica |
|---|---|---|
catalog.validation.result/EVALUATION_DONE | MS-02 sigue el alta cuando la evaluación por imagen o URL terminó | FT-FLU-03, FT-FLU-05, FT-REF-03 |
7. Datos
Cada colección tiene un solo dueño, el único que escribe en ella.
| Colección | Dueño | Qué guarda | Esta épica |
|---|---|---|---|
products | MS-02 | La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos. | escribe |
identifier_registry | MS-02 | Unicidad de SKU y de EAN por negocio. | escribe |
tasks | MS-02 | Todo el trabajo asignado: visto bueno, corrección, Gobierno de Datos, foto, secciones, QA, revisión del cambio y repoblamiento. | escribe |
product_versions | MS-02 | Foto numerada del producto en cada versión. | escribe |
product_receipts | MS-02 | El recibo de cada escritura confirmada en el producto (antes operation_receipts). | escribe |
product_outbox | MS-02 | Los cambios del producto que esperan salir como evento (antes outbox). | escribe |
validation_results | MS-06 | El resultado de cada evaluación: lista negra, coincidencias con su confianza y score. | lee |
template_views | MS-01 | La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios. | lee |
governance_rules | MS-01 | Reglas de captura y clasificación: marcas por plantilla, grupo de artículo a plantilla, alcance del proveedor y lista negra de Marketplace. | lee |
ai_jobs | MS-15 | Cada trabajo de IA con su entrada, su resultado y su confianza. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-FLU-02·H1 · Producto nuevo de punta a punta | P1 | pasos 1, 2, 3, 6, 7, 10, 13, 14; API-02-027, API-BFF-201 |
| FT-FLU-02·H2 · Ya existe: directo a la oferta | P1 | flujo «Ya existe: directo a la oferta»; API-02-202, API-02-404 |
| FT-FLU-02·H3 · El camino decide la entrada a la plantilla | P1 | pasos 4, 5, 9; flujo «Camino por características: elige la plantilla»; API-15-001, API-15-003 |
| FT-FLU-02·H4 · No avanza, pero no se rechaza | P2 | flujo «No alcanza el mínimo: sigue en captura sin rechazo»; API-02-101 |
| FT-FLU-02·H5 · Oferta y publicación al final | P3 | Fuera: La oferta con SKU la resuelve FT-INT-05 y la publicación por rangos de score, FT-RAC-03; esta épica entrega la propuesta enviada (PE-4) y, si ya existe, el SKU para ofertar. |
9. Decisiones de esta épica
Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.
- D-FLU-02-1. La ruta de Marketplace (identificar, plantilla, prellenado, captura, imágenes y envío) es configuración del motor de MS-02, no código de pantalla: el portal pregunta en qué paso va la propuesta y qué puede hacer, y el BFF sólo compone. Por qué: Un flujo común con reglas por negocio (RN-GEN-02): el mismo producto puede llegar por archivo o API y seguir la misma ruta sin repetir lógica. Se apoya en RN-GEN-02, PD-29, ADR-12.
- D-FLU-02-2. La identificación va antes de crear (API-02-202): MS-02 pide la evaluación a MS-06 y devuelve la acción, el siguiente paso y un evaluationId que vale 24 horas. Si es producto nuevo, la propuesta nace en Borrador con esa evaluación y la plantilla confirmada (API-02-005); si ya existe o la marca está vetada, no nace nada. Por qué: Es la identificación previa que usa Evaluación (FT-REF-02, FT-FLU-03): el seller sabe al principio si debe catalogar u ofertar y no quedan propuestas muertas; la propuesta llega a PE-1 con lo de PE-2 ya guardado. Se apoya en RF-MAT-14, RF-MAT-15, DEC-62, ADR-12.
- D-FLU-02-3. Ruteo por camino: con imagen o URL, MS-15 sugiere de una a tres plantillas («¿es tu plantilla?») y prellena; con características, el seller elige en el árbol; si la coincidencia trajo datos aprovechables, se ofrecen como prellenado para validar. Por qué: Es la regla acordada (RF-ENR-03, DEC-51); lo prellenado queda con origen IA hasta que el seller lo confirma. Se apoya en RF-ENR-03, DEC-51, RN-ENR-13.
- D-FLU-02-4. «No avanza, pero no se rechaza»: lo mínimo para el SKU (obligatorios, plantilla, marca y coincidencia) se revisa en el plan de envío; si falta algo, la propuesta sigue en Borrador sin rechazo ni plazo. La Calificación de IA en En revisión sólo revisa lo que el SKU necesita; el score de calidad decide la publicación por rangos (FT-RAC-03). Por qué: Resuelve PD-24 como las propuestas del 16 y del 17-oct: cumple «dos carreteras» y la regla de que un score bajo no es rechazo (RN-CAL-06). Se apoya en PD-24, RN-CAL-06, RN-CAL-07.
- D-FLU-02-5. Si ya existe, el alta termina sin SKU ni enriquecimiento y entrega el SKU existente a «detalle oferta» (FT-INT-05). El PIM no crea la oferta: el seller la crea en Mirakl. Por qué: Con coincidencia no se crea SKU ni se enriquece (RF-MAT-15); producto y oferta van separados (PEN-23). Se apoya en RF-MAT-15, PEN-23, RN-MAT-18.
- D-FLU-02-6. Un producto nuevo que no existe en Liverpool nace como genérico de Marketplace y su SKU será de Marketplace; la oferta se habilita sólo con SKU y la publicación sigue los rangos de score de FT-RAC-03. Por qué: Es la «cuarta línea» acordada (RF-MAT-14, RN-MAT-19); lo de H5 queda en las épicas dueñas. Se apoya en RF-MAT-14, RN-MAT-19.
Qué falta decidir
| ID | Qué falta |
|---|---|
| PD-24 | Gobierno de Producto con Marketplace ratifica que el score no frena el SKU, sólo la publicación. |
| PD-02 | Dirección, PM y Marketplace: si el alta TO-BE de sellers entra antes de R4; en R2 el seller se da de alta como hoy, ya sobre el PIM. |
| DUD-09 | Falta la ERF de Flujos y los nombres de los estados que ve el seller de Marketplace. |
También siguen abiertos: PEN-60, Definir el alcance de la tarea de Gobierno de Datos después del SKU.
Fuentes
- [D]
trazabilidad/features/FT-FLU-02-orquestacion-alta-individual-marketplace.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.