Utilice esta especificación de API para proporcionar un punto final de API de REST que permita a Oracle Fusion Cloud Enterprise Data Management validar elementos de solicitud mediante la lógica y los datos que residen en un sistema externo.
Cloud EDM llama a esta API cuando los elementos de solicitud se validan mediante una validación personalizada externa. El sistema externo valida los datos de la solicitud y devuelve mensajes de validación para cualquier elemento de solicitud o acción que falle la validación. A continuación, Cloud EDM utiliza la respuesta para mostrar las incidencias de validación con la gravedad especificada en la validación personalizada.
Recurso REST
Para ejecutar validaciones personalizadas externas:
Método HTTP: POST
Ruta: Configured external validation path as defined in the External Validation global connection
Ejemplo de ruta: /api/rest/externalValidation
Note:
El cuerpo de la solicitud y la respuesta son necesarios para ejecutar validaciones personalizadas externas.
Para probar la conexión global de validación externa: (consulte Creación de conexiones globales)
Método HTTP: GET
Ruta: Configured external validation path as defined in the External Validation global connection
Ejemplo de ruta: /api/rest/externalValidation
Note:
El cuerpo de la solicitud y la respuesta no son necesarios para probar la conexión global.
Autentificación
Las solicitudes HTTP al sistema externo deben proporcionar las credenciales de autenticación HTTP básica a través de la cabecera Authorization.
Solicitud de API
Tipos de medio admitidos: application/json
En la siguiente tabla se resume la solicitud del cliente.
Table 20-6 Parámetros
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
requestId |
Identificador de solicitud de EDM | Sí | Ninguno |
applicationId |
Identificador de aplicación de EDM | Sí | Ninguno |
validationId |
Identificador de validación personalizada de EDM. | Sí | Ninguno |
validationKey |
Nombre del programa de validación externa | Sí | Ninguno |
data (consulte Table 20-7) |
Recopilación de datos de validación agrupados por dimensión | Sí | Ninguno |
Table 20-7 Parámetros para data
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
dimensionId |
Identificador de dimensión de EDM | Sí | Ninguno |
dimensionName |
Nombre de dimensión externa de la dimensión de aplicación. | Sí | Ninguno |
nodeTypeId |
Identificador de tipo de nodo de EDM. | Sí | Ninguno |
dataSetKey |
Nombre del conjunto de datos externo | Sí | Ninguno |
nodes (consulte Table 20-8) |
Recopilación de nodos que se van a validar | Sí | Ninguno |
Table 20-8 Parámetros para nodes
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
nodeName |
Nombre del nodo de EDM | Sí | Ninguno |
actions (consulte Table 20-9) |
Recopilación de acciones asociadas al nodo. | Sí | Ninguno |
Table 20-9 Parámetros para actions
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
actionId |
Identificador de acción de EDM | Sí | Ninguno |
actionType |
Tipo de acción que se va a validar. Los valores válidos son add, delete, insert, remove, move, reorder, rename y update. |
Sí | Ninguno |
parentName |
Nombre del nodo padre. | Necesario cuando la acción está en una vista de jerarquía. | Ninguno |
oldParentName |
Nombre del nodo padre anterior para una acción move. |
Necesario para las acciones move. |
Ninguno |
previousSibling |
Nombre del nodo hermano anterior para una acción reorder. Utilice null si el nodo se va a mover a la primera posición. |
Necesario para las acciones reorder. |
Ninguno |
newName |
Nuevo nombre de nodo para una acción rename. |
Necesario para las acciones rename. |
Ninguno |
propertyName |
Nombre de propiedad para una acción update. |
Necesario para las acciones update. |
Ninguno |
propertyFromValue |
Valor de propiedad actual para una acción update. |
Necesario para las acciones update. |
Ninguno |
propertyToValue |
Valor de propiedad actualizado para una acción update. |
Necesario para las acciones update. |
Ninguno |
Solicitud de ejemplo
{
"requestId": "edm_request_id",
"applicationId": "edm_application_id",
"validationId": "edm_custom_validation_id",
"validationKey": "external_program_name",
"data": [
{
"dimensionId": "edm_dimension_id",
"dimensionName": "dimension_name",
"nodeTypeId": "edm_node_type_id",
"dataSetKey": "external_data_set_name",
"nodes": [
{
"nodeName": "edm_node_name",
"actions": [
{
"actionId": "edm_action_id",
"actionType": "add",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "delete",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "insert",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "remove",
"parentName": "edm_parent_node_name"
},
{
"actionId": "edm_action_id",
"actionType": "move",
"parentName": "edm_parent_name",
"oldParentName": "edm_old_parent_name"
},
{
"actionId": "edm_action_id",
"actionType": "reorder",
"parentName": "edm_parent_node_name",
"previousSibling": "edm_previous_sibling"
},
{
"actionId": "edm_action_id",
"actionType": "rename",
"parentName": "edm_parent_node_name",
"newName": "edm_new_name"
},
{
"actionId": "edm_action_id",
"actionType": "update",
"propertyName": "edm_property_name",
"propertyFromValue": "edm_property_from_value",
"propertyToValue": "edm_property_to_value",
"parentName": "edm_parent_node_name"
}
]
}
]
}
]
}Respuesta de API
Tipo de medio soportado: application/json
Table 20-10 Parámetros
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
requestId |
Identificador de solicitud de EDM | Sí | Ninguno |
applicationId |
Identificador de aplicación de EDM | Sí | Ninguno |
validationId |
Identificador de validación personalizada de EDM. | Sí | Ninguno |
validationKey |
Nombre del programa de validación externa | Sí | Ninguno |
data (consulte Table 20-11) |
Recopilación de resultados de validación agrupados por dimensión | Sí | Ninguno |
Table 20-11 Parámetros para data
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
dimensionId |
Identificador de dimensión de EDM | Sí | Ninguno |
nodeTypeId |
Identificador de tipo de nodo de EDM. | Sí | Ninguno |
dataSetKey |
Nombre del conjunto de datos externo | Sí | Ninguno |
nodes (consulte Table 20-12) |
Recopilación de nodos con resultados de validación | Sí | Ninguno |
Table 20-12 Parámetros para nodes
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
nodeName |
Nombre del nodo de EDM | Sí | Ninguno |
message |
Mensaje de validación de nivel de nodo devuelto por el sistema externo. | No | Ninguno |
severity |
Gravedad del mensaje de validación de nivel de nodo. | No | Ninguno |
validationMessages (consulte Table 20-13) |
Recopilación de mensajes de validación de nivel de acción. | Sí | Ninguno |
Table 20-13 Parámetros para validationMessages
| Nombre | Descripción | Necesario | Predeterminado |
|---|---|---|---|
actionID |
Identificador de acción de EDM | Sí | Ninguno |
actionType |
Tipo de acción que ha fallado la validación. | Sí | Ninguno |
message |
Mensaje de validación devuelto por el sistema externo. | Sí | Ninguno |
severity |
Gravedad del mensaje de validación de nivel de acción. | No | Error |
Ejemplo de respuesta
{
"requestId": "edm_request_id",
"applicationId": "edm_application_id",
"validationId": "edm_custom_validation_id",
"validationKey": "external_program_name",
"data": [
{
"dimensionId": "edm_dimension_id",
"nodeTypeId": "edm_node_type_id",
"dataSetKey": "external_data_set_name",
"nodes": [
{
"nodeName": "edm_node_name",
"message": "external_validation_message",
"severity": "warning",
"validationMessages": [
{
"actionId": "edm_action_id",
"actionType": "delete",
"message": "external_validation_message",
"severity": "error"
}
]
}
]
}
]
}Ejemplo
En el siguiente ejemplo, se muestra cómo ejecutar una validación externa mediante el envío de una solicitud POST en el recurso de REST mediante cURL.
Comando cURL
curl --user external_user -X POST -H "Content-Type: application/json" -d @example_request_payload.json https://externalhostname.example.com/api/rest/externalValidation