外部自訂驗證 REST API 規格

使用此 API 規格提供 REST API 端點,可讓 Oracle Fusion Cloud Enterprise Data Management 透過位於外部系統的邏輯與資料來驗證要求項目。

當要求項目透過外部自訂驗證進行驗證時,Cloud EDM 會呼叫此 API。外部系統會驗證要求資料,並針對驗證失敗的任何要求項目或動作傳回驗證訊息。Cloud EDM 接著會使用此回應,以該自訂驗證中所指定的嚴重性顯示驗證問題。

REST 資源

執行外部自訂驗證:

HTTP 方法:POST

路徑:外部驗證全域連線中定義的已設定外部驗證路徑

路徑範例:/api/rest/externalValidation

Note:

執行外部自訂驗證時,需要要求主體與回應。

測試外部驗證全域連線: (請參閱建立全域連線)

HTTP 方法:GET

路徑:外部驗證全域連線中定義的已設定外部驗證路徑

路徑範例:/api/rest/externalValidation

Note:

測試全域連線時,不需要要求主體與回應。

驗證

對外部系統的 HTTP 要求,應透過 Authorization 標頭提供「HTTP 基本驗證」證明資料。

API 要求

支援的媒體類型:application/json

下表彙總用戶端要求。

Table 20-6 參數

名稱 描述 必要 預設
requestId EDM 要求識別碼 是 無
applicationId EDM 應用程式識別碼 是 無
validationId EDM 自訂驗證識別碼。 是 無
validationKey 外部驗證程式名稱 是 無
data (請參閱Table 20-7) 依維度分組的驗證資料集合 是 無

Table 20-7 Data 的參數

名稱 描述 必要 預設
dimensionId EDM 維度識別碼 是 無
dimensionName 來自「應用程式維度」的外部維度名稱。 是 無
nodeTypeId EDM 節點類型識別碼。 是 無
dataSetKey 外部資料集名稱 是 無
nodes (請參閱Table 20-8) 正在驗證的節點集合 是 無

Table 20-8 nodes 的參數

名稱 描述 必要 預設
nodeName EDM 節點名稱 是 無
actions (請參閱Table 20-9) 與節點相關聯的動作集合。 是 無

Table 20-9 actions 的參數

名稱 描述 必要 預設
actionId EDM 動作識別碼 是 無
actionType 正在驗證的動作類型。有效值包括 add、delete、insert、remove、move、reorder、rename 和 update。 是 無
parentName 父節點名稱。 當動作位於階層檢視中時為必要欄位。 無
oldParentName move 動作的上一個父節點名稱。 move 動作的必要參數。 無
previousSibling reorder 動作的上一個同階節點名稱。如果將節點移至第一個位置,請使用 null。 reorder 動作的必要參數。 無
newName rename 動作的新節點名稱。 rename 動作的必要參數。 無
propertyName update 動作的特性名稱。 update 動作的必要參數。 無
propertyFromValue update 動作的目前特性值。 update 動作的必要參數。 無
propertyToValue update 動作的更新後特性值。 update 動作的必要參數。 無

要求範例

{
  "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"
            }
          ]
        }
      ]
    }
  ]
}

API 回應

支援的媒體類型:application/json

Table 20-10 參數

名稱 描述 必要 預設
requestId EDM 要求識別碼 是 無
applicationId EDM 應用程式識別碼 是 無
validationId EDM 自訂驗證識別碼。 是 無
validationKey 外部驗證程式名稱 是 無
data (請參閱Table 20-11) 依維度分組的驗證結果集合 是 無

Table 20-11 Data 的參數

名稱 描述 必要 預設
dimensionId EDM 維度識別碼 是 無
nodeTypeId EDM 節點類型識別碼。 是 無
dataSetKey 外部資料集名稱 是 無
nodes (請參閱Table 20-12) 含驗證結果的節點集合 是 無

Table 20-12 nodes 的參數

名稱 描述 必要 預設
nodeName EDM 節點名稱 是 無
message 外部系統傳回的節點層級驗證訊息。 否 無
severity 節點層級驗證訊息的嚴重性。 否 無
validationMessages (請參閱Table 20-13) 動作層級驗證訊息集合。 是 無

Table 20-13 validationMessages 的參數

名稱 描述 必要 預設
actionID EDM 動作識別碼 是 無
actionType 驗證失敗的動作類型。 是 無
message 外部系統傳回的驗證訊息。 是 無
severity 動作層級驗證訊息的嚴重性。 否 Error

回應範例

{
  "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"
            }
          ]
        }
      ]
    }
  ]
}

範例

下列範例顯示如何透過 cURL 在 REST 資源上提交 POST 要求,以執行外部驗證。

cURL 命令

curl --user external_user -X POST -H "Content-Type: application/json" -d @example_request_payload.json https://externalhostname.example.com/api/rest/externalValidation