Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-PRD-07: 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-PRD-07.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-PRD-07-captura-guiada-por-pasos.md.
En 30 segundos
Capturar un producto hoy mezcla lo opcional con lo obligatorio y parte de la plantilla completa. Esta épica divide la captura en cinco pasos, cada uno con un área dueña: el primero pide sólo los obligatorios del negocio, los opcionales se saltan y se retoman, el avance se ve por sección y todo se guarda en la propuesta, nunca en la pantalla. Al final el proveedor o seller envía y la propuesta pasa a la Validación automática.
- Módulo dueño: MS-02 Producto. También participan: MS-01 Catálogo, MS-11 Activos digitales, MS-14 Avisos y ayuda.
- Etapa 3 · Captura. Recibe «PE-3 · Plantilla asignada», «PE-6 · SKU asignado» y entrega «PE-4 · Propuesta enviada», «PE-8 · Aprobado».
- APIs: construye 5 y usa 12 que construyen otras épicas.
- Eventos: publica 4 y consume 3.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| PE-3 · Plantilla asignada | La propuesta en Borrador con plantilla y negocio asignados: la vista efectiva dice qué pedir y qué es obligatorio. |
| FT-PLT-06 · Configuración de atributos por plantilla y por negocio… | La sección, el orden y la obligatoriedad por negocio de cada atributo de la plantilla. |
| FT-RAC-01 · Motor de validación en línea y candados de datos… | La validación en el momento y los candados que dicen qué falta en cada paso. |
| PE-6 · SKU asignado | El producto con SKU y las tareas Sección con dueño abiertas, para que cada área llene la suya. |
| FT-PRD-06 · Bandeja de pendientes y depuración de borradores… | El borrador que la persona retoma desde su bandeja de pendientes, abierto en el paso que le falta. |
| FT-PLT-10 · Fachada v1 compatible con P360 para Entrada Única y Foro | El formulario de captura de la plantilla (API-BFF-101): secciones, listas chicas y habilitadores, que la pantalla de la propuesta junta con los valores. |
| FT-ACT-03 · Imágenes del seller por URL con validación y corrección… | La revisión que pinta en verde el bloque de imágenes cuando el seller completa el mínimo de su negocio, desde que elige la plantilla. |
| FT-IA-01 · Prellenado con IA y validación obligatoria del usuario | La ficha con los valores sugeridos ya confirmados o corregidos y su procedencia, para seguir la captura guiada. |
| FT-IA-03 · Enriquecimiento de atributos opcionales con IA y política… | Los valores del bloque opcional confirmados por el seller, para seguir la captura. |
| FT-PLT-03 · Listas de valores y modelo canónico con equivalencias por… | La solicitud de valor nuevo (API-01-104) y el aviso LOV_VALUE_CHANGED que dice cuándo se aprobó, para que la captura deje el campo como «valor solicitado» y lo llene al aprobarse. |
| FT-PRD-09 · Contrato de propuestas con Entrada Única | La ruta del BFF de la pantalla de propuesta (API-BFF-201), sobre la que trabaja la captura guiada. |
Entrega
| A | Qué |
|---|---|
| FT-RAC-01 · Motor de validación en línea y candados de datos… | La propuesta capturada y enviada (envío confirmado) para la Validación automática. |
| PE-4 · Propuesta enviada | La propuesta En revisión; la Validación automática de FT-RAC-01 la deja lista para el visto bueno. |
| FT-FLU-02 · Alta individual de Marketplace | La captura de Marketplace: el paso del alta individual donde el seller llena lo que pide su negocio. |
| PE-8 · Aprobado | Las secciones con dueño llenas y sus tareas cerradas, para que no bloqueen el Aprobado. |
Cambios de estado que hace
| Transición | De → a | Cuándo |
|---|---|---|
| T03 | Borrador → En revisión | Envía con los obligatorios completos. |
Tareas que abre o cierra: Sección con dueño.
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 | Proveedor | Entrada Única · Vendor Center | Abre su propuesta en Borrador para capturar | — |
| 2 | Entrada Única · Vendor Center | BFF del portal | Pide la pantalla de la propuesta con su vista efectiva | API-BFF-201 |
| 3 | BFF del portal | MS-01 Catálogo | Trae la vista efectiva con secciones y listas | API-01-028 |
| 4 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide los pasos con su avance y área dueña | API-02-101 |
| 5 | Proveedor | Entrada Única · Vendor Center | Captura el paso 1: sólo los obligatorios | — |
| 6 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Revisa los valores en el momento | API-02-012 |
| 7 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Guarda el paso en la propuesta | API-02-057 |
| 8 | Proveedor | Entrada Única · Vendor Center | Salta los opcionales y define colores y tallas | — |
| 9 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide armar las variantes con sus datos logísticos | API-02-006 |
| 10 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma las variantes | API-02-057 |
| 11 | MS-02 Producto | Base pim | Guarda las variantes y marca los pasos pendientes | — |
| 12 | Proveedor | Entrada Única · Vendor Center | Envía la propuesta con lo indispensable | — |
| 13 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide el plan de envío con la lista de faltantes | API-02-028 |
| 14 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma el envío a la Validación automática | API-02-057 |
3.1 Retomar después: autoguardado y pasos pendientes
3.2 Guía de tallas: tabla o imagen
3.3 Un área completa su sección
4. Si algo sale mal
- El proveedor intenta cerrar un paso con un obligatorio vacío. Puede guardar lo que capturó, pero el paso no se cierra: la pantalla marca con asterisco rojo cada faltante y muestra la lista que devuelve el plan.
- Se corta la sesión a media captura. Lo tecleado está en el autoguardado del servidor; al volver, la pantalla lo recupera y lo revisa contra la versión actual antes de guardarlo. El portal no guarda nada.
- Otra persona cambió la propuesta o cambió la plantilla mientras se capturaba. La confirmación responde 409 VERSION_CONFLICT; la pantalla recarga la propuesta, vuelve a revisar lo autoguardado y señala los campos que cambiaron.
- El proveedor envía y faltan datos de candado. El plan de envío sale bloqueado con la lista de faltantes por sección (por ejemplo, imagen principal o datos logísticos); la propuesta sigue en Borrador.
- Un área no llena su sección obligatoria. Su tarea sigue abierta y bloquea el Aprobado; MS-14 le recuerda al área dueña y la bandeja de pendientes la muestra con su antigüedad.
5. APIs
Las que construye esta épica (5)
POST /api/v2/products/guided/plans · Armar la familia en la captura guiada
| Campo | Valor |
|---|---|
| API | API-02-006 · MS-02 Producto |
| Para qué | Arma la familia de una vez: datos base, ejes de variante (por ejemplo color y talla, hasta 1,000 combinaciones), el EAN y los datos logísticos de cada variante; dice qué variantes va a crear, qué falta para cerrar el paso y qué errores hay por campo, sin escribir nada. Con productId completa la propuesta que ya está en Borrador (captura guiada). Sin productId crea la propuesta y la familia juntas desde cualquier puerta: catalogador interno, renglón de carga masiva (origen BULK) o API de terceros (origen PARTNER_API); con submitOnApply la envía al confirmar, y entonces corre la Validación automática. |
| En esta épica | Armar la familia: ejes, EAN y datos logísticos de cada variante |
| Quién la llama | BFF del portal, Gateway de terceros /partner/v1 |
| Permiso | ENT-E + VAL-E; el proveedor o seller dueño de la propuesta en Borrador, o el tercero con alta de productos |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key, If-Match |
| Publica | catalog.product.changed/PRODUCT_CREATED, catalog.product.changed/VARIANT_LINKED, catalog.product.changed/EAN_CHANGED, catalog.product.changed/PRODUCT_UPDATED, catalog.product.changed/STATUS_CHANGED |
| También la usan | FT-ARQ-01, FT-CAT-04, FT-FLU-01, FT-FLU-04, FT-PRD-05, FT-PRD-10, FT-USR-03 |
Request
{
"productId": "PRD-0004812",
"draftId": "drf-20c9",
"origin": "PORTAL",
"evaluationId": null,
"submitOnApply": false,
"base": {
"supplierPartNumber": "PL-889"
},
"axes": [
{
"attributeId": "COLOR",
"codes": [
"NEGRO",
"BLANCO"
]
},
{
"attributeId": "TALLA",
"codes": [
"CH",
"M",
"G"
]
}
],
"variants": [
{
"axisValues": {
"COLOR": "NEGRO",
"TALLA": "CH"
},
"ean": "7501234567916",
"values": [
{
"attributeId": "PESO_NETO",
"value": "0.18",
"unit": "kg"
},
{
"attributeId": "ALTO_EMPAQUE",
"value": "3",
"unit": "cm"
}
]
}
]
}
Response · 200
{
"success": true,
"data": {
"planId": "pln-5d92e1",
"expiresAt": "2026-10-18T16:45:00Z",
"canApply": true,
"summary": {
"variantsToCreate": 6,
"withEan": 1,
"withoutEan": 5
},
"variants": [
{
"axisValues": {
"COLOR": "NEGRO",
"TALLA": "CH"
},
"ean": "7501234567916",
"fieldErrors": []
},
{
"axisValues": {
"COLOR": "BLANCO",
"TALLA": "G"
},
"ean": null,
"fieldErrors": [
{
"path": "/variants/5/values/PESO_NETO",
"code": "REQUIRED",
"message": "El peso neto es dato logístico obligatorio para pedir el SKU",
"effect": "BLOCKS_SUBMIT"
}
]
}
],
"stepComplete": false,
"applyUrl": "/api/v2/product-plans/pln-5d92e1/apply"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 422 | VALIDATION_ERROR | Más de 1,000 combinaciones, o un eje que la plantilla no marca como eje de variante |
| 409 | VERSION_CONFLICT | Cambió la propuesta o la vista efectiva de su plantilla desde que se abrió |
| 409 | NOT_EDITABLE_IN_STATUS | La propuesta ya no está en Borrador ni en Corrección |
GET /api/v2/products/guided/drafts · Mis autoguardados
| Campo | Valor |
|---|---|
| API | API-02-007 · MS-02 Producto |
| Para qué | Lista los autoguardados de quien llama: lo que tecleó en un paso y no ha confirmado, por propuesta y paso, con la versión de la propuesta sobre la que se hizo. |
| En esta épica | Buscar los autoguardados propios de una propuesta |
| Quién la llama | BFF del portal |
| Permiso | Sólo su dueño |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | productId = PRD-0004812 |
Request
null
Response · 200
{
"success": true,
"data": {
"items": [
{
"draftId": "drf-20c9",
"productId": "PRD-0004812",
"step": "ATRIBUTOS",
"baseVersion": 7,
"version": 3,
"updatedAt": "2026-10-17T23:10:00Z",
"expiresAt": "2027-01-15T18:02:00Z"
}
],
"page": 1,
"size": 50,
"total": 1
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Se piden autoguardados de otra persona |
POST /api/v2/products/guided/drafts · Abrir un autoguardado
| Campo | Valor |
|---|---|
| API | API-02-008 · MS-02 Producto |
| Para qué | Abre el autoguardado de un paso de una propuesta: guarda lo tecleado aunque todavía no pase la validación, ligado a la versión de la propuesta, para no perderlo si la sesión se corta. |
| En esta épica | Abrir el autoguardado de un paso |
| Quién la llama | BFF del portal |
| Permiso | Quien captura la propuesta |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
| Escribe en | product_drafts |
Request
{
"productId": "PRD-0004812",
"step": "ATRIBUTOS",
"baseVersion": 7,
"payload": {
"values": [
{
"attributeId": "COMPOSICION",
"text": "100% algod"
}
]
}
}
Response · 201
{
"success": true,
"data": {
"draftId": "drf-20c9",
"version": 1,
"expiresAt": "2027-01-15T18:02:00Z"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 422 | BUSINESS_ERROR | Ya existe un autoguardado de ese paso para esa propuesta (se actualiza con PUT) |
| 422 | VALIDATION_ERROR | El contenido pasa de 2 MiB |
GET /api/v2/products/guided/drafts/{id} · Leer un autoguardado
| Campo | Valor |
|---|---|
| API | API-02-009 · MS-02 Producto |
| Para qué | Devuelve lo que quedó a medias en un paso y avisa si la propuesta cambió desde entonces, para revisarlo contra la versión actual antes de guardarlo. |
| En esta épica | Recuperar un autoguardado |
| Quién la llama | BFF del portal |
| Permiso | Sólo su dueño |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | id = drf-20c9 |
Request
null
Response · 200
{
"success": true,
"data": {
"draftId": "drf-20c9",
"productId": "PRD-0004812",
"step": "ATRIBUTOS",
"baseVersion": 7,
"currentProductVersion": 8,
"stale": true,
"payload": {
"values": [
{
"attributeId": "COMPOSICION",
"text": "100% algodón"
},
{
"attributeId": "CUIDADOS",
"text": "Lavar a mano"
}
]
},
"version": 3
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 404 | NOT_FOUND | El autoguardado no existe, venció o es de otra persona |
PUT /api/v2/products/guided/drafts/{id} · Autoguardar
| Campo | Valor |
|---|---|
| API | API-02-010 · MS-02 Producto |
| Para qué | Reemplaza el contenido del autoguardado con lo último que tecleó el usuario; si el contenido es idéntico no crea versión nueva. |
| En esta épica | Autoguardar lo último que se tecleó |
| Quién la llama | BFF del portal |
| Permiso | Sólo su dueño |
| Cabeceras | Authorization, X-Request-Id, If-Match |
| Parámetros | id = drf-20c9 |
| Escribe en | product_drafts |
Request
{
"payload": {
"values": [
{
"attributeId": "COMPOSICION",
"text": "100% algodón"
},
{
"attributeId": "CUIDADOS",
"text": "Lavar a mano"
}
]
}
}
Response · 200
{
"success": true,
"data": {
"draftId": "drf-20c9",
"version": 4,
"payloadSha256": "5c2d81e0",
"unchanged": false
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 409 | VERSION_CONFLICT | Se autoguardó desde otra pestaña con otra versión |
| 422 | VALIDATION_ERROR | El contenido pasa de 2 MiB |
Las que usa y construye otra épica (12)
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-BFF-201 | GET /bff/v1/proposals/{productId} | La pantalla de la propuesta con su vista efectiva, listas y permisos, que compone el BFF | FT-PRD-09 · Contrato de propuestas con Entrada Única |
| API-BFF-101 | GET /bff/v1/catalog/capture-form | El formulario de captura de la plantilla que el BFF junta con la propuesta | FT-PLT-10 · Fachada v1 compatible con P360 para Entrada Única y Foro |
| API-01-028 | GET /api/v2/taxonomies/PRODUCT/nodes/{id}/effective | La vista efectiva con secciones, orden y obligatoriedad por negocio | FT-PLT-06 · Configuración de atributos por plantilla y por negocio… |
| API-02-101 | GET /api/v2/products/{id}/gates | Los candados y el avance por sección, con su área dueña | FT-RAC-01 · Motor de validación en línea y candados de datos… |
| API-02-012 | POST /api/v2/products/{id}/values/plans | Revisar los valores de un paso en el momento | FT-RAC-01 · Motor de validación en línea y candados de datos… |
| API-02-057 | POST /api/v2/product-plans/{planId}/apply | Guardar un paso, las variantes o el envío | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-028 | POST /api/v2/workflow/actions/plans | Pedir el plan de envío con la lista de faltantes | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-11-004 | POST /api/v2/assets/uploads | Pedir permiso para subir la imagen de la guía de tallas | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-11-005 | POST /api/v2/assets/{assetId}/complete | Validar la imagen como guía de tallas y ligarla al producto | FT-ACT-02 · Registro, congelado y publicación de URLs de activos |
| API-02-032 | GET /api/v2/tasks | La bandeja de tareas de sección del área | FT-PRD-06 · Bandeja de pendientes y depuración de borradores… |
| API-02-035 | POST /api/v2/tasks/plans | Cerrar la tarea de sección | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-030 | GET /api/v2/workflow/config/{type} | Leer qué área es dueña de cada grupo de campos (tabla FIELD_OWNERS del motor) | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
6. Eventos
Publica
| Evento | Cuándo | Quién lo consume |
|---|---|---|
catalog.product.changed/PRODUCT_UPDATED | Se guarda un paso o una sección | FT-ACT-05, FT-ARQ-02, FT-IA-01, FT-PLT-07, FT-PRD-05, FT-RAC-06 |
catalog.product.changed/VARIANT_LINKED | Se confirman las variantes armadas con los ejes | FT-ACT-04 |
catalog.product.changed/STATUS_CHANGED | El proveedor o seller envía y la propuesta pasa a En 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 o se cierra una tarea Sección con dueño | 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-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.asset.changed/ASSET_VALIDATED | MS-02 liga al producto la imagen de la guía de tallas | FT-ACT-01, FT-ACT-02, FT-ACT-03 |
catalog.product.changed/TASK_CHANGED | MS-14 avisa al área dueña que tiene una sección por llenar | esta misma épica |
catalog.product.changed/VARIANT_LINKED | MS-11 propone heredar a las variantes nuevas las imágenes de su color | esta misma épica |
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 |
product_drafts | MS-02 | Borradores del alta guiada. | 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_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 |
template_views | MS-01 | La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios. | lee |
lov_values | MS-01 | Cada valor de lista: código, etiqueta, orden y equivalencias por sistema. | lee |
product_reference_tables | MS-02 | Configuración del motor de estados y del matching: transiciones, estados externos y pesos. | lee |
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. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-PRD-07·H1 · Primero lo obligatorio | P1 | pasos 2, 3, 4, 5, 6; API-02-101 |
| FT-PRD-07·H2 · Saltar y retomar | P1 | pasos 8, 11; flujo «Retomar después: autoguardado y pasos pendientes» |
| FT-PRD-07·H3 · Avance visible | P1 | pasos 4; API-02-101, API-BFF-201 |
| FT-PRD-07·H4 · Guía de tallas | P2 | flujo «Guía de tallas: tabla o imagen» |
| FT-PRD-07·H5 · Pocos clics | P2 | pasos 6; API-02-012 |
| FT-PRD-07·H6 · Atributo en su sección | P3 | pasos 3; API-01-028 |
| FT-PRD-07·H7 · Captura propia para Marketplace | P1 | pasos 2, 3, 5 |
| FT-PRD-07·H8 · Cinco pasos, cada uno con un área dueña | P1 | pasos 3, 4; flujo «Un área completa su sección»; API-02-030 |
| FT-PRD-07·H9 · Conservar los datos logísticos | P1 | pasos 9, 10; API-02-006, API-02-101 |
9. Decisiones de esta épica
Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.
- D-PRD-07-1. El borrador es la propuesta en Borrador dentro de products: cada «Guardar» confirma los valores del paso con el plan de valores. El portal no guarda datos del catálogo. Por qué: Un solo dueño del dato y una sola copia; la propuesta vive en el PIM desde que se guarda. Se apoya en ADR-12, FT-PRD-04.
- D-PRD-07-2. El autoguardado (product_drafts) guarda sólo lo tecleado en el paso en curso que todavía no se confirma, aunque no pase la validación; es por usuario, va ligado a la versión de la propuesta, se borra al guardar el paso y vence con la propuesta. No es una segunda copia de la ficha. Por qué: No se pierde trabajo si se corta la sesión y el portal no tiene que guardar nada; lo confirmado vive sólo en products. Se apoya en DMS-39, ADR-12.
- D-PRD-07-3. Cinco pasos con área dueña: 1 Datos básicos (Compras); 2 Atributos (Gobierno de Producto, con secciones de Sostenibilidad, VAS y Legal); 3 Variantes y datos logísticos (Compras, proveedor y Logística); 4 Imágenes y videos (Gobierno de Producto y E-commerce); 5 Manuales y NOM (proveedor, E-commerce y Legal). El paso de cada atributo sale de su sección en la plantilla (Catálogo) y el área dueña, de la tabla de dueños de campos del motor; cambiar el reparto es configuración. Por qué: Es la propuesta del tablero; los datos logísticos van con las variantes porque son por artículo y SAP los exige para crear el SKU. Se apoya en P-22, RF-ALT-03.
- D-PRD-07-4. El primer paso muestra sólo las tres capas que se llenan sí o sí (datos maestros, súper obligatorios y obligatorios del negocio); sugeridos y opcionales van en bloques que se saltan y se retoman. La completitud de obligatorios es sí o no. Por qué: Separa lo indispensable de lo opcional, como pidió el taller, sin volver la completitud un porcentaje. Se apoya en DEC-43, DEC-48, P-23, PEN-33.
- D-PRD-07-5. La composición de la pantalla (propuesta, vista efectiva, listas y permisos) vive en el BFF del portal, en la pantalla de propuesta de FT-PRD-09 (API-BFF-201); el avance por paso y el autoguardado los pide la pantalla a MS-02. MS-02 sólo da dominio: valores, planes, candados y autoguardado. Por qué: Hoy esa composición está copiada en 4 apps del navegador; ponerla en MS-02 lo ataría a una pantalla, y hacer otra composición para la captura duplicaría la de la propuesta. Lo fija la decisión 19 que adopta ADR-12. Se apoya en ADR-12.
- D-PRD-07-6. Una sola captura para los tres negocios: la de Marketplace es más corta porque su vista efectiva pide menos, no porque haya otra pantalla, otro motor u otra máquina de estados. Por qué: Las plantillas se comparten y sólo cambia la obligatoriedad; dos capturas duplicarían reglas. Se apoya en DEC-03, DEC-43, RN-GEN-02.
- D-PRD-07-7. Toda validación nueva corre dentro del plan del paso donde se captura el dato (por ejemplo, la lista negra al capturar la marca); ninguna agrega una pantalla. Por qué: Cada candado suma clics; correrlos dentro del mismo plan cumple «pocos clics» sin perder control. Se apoya en RF-GEN-06.
- D-PRD-07-8. La guía de tallas es un atributo compuesto de la plantilla (renglones de talla con sus medidas) o una imagen con tipo de activo «guía de tallas» en Activos digitales; aplica a los tres negocios cuando la plantilla tiene talla. Por qué: No existe en P360 ni en los diseños; así no se crea una entidad nueva y cada dato queda con su dueño. Se apoya en RF-PLA-20.
- D-PRD-07-9. Las secciones de las áreas se llenan en la misma pantalla, desde su tarea Sección con dueño, después del SKU y en paralelo con la foto. Por qué: Es la segunda carretera de la máquina de estados: el proveedor no espera a Legal o a Sostenibilidad para pedir su SKU. Se apoya en PD-29, P-22.
Qué falta decidir
| ID | Qué falta |
|---|---|
| P-22 | Gobierno de Producto confirma el reparto de los cinco pasos y sus áreas dueñas. |
| P-23 | Decidir qué datos se piden al inicio y cuáles después. |
| P-26 | Definir hasta dónde llega la IA en la captura (prellenado en el paso 2). |
| PD-02 | Confirmar si los sellers entran en la primera salida; cambia cuándo se usa la captura de Marketplace. |
Fuentes
- [D]
trazabilidad/features/FT-PRD-07-captura-guiada-por-pasos.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.