Editar especificación
Actualiza una especificación del catálogo desde la app, cambiando nombre, descripción, color o imagen, y conserva sus relaciones con productos por el mismo identificador.
En este artículo
Las especificaciones ayudan a mantener atributos reutilizables dentro del catálogo, como etiquetas o características que luego se aplican a productos. En Antylogic se editan desde la pestaña Especificaciones del catálogo de la ubicación u organización.
Esta guía está pensada para responsables de catálogo que trabajan en Grupo Marea Demo y Marea Gran Via. La pantalla permite editar los campos visibles; las traducciones de nombre y descripción existen en la API, pero no se modifican desde el formulario actual.
Antes de empezar
- Debe existir una especificación editable en el catálogo actual. El runtime ES no expone `SPECIFICATION_ID`, así que las capturas deben crear una especificación temporal y limpiarla al terminar.
- Debe estar seleccionada la organización Grupo Marea Demo. Para editar en ámbito ubicación también debe estar seleccionada Marea Gran Via.
- Para guardar cambios se necesita `catalog:manage` en el ámbito real de la especificación. Con `catalog:view`, la ficha puede abrirse solo en lectura.
- Si se cambia la imagen, primero debe subirse el archivo con `POST /api/app/files` para obtener `image_file_id`.
Instrucciones
- 1.
Abre Especificaciones
Entra en la gestión de catálogos y abre la pestaña Especificaciones para localizar la fila que vas a actualizar por nombre, descripción, color o propietario.
- 2.
Abre la ficha
Pulsa la fila o la acción de edición. La app abre el formulario de detalle con nombre, descripción, color e imagen ya cargados cuando existen.
- 3.
Edita los campos visibles
Cambia Nombre, Descripción, Color o Imagen. Para documentación, usa una especificación temporal clara, por ejemplo `Apto terraza`, para que el resultado sea fácil de comprobar en el listado.
- 4.
Sube imagen si aplica
Si necesitas cambiar la imagen, selecciona o sube el archivo antes de guardar. La app guarda el identificador devuelto y el `PUT` de especificación solo referencia `image_file_id`.
- 5.
Guarda los cambios
Pulsa Guardar cuando haya cambios válidos. La app envía la actualización al endpoint de ubicación u organización según el ámbito real de la especificación.
- 6.
Confirma el resultado
Tras el éxito, Antylogic refresca detalle y listado, muestra la notificación de actualización y vuelve a la pestaña Especificaciones para verificar nombre, descripción, color y propietario.
- 7.
Usa la API para traducciones
Si una integración necesita actualizar traducciones, debe enviar `name_translations` y `description_translations` en el payload del `PUT`; el formulario actual no expone esos campos.
Validaciones y límites
- Nombre es obligatorio y debe tener contenido después de quitar espacios iniciales y finales.
- Descripción se guarda recortada; si queda vacía, se omite desde el formulario.
- El color se normaliza en frontend. Si queda vacío o no cumple `#RRGGBB`, se sustituye por `#98A2B3`.
- Guardar exige cambios, formulario válido y ninguna mutación o subida de imagen en curso.
- Las especificaciones de sistema son legibles, pero no editables.
- El backend toma `specificationId` de la ruta, valida `catalog:manage` en el ámbito real y conserva `org_id`, `location_id` e `id`.
- La actualización no reescribe las relaciones de productos con especificaciones; esas relaciones se conservan por id.
- Si existen servicios históricos afectados, el backend intenta congelar snapshots de catálogo antes de modificar la especificación.
- Un payload JSON inválido devuelve error 400, y un `image_file_id` no UUID no es válido para la actualización en PostgreSQL.
Resultado esperado
La especificación queda actualizada en su mismo ámbito, con sus relaciones de producto intactas. El listado de Especificaciones muestra el nuevo nombre, descripción, color e imagen asociada si se cambió.