Use esta especificação de API para fornecer um ponto final de API REST que permita que o Oracle Fusion Cloud Enterprise Data Management valide itens de solicitação usando lógica e dados que residem em um sistema externo.
O Cloud EDM chama essa API quando os itens de solicitação são validados usando uma validação personalizada Externa. O sistema externo valida os dados da solicitação e retorna mensagens de validação para quaisquer itens ou ações de solicitação que falhem na validação. Em seguida, a resposta é usada pelo Cloud EDM para exibir os problemas de validação com a severidade especificada na validação personalizada.
Recurso REST
Para executar validações personalizadas externas:
Método HTTP: POST
Caminho: Configured external validation path as defined in the External Validation global connection
Exemplo de caminho: /api/rest/externalValidation
Note:
Corpo e Resposta da Solicitação são obrigatórios para executar validações personalizadas externas.
Para testar a conexão global de Validação Externa: (consulte Criação de Conexões Globais)
Método HTTP: POST
Caminho: Configured external validation path as defined in the External Validation global connection
Exemplo de caminho: /api/rest/externalValidation
Note:
O Corpo e a Resposta da Solicitação não são necessários para testar a conexão global.
Autenticação
As solicitações HTTP para o sistema externo devem fornecer credenciais de Autenticação Básica HTTP por meio do cabeçalho Authorization.
Solicitação de API
Tipos de Mídia Suportados: application/json
A tabela a seguir resume a solicitação do cliente.
Table 20-6 Parâmetros
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
requestId |
O identificador da solicitação EDM | Sim | Nenhum |
applicationId |
O identificador do aplicativo EDM | Sim | Nenhum |
validationId |
O identificador de validação personalizado do EDM. | Sim | Nenhum |
validationKey |
O nome do programa de validação externa | Sim | Nenhum |
data (consulte Table 20-7) |
Coleta de dados de validação agrupados por dimensão | Sim | Nenhum |
Table 20-7 Parâmetros para data
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
dimensionId |
O identificador da dimensão EDM | Sim | Nenhum |
dimensionName |
O nome da dimensão externa da Dimensão do Aplicativo. | Sim | Nenhum |
nodeTypeId |
O identificador do tipo de nó EDM. | Sim | Nenhum |
dataSetKey |
O nome do conjunto de dados externo | Sim | Nenhum |
nodes (consulte Table 20-8) |
Coleção de nós que estão sendo validados | Sim | Nenhum |
Table 20-8 Parâmetros para data
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
nodeName |
O nome do nó EDM | Sim | Nenhum |
actions (consulte Table 20-9) |
Conjunto de ações associadas ao nó. | Sim | Nenhum |
Table 20-9 Parâmetros para data
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
actionId |
O identificador da ação EDM | Sim | Nenhum |
actionType |
O tipo de ação que está sendo validado. Os valores válidos incluem add, delete, insert, remove, move, reorder, rename e update. |
Sim | Nenhum |
parentName |
O nome do nó pai. | Obrigatório quando a ação estiver em uma exibição de hierarquia. | Nenhum |
oldParentName |
O nome do nó pai anterior para uma ação move. |
Obrigatório para ações move. |
Nenhum |
previousSibling |
O nome do nó irmão anterior para uma ação reorder. Use null se o nó estiver sendo movido para a primeira posição. |
Obrigatório para ações reorder. |
Nenhum |
newName |
O novo nome do nó para uma ação rename. |
Obrigatório para ações rename. |
Nenhum |
propertyName |
O nome da propriedade para uma ação update. |
Obrigatório para ações update. |
Nenhum |
propertyFromValue |
O valor da propriedade atual para uma ação update. |
Obrigatório para ações update. |
Nenhum |
propertyToValue |
O valor da propriedade atualizado para uma ação update. |
Obrigatório para ações update. |
Nenhum |
Solicitação de Exemplo
{
"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"
}
]
}
]
}
]
}Resposta da API
Tipos de Mídia Suportados: application/json
Table 20-10 Parâmetros
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
requestId |
O identificador da solicitação EDM | Sim | Nenhum |
applicationId |
O identificador do aplicativo EDM | Sim | Nenhum |
validationId |
O identificador de validação personalizado do EDM. | Sim | Nenhum |
validationKey |
O nome do programa de validação externa | Sim | Nenhum |
data (consulte Table 20-11) |
Coleta de resultados de validação agrupados por dimensão | Sim | Nenhum |
Table 20-11 Parâmetros para data
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
dimensionId |
O identificador da dimensão EDM | Sim | Nenhum |
nodeTypeId |
O identificador do tipo de nó EDM. | Sim | Nenhum |
dataSetKey |
O nome do conjunto de dados externo | Sim | Nenhum |
nodes (consulte Table 20-12) |
Coleta de nós com resultados de validação | Sim | Nenhum |
Table 20-12 Parâmetros para data
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
nodeName |
O nome do nó EDM | Sim | Nenhum |
message |
Uma mensagem de validação no nível do nó retornada pelo sistema externo. | Não | Nenhum |
severity |
A severidade da mensagem de validação no nível do nó. | Não | Nenhum |
validationMessages (consulte Table 20-13) |
Conjunto de mensagens de validação no nível da ação. | Sim | Nenhum |
Table 20-13 Parâmetros para validationMessages
| Nome | Descrição | Obrigatório | Padrão |
|---|---|---|---|
actionID |
O identificador da ação EDM | Sim | Nenhum |
actionType |
O tipo de ação que falhou na validação. | Sim | Nenhum |
message |
A mensagem de validação retornada pelo sistema externo. | Sim | Nenhum |
severity |
A severidade da mensagem de validação no nível da ação. | Não | Error |
Exemplo de Resposta
{
"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"
}
]
}
]
}
]
}Exemplo
O exemplo a seguir mostra como executar uma validação externa enviando uma solicitação de postagem no recurso REST usando o 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