使用此 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