Introducción
A continuación se resaltan las operaciones básicas que se pueden realizar por API pública con respecto a los objetos de la plataforma. Para más detalles de los endpoints, se puede consultar Swagger
Creación de una entidad
La creación o alta de una entidad se realiza en dos fases: primero se crea el esqueleto de la entidad y después se completa el metadato mediante la edición. Esto se debe a que, por la complejidad de las entidades nativas, la creación solo permite establecer los campos primarios y las claves. Si sólo se necesita la información básica, entonces, será suficiente con el primer paso.
Creación de la entidad
Paso 1. Crear el esqueleto de la entidad.
Genera la entidad con los valores fundamentales (nombre, OU y PKs) e incluye las relaciones internas necesarias (por ejemplo, en el caso de una instancia, con un proceso y una solución).
POST https://{{host}}/gateway/api/v4/entity/create/{objectSubType}
En esta fase solo se pueden establecer los campos primarios y claves. El resto del metadato se completa en la fase de edición.
Edición de la entidad
Paso 2. Consultar la estructura del formulario dinámico.
Sirve como referencia para construir los datos de entrada de la modificación. Devuelve la estructura del formulario con sus validaciones.
GET https://{{host}}/gateway/api/v4/catalog/entity/{objectSubType}
Paso 3 (opcional). Consultar la lista completa de validaciones.
Incluye también las validaciones only-on-edition.
GET https://{{host}}/gateway/api/v4/catalog/complete/entity/{objectSubType}
Paso 4 (opcional). Consultar la estructura de una entidad concreta.
Devuelve los campos y validaciones de un objeto específico.
GET https://{{host}}/gateway/api/v4/catalog/entity/{objectSubType}/{idObject}
Paso 5. Enviar la lista de atributos para modificar la entidad.
La edición requiere enviar una lista de atributos con la modificación del metadato.
POST https://{{host}}/gateway/api/v2/entity/save/{objectSubType}/{idObject}
Comportamiento de la edición
-
Si el objeto está en estado DRAFT: se modifican los valores previos directamente.
-
Si el objeto está en estado APPROVED, DEPRECATED o EXPIRED: se crea un nuevo DRAFT con un ID nuevo, clonando todo lo necesario (por ejemplo, los datasetfield en un DATASET o las relaciones con dataset en un DSA) y dejando el objeto original intacto.
Al igual que desde el portal, los datos enviados se validan y la entidad solo se edita si se superan todas las validaciones.
Validación
Una vez completada su edición será necesario el siguiente endpoint para que se envíe a validar la entidad.
POST https://{{host}}/gateway/api/v2/entity/submit/{objectSubType}/{idObject}
Creación de una relación
Al igual que con las entidades, el trabajo con relaciones se apoya en el formulario dinámico como referencia para construir los datos de entrada. A diferencia de la entidad, la relación se crea directamente enviando la lista de atributos (no hay una fase previa de esqueleto).
Creación de una relación
Paso 1. Consultar la estructura del formulario dinámico.
Permite conocer qué atributos tiene la plantilla de la relación que se quiere crear. Devuelve la estructura del formulario con los campos de la relación y sus validaciones.
GET https://{{host}}/gateway/api/v4/catalog/relationship/{objectSubType}
Paso 2. Enviar la lista de atributos para crear la relación.
La creación requiere enviar una lista de atributos. Al tratarse de una creación, es necesario incluir el nombre como atributo del objeto.
POST https://{{host}}/gateway/api/v2/relationship/create/{objectSubType}
La relación creada siempre estará en estado DRAFT. Al igual que desde el portal, los datos se validan y la relación solo se crea si se superan todas las validaciones.
Edición de una relación
Paso 3. Consultar la estructura del formulario dinámico de la relación concreta.
Sirve como referencia para construir los datos de la modificación. Devuelve los campos de la relación y sus validaciones.
GET https://{{host}}/gateway/api/v4/catalog/relationship/{objectSubType}/{idObject}
Paso 4. Enviar la lista de atributos para modificar la relación.
La edición requiere enviar una lista de atributos con la modificación del metadato.
POST https://{{host}}/gateway/api/v2/relationship/save/{objectSubType}/{idObject}
Comportamiento de la edición
-
Si la relación está en estado DRAFT: se modifican los valores previos directamente.
-
Si la relación está en estado APPROVED, DEPRECATED o EXPIRED: se crea un nuevo DRAFT con un ID nuevo, dejando el objeto original intacto.
Al igual que desde el portal, los datos enviados se validan y la relación solo se edita si se superan todas las validaciones.
Validación
Una vez completada su edición será necesario el siguiente endpoint para que se envíe a validar la relación.
POST https://{{host}}/gateway/api/v2/relationship/submit/{objectSubType}/{idObject}
Otras operaciones
Obtener todas las relaciones de una entidad
Permite obtener todas las relaciones que tiene una entidad incluyendo las relaciones internas. Consiste en la siguiente llamada:
GET https://{{host}}/gateway/api/v2/relationship/all/{objectSubtype}/{id}
Obtener los valores definidos para un atributo
Permite obtener todos los valores posibles de un atributo con valores predefinidos de tipo SELECT. Consiste en la llamada:
POST https://{{host}}/gateway/api/v2/attribute/values