Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-RAC-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-RAC-07.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-RAC-07-reportes-exportes-busquedas-atributos.md.
En 30 segundos
Los reportes del portal hoy piden los datos a P360 y se rompen al apagarlo; Gobierno de Producto lleva su lista de exportes en una hoja aparte, y contar productos por categoría tarda casi tres minutos por nivel. Esta épica hace de Reportes (MS-04) la salida de archivos del PIM: exportes de productos y categorías que se pueden reimportar, los reportes del portal, las herramientas de P360 y búsquedas con listas grandes, sin cargar la base que opera.
- Módulo dueño: MS-04 Reportes. También participan: MS-02 Producto, MS-01 Catálogo, MS-14 Avisos y ayuda.
- Etapa T · Transversal. Recibe «PE-C · Catálogo vigente», «PE-T · Usuario con permisos y bitácora» y entrega «PE-T · Usuario con permisos y bitácora».
- APIs: construye 7 y usa 6 que construyen otras épicas.
- Eventos: publica 0 y consume 2.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| FT-PRD-01 · Modelo canónico de producto | El modelo de producto que se exporta: familia, variantes, valores por código, clasificaciones y dueño. |
| FT-CAT-01 · Administración del árbol de categorías web | El árbol web con niveles calculados y el estatus de cada categoría (vigente, desligada o vencida), y el perfil de carga de categorías para reimportar. |
| PE-C · Catálogo vigente | Las listas de valores para poner etiquetas a los códigos y los perfiles de carga de MS-01. |
| PE-T · Usuario con permisos y bitácora | Quien pide el exporte ya se identificó y sus permisos acotan lo que puede ver. |
Entrega
| A | Qué |
|---|---|
| PE-T · Usuario con permisos y bitácora | Exportes, herramientas y búsquedas que respetan los permisos de quien los pide y dejan su trabajo y su archivo con huella. |
| FT-CAT-06 · Agrupadores y corrección masiva de categorías con… | El exporte de las categorías de los productos por ID, listo para editarse e importarse en la corrección masiva. |
| FT-MIG-04 · Convivencia P360 ↔ nuevo PIM | Los tres reportes del portal resueltos con datos del PIM, condición para apagar el backend de Entrada Única. |
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 | Administración del catálogo | Entrada Única · Vendor Center | Elige filtro, columnas y vista por código y etiqueta | — |
| 2 | Entrada Única · Vendor Center | MS-04 Reportes (por el BFF) | Pide el exporte del filtro | API-04-001 |
| 3 | MS-04 Reportes | Base pim | Registra el trabajo en la cola | — |
| 4 | MS-04 Reportes | MS-02 Producto | Lee los productos por páginas desde la réplica | API-02-121 |
| 5 | MS-04 Reportes | MS-01 Catálogo | Trae las etiquetas de las listas, con caché | API-01-007 |
| 6 | MS-04 Reportes | MS-01 Catálogo | Trae el estatus de cada categoría del producto | API-01-039 |
| 7 | MS-04 Reportes | Archivos e imágenes (almacén y CDN) | Escribe el archivo con su huella | — |
| 8 | MS-04 Reportes | MS-14 Avisos y ayuda | Avisa al usuario que su archivo está listo | API-14-005 |
| 9 | Entrada Única · Vendor Center | MS-04 Reportes (por el BFF) | Consulta el trabajo y baja el archivo | API-04-002 |
| 10 | Entrada Única · Vendor Center | MS-04 Reportes (por el BFF) | Lista sus exportes recientes | API-04-012 |
3.1 Exportar el árbol y reimportarlo
3.2 Buscar con listas grandes y contar por categoría
3.3 Los reportes del portal y las herramientas de P360
4. Si algo sale mal
- El exporte pasa del límite de Excel. MS-04 responde 413 LIMIT_EXCEEDED y sugiere CSV; nunca entrega un archivo truncado.
- MS-02 o MS-01 dejan de responder a media lectura. El trabajo se pausa y sigue desde el último cursor; si no se recupera, queda FAILED con lo leído y el motivo, y el usuario recibe el aviso en pantalla.
- El archivo reimportado trae el ID de otro objeto o un ID que no existe. La carga de MS-01 rechaza ese renglón con su código y no confirma nada hasta corregirlo; ningún ID cambia.
- Una categoría del producto está desligada o vencida. El exporte la conserva y la marca en su columna como desligada o vencida, para que Category la corrija.
- El archivo ya venció (7 días). La descarga responde 404; el trabajo sigue en «mis exportes» y se pide otra vez.
5. APIs
Las que construye esta épica (7)
POST /api/v2/exports · Pedir un exporte
| Campo | Valor |
|---|---|
| API | API-04-001 · MS-04 Reportes |
| Para qué | Pide un exporte en segundo plano: productos por filtro, selección o lista de hasta 2 millones; perfiles P5 y Masa madre; la configuración del catálogo con las columnas de su perfil de carga, para editarla y volverla a subir; árbol de categorías y categorías con sus productos; los tres reportes del portal; imágenes en ZIP; bitácora de envíos; resultado de acciones, o el cruce de visibles con una incidencia. Avisa por MS-14 cuando está listo. |
| En esta épica | Pedir cualquier exporte, incluidos los reportes del portal y el árbol |
| Quién la llama | BFF del portal |
| Permiso | ENT-L para productos y CAT-L para catálogo y categorías, sobre lo que quien pide puede ver (proveedores y sellers, sólo lo suyo) |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
| Escribe en | report_jobs |
| También la usan | FT-CAT-06, FT-PLT-09, FT-RAC-08 |
Request
{
"type": "PRODUCTS_FILTER",
"filter": {
"business": "MER",
"status": "APROBADO",
"templateId": "EU4-0412"
},
"idListRef": null,
"columns": [
"SKU",
"EAN",
"NOMBRE",
"MARCA",
"SECCION",
"GRUPO_ARTICULOS",
"COLOR",
"CoordinadoIDSAP",
"CATEGORIAS_WEB"
],
"labels": "BOTH",
"format": "XLSX"
}
Response · 202
{
"success": true,
"data": {
"jobId": "job-rep-7c21",
"status": "ACCEPTED",
"links": {
"self": "/api/v2/exports/job-rep-7c21"
}
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 400 | VALIDATION_ERROR | El tipo no existe o pide una columna que no existe en la plantilla |
| 413 | LIMIT_EXCEEDED | Un Excel pasaría de 1,048,575 renglones; se pide en CSV |
| 403 | AUTHORIZATION_ERROR | Quien pide no tiene la capacidad de lectura del tipo de exporte |
GET /api/v2/exports/{jobId} · Estado y archivo de un exporte
| Campo | Valor |
|---|---|
| API | API-04-002 · MS-04 Reportes |
| Para qué | Dice cómo va un exporte y, al terminar, da el conteo de éxito, faltante y falla, el archivo con su huella SHA-256 y un enlace firmado de 10 minutos para bajarlo. |
| En esta épica | Ver el avance, los conteos y bajar el archivo con su huella |
| Quién la llama | BFF del portal |
| Permiso | Quien pidió el exporte |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | jobId = job-rep-7c21 |
| También la usan | FT-RAC-08 |
Request
null
Response · 200
{
"success": true,
"data": {
"jobId": "job-rep-7c21",
"type": "PRODUCTS_FILTER",
"state": "COMPLETED",
"progress": {
"completed": 18354,
"total": 18354
},
"counts": {
"ok": 18342,
"missing": 12,
"failed": 0
},
"artifacts": [
{
"artifactId": "art-01",
"name": "exporte-productos-20261018.xlsx",
"rows": 18342,
"sha256": "9f2c41d0e7…",
"bytes": 4823110,
"download": "(enlace firmado de 10 minutos)"
}
],
"expiresAt": "2026-10-25T15:20:00Z"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 404 | NOT_FOUND | El trabajo no existe, no es de quien llama o su archivo ya venció |
GET /api/v2/tools · Herramientas de P360
| Campo | Valor |
|---|---|
| API | API-04-003 · MS-04 Reportes |
| Para qué | Lista las 7 herramientas y reportes que P360 tenía como diálogos (características por SKU, productos enviables, reporte de Foro, excepciones, datos por plantilla, productos y artículos, bitácora de envíos) y la exportación por perfil P5, sólo las que el rol de quien llama puede usar. |
| En esta épica | Listar las herramientas de P360 que el rol puede usar |
| Quién la llama | BFF del portal |
| Permiso | ENT-L; cada herramienta pide además su capacidad |
| Cabeceras | Authorization, X-Request-Id |
Request
null
Response · 200
{
"success": true,
"data": {
"items": [
{
"toolId": "SKU_VALUES",
"name": "Exportar características por SKU",
"input": "Lista de SKU; nivel producto, artículo o ambos",
"requires": "ENT-L"
},
{
"toolId": "CHECK_SENDABLE",
"name": "Validar productos enviables",
"input": "Productos seleccionados",
"requires": "PUB-L"
},
{
"toolId": "EXCEPTIONS",
"name": "Calcular excepciones",
"input": "Productos seleccionados",
"requires": "GOBIERNO"
}
]
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Quien llama no tiene lectura de productos |
POST /api/v2/tools/{toolId}/runs · Correr una herramienta
| Campo | Valor |
|---|---|
| API | API-04-004 · MS-04 Reportes |
| Para qué | Corre una herramienta sobre una selección fija (hasta 1,000 registros o una lista) y deja el resultado como archivo; responde con el trabajo. |
| En esta épica | Correr una herramienta sobre una selección fija |
| Quién la llama | BFF del portal |
| Permiso | La capacidad que pide cada herramienta |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
| Parámetros | toolId = EXCEPTIONS |
| Escribe en | report_jobs |
Request
{
"ids": [
"PRD-0004812",
"PRD-0004813"
],
"idListRef": null,
"level": "BOTH",
"frozenImages": true
}
Response · 202
{
"success": true,
"data": {
"jobId": "job-rep-7c35",
"status": "ACCEPTED",
"links": {
"self": "/api/v2/exports/job-rep-7c35"
}
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | El rol no tiene la capacidad de esa herramienta |
| 422 | BUSINESS_ERROR | Calcular excepciones con diccionarios de referencia sin sincronizar |
| 400 | VALIDATION_ERROR | Más de 1,000 registros sin lista o herramienta desconocida |
GET /api/v2/receipts?user=&from=&to= · Mis trabajos de Reportes
| Campo | Valor |
|---|---|
| API | API-04-012 · MS-04 Reportes |
| Para qué | Lista los exportes, herramientas y cálculos de tablero que pidió un usuario en un periodo, con su estado y su archivo. Los comprobantes de los demás módulos se ven en la pantalla del BFF que los junta (API-BFF-508). |
| En esta épica | Mis exportes, herramientas y cálculos recientes |
| Quién la llama | BFF del portal |
| Permiso | El propio usuario; ACCESS-ADMIN para ver los de otro |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | user = USR-000231, from = 2026-10-11, to = 2026-10-18 |
| También la usan | FT-PLT-09 |
Request
null
Response · 200
{
"success": true,
"data": {
"items": [
{
"jobId": "job-rep-7c21",
"type": "PRODUCTS_FILTER",
"state": "COMPLETED",
"createdAt": "2026-10-18T15:12:00Z",
"finishedAt": "2026-10-18T15:20:00Z",
"artifacts": 1,
"expiresAt": "2026-10-25T15:20:00Z"
},
{
"jobId": "job-card-5521",
"type": "DASHBOARD_CARD",
"state": "COMPLETED",
"createdAt": "2026-10-18T15:21:00Z",
"finishedAt": "2026-10-18T15:21:40Z",
"artifacts": 0,
"expiresAt": null
}
],
"page": 1,
"size": 50,
"total": 2
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Pide los trabajos de otro usuario sin ACCESS-ADMIN |
POST /internal/product/exports/pages · Lectura masiva para Reportes: devuelve productos o variantes
| Campo | Valor |
|---|---|
| API | API-02-121 · MS-02 Producto |
| Para qué | Lectura masiva para Reportes: devuelve productos o variantes por páginas de hasta 1,000, con las columnas pedidas, valores por código, clasificación, dueño, estado y estado por canal, leídos de la réplica de sólo lectura (nodo de analítica). Sigue con un cursor y fija la hora de corte. |
| En esta épica | Lectura masiva de productos desde la réplica, por páginas |
| También la usan | FT-RAC-04, FT-RAC-06, FT-RAC-08 |
Request
{
"filter": {
"business": "MER",
"status": [
"APROBADO"
],
"templateId": "EU4-0412",
"webCategoryId": null,
"ownerId": null
},
"idListRef": null,
"level": "VARIANT",
"cursor": null,
"pageSize": 1000,
"columns": [
"SKU",
"EAN",
"NOMBRE",
"MARCA",
"SECCION",
"GRUPO_ARTICULOS",
"COLOR",
"CoordinadoIDSAP",
"webCategoryIds",
"deliveryStatus",
"ENRIQUECIDO"
]
}
Response · 200
{
"success": true,
"data": {
"asOf": "2026-10-18T15:12:03Z",
"items": [
{
"productId": "PRD-0004812",
"variantId": "VAR-0004812-01",
"sku": "1000004812",
"ean": "7501234567893",
"ownerId": "PROV-0001",
"values": {
"NOMBRE": "Licuadora de 10 velocidades",
"MARCA": "MARCA01",
"SECCION": "2001",
"GRUPO_ARTICULOS": "200105",
"COLOR": "ROJO",
"CoordinadoIDSAP": "CO-88120",
"ENRIQUECIDO": true
},
"webCategoryIds": [
"catst-000812"
],
"deliveryStatus": {
"TIENDA": "Publicado",
"OMS": "Publicado"
}
}
],
"nextCursor": "cur-7a01",
"total": 18354
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Quien llama no tiene el permiso o no es el módulo autorizado |
| 422 | VALIDATION_ERROR | Falta un dato o viene con un formato inválido; el detalle dice qué campo |
| 409 | IDEMPOTENCY_MISMATCH | Se repite la llave de idempotencia con otro cuerpo |
POST /api/v2/products/id-lists · Registra una lista grande de SKU, EAN o IDs de producto (has
| Campo | Valor |
|---|---|
| API | API-02-122 · MS-02 Producto |
| Para qué | Registra una lista grande de SKU, EAN o IDs de producto (hasta 2 millones) que el usuario pega o sube como archivo, y da su referencia (idListRef) para la búsqueda y los exportes; al leerla, dice cuántos se reconocieron y cuántos no. |
| En esta épica | Registrar una lista de hasta 2 millones de SKU o EAN |
| También la usan | FT-RAC-08 |
Request
{
"kind": "SKU",
"source": "PASTE",
"count": 2000000
}
Response · 201
{
"success": true,
"data": {
"idListRef": "idl-55a1",
"upload": "(enlace firmado de carga, vence en 15 minutos)",
"maxIds": 2000000,
"expiresAt": "2026-10-19T15:12:00Z"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 403 | AUTHORIZATION_ERROR | Quien llama no tiene el permiso o no es el módulo autorizado |
| 422 | VALIDATION_ERROR | Falta un dato o viene con un formato inválido; el detalle dice qué campo |
| 409 | IDEMPOTENCY_MISMATCH | Se repite la llave de idempotencia con otro cuerpo |
Las que usa y construye otra épica (6)
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-01-007 | GET /api/v2/lovs/{id}/values | Etiquetas de las listas para la vista por etiqueta | FT-PLT-03 · Listas de valores y modelo canónico con equivalencias por… |
| API-01-039 | GET /api/v2/categories/tree | El árbol web con niveles y estatus de cada categoría | FT-CAT-01 · Administración del árbol de categorías web |
| API-01-031 | POST /api/v2/catalog-imports | Validar la carga de categorías reimportada | FT-PLT-09 · Carga masiva de configuración de plantillas con… |
| API-01-032 | POST /api/v2/catalog-imports/{id}/apply | Confirmar la carga de categorías por ID | FT-PLT-09 · Carga masiva de configuración de plantillas con… |
| API-02-001 | POST /api/v2/products/search | Búsqueda por atributos, por listas y conteo por categoría | FT-PRD-01 · Modelo canónico de producto |
| API-14-005 | POST /internal/notifications/messages | Avisar que el archivo está listo | FT-RAC-05 · Estatus del producto y motivos visibles para seller y… |
6. Eventos
Consume
| Evento | Para qué | Quién lo publica |
|---|---|---|
catalog.governance.changed/LOV_VALUE_CHANGED | Vaciar la caché de etiquetas de listas que usa la vista por etiqueta | FT-INT-04, FT-PLT-03, FT-PLT-09, FT-REF-01 |
catalog.governance.changed/CATEGORY_UNLINKED | Marcar como desligada la categoría en los exportes siguientes | FT-CAT-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 |
|---|---|---|---|
report_jobs | MS-04 | Exportaciones y reportes asíncronos. | escribe |
report_jobs | MS-04 | Exportaciones y reportes asíncronos. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-RAC-07·H1 · Exportar el árbol completo o parcial a Excel y reimportarlo | P1 | flujo «Exportar el árbol y reimportarlo»; API-01-031, API-01-032 |
| FT-RAC-07·H2 · El reporte de categorías con sus productos ligados | P1 | flujo «Exportar el árbol y reimportarlo»; API-04-001 |
| FT-RAC-07·H3 · Que los reportes del portal sigan funcionando después del corte | P1 | flujo «Los reportes del portal y las herramientas de P360»; API-04-002 |
| FT-RAC-07·H4 · Exports de productos con columnas por identificador, por etiqueta o ambas | P1 | pasos 1, 2, 5, 7; API-04-001 |
FT-RAC-07·H5 · Ver CoordinadoIDSAP en mis reportes | P2 | flujo «Los reportes del portal y las herramientas de P360»; API-02-121 |
| FT-RAC-07·H6 · Buscar productos y contar por categoría sin esperas | P2 | flujo «Buscar con listas grandes y contar por categoría»; API-02-001 |
| FT-RAC-07·H7 · Consultar productos por atributos sin importar la marca | P3 | flujo «Buscar con listas grandes y contar por categoría»; API-02-001 |
| FT-RAC-07·H8 · Buscar por listas masivas | P1 | flujo «Buscar con listas grandes y contar por categoría»; API-02-122 |
| FT-RAC-07·H9 · Exportar a Excel y CSV | P1 | pasos 6, 7; API-01-039 |
| FT-RAC-07·H10 · Reportes sobre una réplica | P2 | pasos 4; API-02-121 |
| FT-RAC-07·H11 · Vista de KAM | P3 | API-02-001. Fuera: Qué ve el KAM depende de P-28; se arranca con el rol KAM y sus sellers como alcance en MS-13 (D-RAC-07-6). |
9. Decisiones de esta épica
Las tomó el TL como arquitecto; quedan como [Propuesta] hasta que el equipo de la épica las revise.
- D-RAC-07-1. Reportes no lee colecciones ajenas: los productos los lee por la lectura masiva interna de MS-02, que pagina desde la réplica de sólo lectura (nodo de analítica de la base), y el catálogo, las listas y las categorías por la API de MS-01, con una caché que vacían sus eventos. Así un reporte pesado no carga la base que opera. Por qué: Cada dato tiene un dueño y la historia H10 pide no afectar la operación; el dueño decide desde dónde lee. Se apoya en ADR-12, PD-05, PD-09.
- D-RAC-07-2. GetReportFieldValues (API-04-013) no se construye. En R2 los tres reportes del portal (Familia con variantes, Estatus MKP y Estatus de propuestas) son tipos de exporte de MS-04 con el mismo conteo de éxito, faltante y falla de hoy. La historia de los 29,259 reportes generados en Entrada Única no se migra. Por qué: Sin capa de compatibilidad, la pantalla de reportes se cambia una sola vez al BFF y deja de depender de P360; los reportes viejos son fotos que se pueden volver a pedir. Se apoya en PD-30, ADR-06, DUD-31.
- D-RAC-07-3. El exporte del árbol y el de categorías salen con las columnas del perfil de carga de categorías de MS-01 y el ID como llave, para reimportarlos por esa carga sin tocar ningún ID; si un renglón trae el ID de otro objeto, lo rechaza MS-01. Por qué: Así exportar y reimportar es un solo camino y el rechazo lo da quien es dueño de las categorías. Se apoya en PD-07, FT-CAT-01.
- D-RAC-07-4. Una lista de hasta 2 millones de SKU o EAN se registra en MS-02, dueño de la búsqueda, y se cita por idListRef; Reportes la pasa tal cual a la búsqueda y a la lectura masiva. Por qué: Un solo dueño para las listas evita que la búsqueda y el exporte las lean distinto. Se apoya en DUD-31.
- D-RAC-07-5. API-04-012 se queda con los trabajos de Reportes (exportes, herramientas y cálculos); su ruta base, /api/v2/receipts, debería llamarse /api/v2/report-jobs. Los comprobantes de todos los módulos se ven en la pantalla del BFF (API-BFF-508), que junta la bitácora y el recibo de cada dueño. Por qué: Reportes no puede leer los recibos de otros módulos sin duplicarlos. Se apoya en ADR-12.
- D-RAC-07-6. El KAM es un rol de MS-13 cuyo alcance son sus sellers; ve el avance de sus sellers con la búsqueda de MS-02 por estado y dueño. Qué más ve y con qué jerarquía comercial queda abierto. Por qué: Con el rol y el alcance basta para arrancar sin construir una jerarquía comercial que nadie ha definido. Se apoya en P-28.
- D-RAC-07-7. Los archivos no mienten: SKU, EAN e IDs como texto, fórmulas neutralizadas, Excel con su límite de renglones (si se pasa, 413 y se pide CSV), nunca se trunca, cada archivo lleva huella SHA-256 y se baja con un enlace firmado de 10 minutos; vence a los 7 días. Las listas salen por código, por etiqueta o ambas. Por qué: Un archivo truncado en silencio o con códigos convertidos a número es un dato falso con formato de dato. Se apoya en DUD-31, DEC-PRD-03.
- D-RAC-07-8. La búsqueda por atributos, la búsqueda con listas y el conteo por nivel de categoría son de MS-02 (API-02-001 con sus conteos por valor); Reportes no tiene un índice propio de productos. La prueba del análisis por atributos se hace con la plantilla de vestidos. Por qué: Un segundo índice sería una copia del producto que nadie concilia. Se apoya en DEC-41, PD-09.
Qué falta decidir
| ID | Qué falta |
|---|---|
| DUD-31 | Gobierno de Producto comparte su lista de exportes y el BA escribe la sección de búsquedas y logs en la ERF. |
| P-28 | Marketplace define qué ve el KAM y con qué jerarquía comercial. |
| PD-09 | Arquitectura decide si el análisis por atributos de largo plazo se hace en el DWH. |
También siguen abiertos: PEN-44, Category define las reglas del reporte de categorías por niveles.
Fuentes
- [D]
trazabilidad/features/FT-RAC-07-reportes-exportes-busquedas-atributos.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.