Actualizado el 18-oct-2026. Primera versión de la arquitectura de esta épica.
Qué responde. Cómo funciona por dentro FT-PRD-03: 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-03.json, generada con generar.py; la ficha de la épica es trazabilidad/features/FT-PRD-03-ean-unicidad-validacion-liberacion.md.
En 30 segundos
Un EAN (el código de barras) no puede repetirse dentro de un negocio, y hoy el proveedor se entera tarde y libera un EAN ocupado con tickets y formularios. Esta épica revisa el EAN en cuanto se captura (formato, dígito verificador, tipo y si ya existe), dice qué hacer si ya está en otro negocio, lleva la liberación dentro del PIM con su estado a la vista y deja cambiar de negocio a un producto sin perder su historia.
- Módulo dueño: MS-02 Producto. También participan: MS-01 Catálogo, MS-06 Evaluación, MS-14 Avisos y ayuda.
- Etapa 3 · Captura. Recibe «PE-3 · Plantilla asignada» y entrega a otras épicas.
- APIs: construye 4 y usa 10 que construyen otras épicas.
- Eventos: publica 5 y consume 1.
1. Dónde encaja
Recibe
| De | Qué |
|---|---|
| PE-3 · Plantilla asignada | La propuesta en Borrador con plantilla: el proveedor o seller captura sus variantes y sus EAN. |
| FT-PRD-01 · Modelo canónico de producto | El registro de identificadores por negocio y la variante con EAN propio. |
| FT-REF-01 · Datos de referencia administrables | La lista de proveedores y sellers exentos de EAN y los prefijos, como datos de referencia de Catálogo. |
Entrega
| A | Qué |
|---|---|
| FT-RAC-01 · Motor de validación en línea y candados de datos… | Las variantes con EAN válidos y reservados en su negocio, para el candado de envío. |
| FT-PRD-02 · Creación de SKU con SAP | El registro de identificadores donde se confirma el EAN que asigna SAP en la respuesta 122. |
| FT-FLU-04 · Carga masiva de productos por archivo | La misma revisión de EAN, renglón por renglón, para la carga masiva. |
Cambios de estado que hace
| Transición | De → a | Cuándo |
|---|---|---|
| T09 | Aprobado → En modificación | Alguien cambia un producto aprobado. |
| T10 | En modificación → Aprobado | El cambio se aplica o se descarta. |
Tareas que abre o cierra: Gobierno de Datos.
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 | Captura el EAN de una variante | — |
| 2 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Revisa el EAN en el momento de capturarlo | API-02-102 |
| 3 | MS-02 Producto | MS-01 Catálogo | Lee los proveedores y sellers exentos de EAN | API-01-012 |
| 4 | MS-02 Producto | Base pim | Busca el EAN en el registro de su negocio | — |
| 5 | MS-02 Producto | MS-06 Evaluación | Si está en otro negocio, pide la decisión por negocio | API-06-001 |
| 6 | Proveedor | Entrada Única · Vendor Center | Guarda el paso con los EAN libres | — |
| 7 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Pide el plan de los valores con los EAN | API-02-012 |
| 8 | Entrada Única · Vendor Center | MS-02 Producto (por el BFF) | Confirma el plan | API-02-057 |
| 9 | MS-02 Producto | Base pim | Reserva los EAN en la misma transacción que la propuesta | — |
| 10 | MS-02 Producto | Eventos | Avisa los EAN nuevos de la propuesta | catalog.product.changed/EAN_CHANGED |
3.1 Liberar un EAN en uso
3.2 Cambiar de negocio sin perder la historia
3.3 Mientras P360 viva, P360 quita un EAN
4. Si algo sale mal
- Dos propuestas guardan el mismo EAN en el mismo negocio al mismo tiempo. El índice único del registro deja pasar sólo la primera confirmación; la segunda recibe 422 con «El código EAN ya existe en catalogación para este negocio» y la opción de pedir su liberación.
- Evaluación (MS-06) no responde cuando el EAN existe en otro negocio. La revisión no bloquea la captura: responde que el EAN existe en el otro negocio y que la decisión se confirma al enviar; la Validación automática (FT-RAC-01) vuelve a preguntar antes del visto bueno.
- Compras no decide la liberación. La solicitud sigue «solicitada» y la propuesta sigue en Borrador; MS-14 le recuerda a Compras cada semana. Si vence el plazo de la propuesta (FT-PRD-04), la propuesta se cancela y la solicitud se cancela con ella, como hoy al eliminar la propuesta.
- El producto que tenía el EAN ya tiene SKU en SAP. Al autorizar, el EAN pasa a la propuesta en el PIM y se abre una tarea de Gobierno de Datos para dar de baja o descontinuar ese EAN en SAP. Si después llega de SAP un archivo que intenta devolver ese EAN al producto anterior, no se aplica en silencio: queda en el recibo y en la misma tarea.
- El negocio nuevo ya tiene uno de los EAN del producto. El plan del cambio de negocio sale bloqueado con el EAN que choca; no se mueve nada hasta resolverlo con una liberación.
5. APIs
Las que construye esta épica (4)
POST /api/v2/products/ean-checks · Revisar EAN en línea
| Campo | Valor |
|---|---|
| API | API-02-102 · MS-02 Producto |
| Para qué | Revisa hasta 10 EAN en el momento de capturarlos: formato y dígito verificador, tipo de código, si el dueño está exento y si el EAN ya existe en su negocio o en otro; en ese caso dice el siguiente paso (pedir la liberación, multioferta o stockout). No reserva nada: la reserva ocurre al guardar. |
| En esta épica | Revisar el EAN en el momento: formato, dígito, tipo, exentos y si ya existe |
| Quién la llama | BFF del portal, Gateway de terceros /partner/v1 |
| Permiso | ENT-E; el proveedor o seller que captura |
| Cabeceras | Authorization, X-Request-Id |
| También la usan | FT-ARQ-01, FT-FLU-02, FT-PRD-09 |
Request
{
"business": "MER",
"ownerId": "PROV-0001",
"productId": "PRD-0004812",
"eans": [
"7501234567923",
"7501234567894",
"7509876543213",
"7501112223330"
]
}
Response · 200
{
"success": true,
"data": {
"items": [
{
"ean": "7501234567923",
"valid": true,
"type": "HE",
"freeInBusiness": true
},
{
"ean": "7501234567894",
"valid": false,
"code": "CHECK_DIGIT",
"message": "El dígito verificador no corresponde"
},
{
"ean": "7509876543213",
"valid": true,
"type": "HE",
"freeInBusiness": false,
"conflict": {
"business": "MER",
"sameBusiness": true
},
"nextStep": "PEDIR_LIBERACION",
"message": "El código EAN ya existe en catalogación para este negocio; puedes pedir su liberación"
},
{
"ean": "7501112223330",
"valid": true,
"type": "HE",
"freeInBusiness": true,
"conflict": {
"business": "MKP",
"sameBusiness": false
},
"nextStep": "PEDIR_LIBERACION",
"decisionFrom": "MS-06",
"message": "EAN ocupado por Marketplace: valida su liberación con tu comprador"
}
]
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 400 | VALIDATION_ERROR | Más de 10 EAN, o un EAN con letras o de longitud no admitida |
POST /api/v2/ean-releases/plans · Pedir o resolver la liberación de un EAN
| Campo | Valor |
|---|---|
| API | API-02-103 · MS-02 Producto |
| Para qué | Prepara una acción sobre la liberación de un EAN que ocupa otro producto: pedirla (proveedor o seller), autorizarla o rechazarla (Compras del área del producto que lo ocupa; en Marketplace, Gobierno de Datos) o cancelarla. Dice quién autoriza, si aplica una regla de liberación directa y qué pasará con los dos productos. |
| En esta épica | Pedir, autorizar, rechazar o cancelar una liberación |
| Quién la llama | BFF del portal |
| Permiso | REQUEST y CANCEL: el proveedor o seller dueño de la propuesta; AUTHORIZE y REJECT: Compras del área (Gobierno de Datos en Marketplace) |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key |
| Publica | catalog.product.changed/EAN_CHANGED, catalog.product.changed/TASK_CHANGED |
Request
{
"action": "REQUEST",
"ean": "7509876543213",
"business": "MER",
"forProductId": "PRD-0004812",
"forVariantId": "VAR-0004812-02",
"comment": "El producto anterior se descontinuó"
}
Response · 200
{
"success": true,
"data": {
"planId": "pln-e0a118",
"expiresAt": "2026-10-18T17:15:00Z",
"release": {
"ean": "7509876543213",
"business": "MER",
"heldBy": {
"productId": "PRD-0001907",
"status": "APROBADO",
"hasSku": true
},
"approver": {
"area": "COMPRAS-HOGAR"
},
"directRule": null,
"willBe": "SOLICITADA"
},
"applyUrl": "/api/v2/product-plans/pln-e0a118/apply"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 422 | BUSINESS_ERROR | El EAN está libre en ese negocio: no hace falta liberarlo |
| 422 | BUSINESS_ERROR | Ya hay una solicitud abierta para ese EAN |
| 403 | AUTHORIZATION_ERROR | Quien autoriza no es Compras del área del producto que ocupa el EAN |
| 409 | VERSION_CONFLICT | La solicitud cambió de estado desde que se leyó |
GET /api/v2/ean-releases · Solicitudes de liberación de EAN
| Campo | Valor |
|---|---|
| API | API-02-104 · MS-02 Producto |
| Para qué | Lista las solicitudes de liberación con su estado (solicitada, realizada, rechazada o cancelada) y su fecha: es la bandeja de quien autoriza y el seguimiento de quien la pidió. |
| En esta épica | Bandeja de quien autoriza y seguimiento de quien pidió la liberación |
| Quién la llama | BFF del portal, Gateway de terceros /partner/v1 |
| Permiso | Quien autoriza ve las de su área; el proveedor o seller, las que pidió |
| Cabeceras | Authorization, X-Request-Id |
| Parámetros | status = SOLICITADA, business = MER, approverArea = COMPRAS-HOGAR, page = 1, size = 50 |
Request
null
Response · 200
{
"success": true,
"data": {
"items": [
{
"releaseId": "rel-3301",
"ean": "7509876543213",
"business": "MER",
"status": "SOLICITADA",
"requestedBy": {
"ownerId": "PROV-0001"
},
"forProductId": "PRD-0004812",
"heldBy": {
"productId": "PRD-0001907",
"hasSku": true
},
"approverArea": "COMPRAS-HOGAR",
"requestedAt": "2026-10-18T16:47:00Z",
"decidedAt": null,
"rule": null
}
],
"page": 1,
"size": 50,
"total": 1
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 400 | VALIDATION_ERROR | Un filtro con un estado o negocio que no existe |
POST /api/v2/products/{id}/business-change/plans · Cambiar el negocio dueño
| Campo | Valor |
|---|---|
| API | API-02-105 · MS-02 Producto |
| Para qué | Prepara pasar un producto de un negocio a otro (por ejemplo, de Marketplace a Mercaderías) conservando su identificador, su catalogación, su historial y su llave en la tienda; dice qué EAN se mueven, si alguno choca y qué datos pedirá el negocio nuevo, sin borrar ninguno. |
| En esta épica | Cambiar el negocio dueño sin perder identificador, catalogación ni historial |
| Quién la llama | BFF del portal |
| Permiso | Gobierno de Datos |
| Cabeceras | Authorization, X-Request-Id, Idempotency-Key, If-Match |
| Parámetros | id = PRD-0004812 |
| Publica | catalog.product.changed/PRODUCT_UPDATED, catalog.product.changed/EAN_CHANGED, catalog.product.changed/STATUS_CHANGED, catalog.product.changed/TASK_CHANGED |
Request
{
"targetBusiness": "MER",
"newOwnerId": "PROV-0001",
"reason": "Mercaderías empieza a comprar el producto"
}
Response · 200
{
"success": true,
"data": {
"planId": "pln-9a7c42",
"expiresAt": "2026-10-18T17:20:00Z",
"productId": "PRD-0004812",
"from": "MKP",
"to": "MER",
"keeps": [
"productId",
"webCategoryIds",
"history",
"storeKey"
],
"eans": [
{
"ean": "7501234567893",
"from": "MKP",
"to": "MER",
"conflict": null
}
],
"missingForTarget": [
{
"attributeId": "NUM_PROVEEDOR",
"section": "DATOS_BASICOS"
},
{
"attributeId": "GRUPO_ARTICULOS",
"section": "DATOS_BASICOS"
}
],
"status": {
"from": "APROBADO",
"to": "EN_MODIFICACION"
},
"opensTasks": [
"GOBIERNO_DE_DATOS"
],
"applyUrl": "/api/v2/product-plans/pln-9a7c42/apply"
}
}
Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 422 | BUSINESS_ERROR | Un EAN del producto ya existe en el negocio destino |
| 403 | AUTHORIZATION_ERROR | Quien llama no es Gobierno de Datos |
| 409 | VERSION_CONFLICT | El producto cambió desde que se abrió |
Las que usa y construye otra épica (10)
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-012 | GET /api/v2/reference-tables/{t}/entries | Leer la lista de exentos de EAN (datos de referencia de Catálogo) | FT-REF-01 · Datos de referencia administrables |
| API-06-001 | POST /api/v2/evaluations | Pedir la decisión por negocio cuando el EAN existe en otro negocio | FT-REF-02 · Blacklist de Marketplace por marca, negocio y grupo de… |
| API-02-012 | POST /api/v2/products/{id}/values/plans | Revisar y preparar los valores con los EAN; sólo Gobierno de Datos edita un EAN después del Borrador | FT-RAC-01 · Motor de validación en línea y candados de datos… |
| API-02-057 | POST /api/v2/product-plans/{planId}/apply | Confirmar valores, solicitudes, autorizaciones y cambios de negocio | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-14-005 | POST /internal/notifications/messages | Avisar a Compras de una liberación pendiente y al proveedor cuando se decide | FT-RAC-05 · Estatus del producto y motivos visibles para seller y… |
| API-01-028 | GET /api/v2/taxonomies/PRODUCT/nodes/{id}/effective | Saber qué datos pide el negocio nuevo | FT-PLT-06 · Configuración de atributos por plantilla y por negocio… |
| API-02-035 | POST /api/v2/tasks/plans | Cerrar la tarea de Gobierno de Datos | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-074 | DELETE /productmanagement/proposals/upc-eans | Recibir la baja de un EAN que manda el middleware de P360 hasta R3 | Capa temporal hasta R3 |
| API-02-030 | GET /api/v2/workflow/config/{type} | Leer las reglas de liberación directa del motor | FT-FLU-01 · Motor de estados configurable con dos carreteras y reglas… |
| API-02-031 | POST /api/v2/workflow/config/{type}/plans | Cambiar las reglas de liberación directa | 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/EAN_CHANGED | Se reservan los EAN de una propuesta, se ejecuta una liberación o se mueven los EAN a otro negocio | FT-ARQ-02 |
catalog.product.changed/PRODUCT_UPDATED | Cambia el negocio dueño de un producto | FT-ACT-05, FT-ARQ-02, FT-IA-01, FT-PLT-07, FT-PRD-05, FT-RAC-06 |
catalog.product.changed/STATUS_CHANGED | Un producto aprobado que cambia de negocio pasa a En modificació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 Gobierno de Datos por un EAN con SKU liberado o por un cambio de negocio | 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 |
catalog.product.publication/PUBLICATION_REQUESTED | Termina el cambio de negocio y se republica con la misma llave | FT-CAT-05, FT-CAT-06, FT-INT-01, FT-INT-02, FT-INT-05, FT-INT-07, FT-PLT-08, FT-PRD-05, FT-RAC-03 |
Consume
| Evento | Para qué | Quién lo publica |
|---|---|---|
catalog.product.changed/EAN_CHANGED | MS-14 avisa al proveedor que su EAN quedó reservado o que su liberación se realizó | 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 |
|---|---|---|---|
identifier_registry | MS-02 | Unicidad de SKU y de EAN por negocio. | escribe |
products | MS-02 | La familia del producto con sus variantes, valores, imágenes (URL), clasificaciones, estado, tareas abiertas y rechazos. | 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 |
reference_tables | MS-01 | Las entradas de los diccionarios: tallas, colores, impuestos, excepciones y demás datos de referencia. | lee |
template_views | MS-01 | La vista efectiva ya resuelta por plantilla y negocio: qué atributos pide y cuáles son obligatorios. | lee |
product_reference_tables | MS-02 | Configuración del motor de estados y del matching: transiciones, estados externos y pesos. | lee |
validation_results | MS-06 | El resultado de cada evaluación: lista negra, coincidencias con su confianza y score. | lee |
8. Historias que cubre
| Historia | Prioridad | Cómo la cubre |
|---|---|---|
| FT-PRD-03·H1 · Validación en línea | P1 | pasos 1, 2; API-02-102 |
| FT-PRD-03·H2 · Unicidad por negocio | P1 | pasos 4, 8, 9; API-02-102 |
| FT-PRD-03·H3 · Convivencia entre negocios | P1 | pasos 5; API-06-001 |
| FT-PRD-03·H4 · Liberación en la herramienta | P2 | flujo «Liberar un EAN en uso»; API-02-103 |
| FT-PRD-03·H5 · Cambio controlado | P2 | API-02-012. Fuera: Limpiar el EAN de una propuesta cancelada lo hace FT-PRD-04 en la misma transacción que la cancelación (D-PRD-04-5); aquí queda quién puede cambiar un EAN (D-PRD-03-7). |
| FT-PRD-03·H6 · Seguir el estado de una liberación | P2 | flujo «Liberar un EAN en uso»; API-02-104, API-02-030, API-02-031 |
| FT-PRD-03·H7 · Cambiar de negocio sin perder la historia | P2 | flujo «Cambiar de negocio sin perder la historia»; API-02-105 |
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-03-1. La revisión del EAN es de MS-02 y es una sola: formato, dígito verificador, tipo de código (IC, EE, HE…) y unicidad por negocio. La usan la captura, la carga masiva y la API de terceros con el mismo código. Por qué: Hoy la validación llega tarde y en cascada de tres chequeos con un índice en archivo plano que falla en silencio; ADR-12 deja la validación en el dueño del dato. Se apoya en DEC-PRD-08, RF-ALT-04, ADR-12.
- D-PRD-03-2. La unicidad por negocio la garantiza el índice único de identifier_registry, escrito en la misma transacción que el producto: de dos altas simultáneas con el mismo EAN y negocio, sólo una gana. La revisión en línea no reserva; reserva el guardado. Por qué: Reservar al teclear dejaría EAN bloqueados por capturas abandonadas; el índice único cierra la carrera sin bloqueos largos. Se apoya en DEC-PRD-04.
- D-PRD-03-3. El mensaje de convivencia entre negocios (multioferta, stockout o liberar) sale de la decisión por negocio de Evaluación (MS-06), la misma que usa la identificación previa al alta; MS-02 no copia esa tabla. Por qué: Una regla, un dueño: la decisión ante una coincidencia es de MS-06 (FT-FLU-03). Se apoya en RN-MAT-11, FT-FLU-03.
- D-PRD-03-4. La liberación vive en el PIM como una solicitud con estado (solicitada, realizada, rechazada o cancelada) guardada en el registro del EAN. Autoriza Compras del área del producto que ocupa el EAN; en Marketplace, Gobierno de Datos. Liberar marca el EAN anterior como liberado; nunca lo borra. Por qué: Elimina el ticket y el formulario, deja el rastro de quién liberó qué y le da al proveedor y al seller el estado sin preguntar. Se apoya en RF-ALT-04, RN-ALT-06, S29-RF-06, DUD-22.
- D-PRD-03-5. Las reglas de liberación directa se configuran en el motor de MS-02 (tabla EAN_RELEASE_RULES). La de arranque: el EAN lo ocupa otra propuesta del mismo dueño que todavía no tiene SKU. Pasar un artículo a descontinuado no libera su EAN por sí solo. Por qué: Libera sin esperar lo que no tiene riesgo y respeta lo que pidió el taller: antes de liberar un descontinuado se valida, por ejemplo, el inventario. Se apoya en RN-ALT-06, RN-ALT-08.
- D-PRD-03-6. En Suburbia la unicidad aplica igual y la liberación también, con Compras de Suburbia, hasta que se decida otra cosa. Por qué: Un solo flujo para los tres negocios; excluir a Suburbia obligaría a mantener el ticket sólo para ella. Se apoya en PEN-10, DEC-03.
- D-PRD-03-7. Sólo Gobierno de Datos, por permiso sobre el grupo de atributos del EAN, o el flujo de liberación cambian un EAN; el proveedor o seller lo captura mientras la propuesta está en Borrador y sin SKU. Por qué: Protege la llave sin frenar la captura; la matriz por rol vive en el motor de MS-02 con los roles del directorio. Se apoya en DUD-22, ADR-12.
- D-PRD-03-8. El cambio de negocio es un comando propio: conserva identificador, catalogación, historial y la llave de la tienda; mueve los EAN al registro del negocio nuevo (si alguno choca no se aplica) y pide lo que falta con una tarea de Gobierno de Datos, sin borrar nada. Si estaba aprobado, pasa a En modificación y la tienda conserva lo publicado hasta terminar. Por qué: Liberar y volver a catalogar pierde la relevancia que el producto ganó en la página; un comando explícito deja rastro y no se confunde con una edición. Se apoya en S29-RF-07, PD-29.
- D-PRD-03-9. Mientras P360 viva, su middleware quita EAN con el adaptador upc-eans (API-02-074, de FT-PRD-09) y MS-02 lo aplica como liberación en el registro; se borra con P360 en R3. Por qué: Es el único adaptador que queda por la decisión 20 que adopta ADR-12; sin él, una baja en P360 dejaría el EAN ocupado en el PIM. Se apoya en ADR-12.
Qué falta decidir
| ID | Qué falta |
|---|---|
| DUD-22 | Firmar la matriz rol × acción: quién autoriza la liberación y quién edita el EAN. |
| DUD-25 | Confirmar si existen y con qué formato los archivos de EAN liberados en SAP, para conciliarlos con el registro. |
| PD-01 | La liberación en la herramienta es mejora sobre P360; confirmar que entra en la primera salida. |
También siguen abiertos: PEN-10, Confirmar si la liberación en la herramienta aplica a Suburbia (aquí arranca igual que en Mercaderías).
Fuentes
- [D]
trazabilidad/features/FT-PRD-03-ean-unicidad-validacion-liberacion.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.