外部カスタム検証REST API仕様

この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