このAPI仕様を使用して、Oracle Fusion Cloud Enterprise Data Managementで外部システムに存在するロジックやデータを使用して要求アイテムを検証できるようにする、REST APIエンドポイントを提供します。
クラウドEDMは、外部カスタム検証を使用して要求アイテムが検証されるときに、このAPIをコールします。外部システムは要求データを検証し、検証に失敗した要求アイテムまたはアクションに対して検証メッセージを返します。この応答はCloud EDMによって使用され、カスタム検証で指定された重大度の検証の問題が表示されます。
RESTリソース
外部カスタム検証を実行するには:
HTTPメソッド: POST
パス: 「外部検証」グローバル接続で定義されている、構成済の外部検証パス
パスの例: /api/rest/externalValidation
Note:
外部カスタム検証を実行するには、要求本文および応答が必要です。
「外部検証」グローバル接続をテストするには: (グローバル接続の作成を参照)
HTTPメソッド: GET
パス: 「外部検証」グローバル接続で定義されている、構成済の外部検証パス
パスの例: /api/rest/externalValidation
Note:
グローバル接続のテストには、要求本文および応答は必要ありません。
認証
外部システムへのHTTP要求では、Authorizationヘッダーを介してHTTP Basic認証の資格証明を提供する必要があります。
API要求
サポートされるメディア・タイプ: application/json
次の表は、クライアントの要求をまとめたものです。
Table 20-6 パラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
requestId |
EDM要求識別子 | はい | なし |
applicationId |
EDMアプリケーション識別子 | はい | なし |
validationId |
EDMカスタム検証識別子。 | はい | なし |
validationKey |
外部検証プログラム名 | はい | なし |
data (Table 20-7を参照) |
ディメンション別にグループ化された検証データのコレクション | はい | なし |
Table 20-7 dataのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
dimensionId |
EDMディメンション識別子 | はい | なし |
dimensionName |
アプリケーション・ディメンションからの外部ディメンション名。 | はい | なし |
nodeTypeId |
EDMノード・タイプ識別子。 | はい | なし |
dataSetKey |
外部データ・セット名 | はい | なし |
nodes (Table 20-8を参照) |
検証されるノードのコレクション | はい | なし |
Table 20-8 nodesのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
nodeName |
EDMノード名 | はい | なし |
actions (Table 20-9を参照) |
ノードに関連付けられたアクションのコレクション。 | はい | なし |
Table 20-9 actionsのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
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 パラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
requestId |
EDM要求識別子 | はい | なし |
applicationId |
EDMアプリケーション識別子 | はい | なし |
validationId |
EDMカスタム検証識別子。 | はい | なし |
validationKey |
外部検証プログラム名 | はい | なし |
data (Table 20-11を参照) |
ディメンション別にグループ化された検証結果のコレクション | はい | なし |
Table 20-11 dataのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
dimensionId |
EDMディメンション識別子 | はい | なし |
nodeTypeId |
EDMノード・タイプ識別子。 | はい | なし |
dataSetKey |
外部データ・セット名 | はい | なし |
nodes (Table 20-12を参照) |
検証結果を含むノードのコレクション | はい | なし |
Table 20-12 nodesのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
nodeName |
EDMノード名 | はい | なし |
message |
外部システムによって返されるノードレベルの検証メッセージ。 | いいえ | なし |
severity |
ノードレベルの検証メッセージの重大度。 | いいえ | なし |
validationMessages (Table 20-13を参照) |
アクションレベルの検証メッセージのコレクション。 | はい | なし |
Table 20-13 validationMessagesのパラメータ
| 名前 | 説明 | 必須 | Default |
|---|---|---|---|
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