외부 사용자정의 검증 REST API 사양

이 API 사양을 사용하여 Oracle Fusion Cloud Enterprise Data Management가 외부 시스템에 있는 논리 및 데이터를 사용하여 요청 항목을 검증할 수 있도록 하는 REST API 엔드포인트를 제공합니다.

Cloud EDM은 외부 사용자정의 검증을 사용하여 요청 항목이 검증될 때 이 API를 호출합니다. 외부 시스템은 요청 데이터를 검증하고 검증에 실패한 요청 항목 또는 작업에 대한 검증 메시지를 반환합니다. 그런 다음, Cloud EDM에서 응답을 사용하여 사용자정의 검증에 지정된 심각도와 함께 검증 이슈를 표시합니다.

REST 리소스

외부 사용자정의 검증을 실행하려면:

HTTP 메소드: POST

경로: Configured external validation path as defined in the External Validation global connection(외부 검증 글로벌 연결에 정의된 대로 구성된 외부 검증 경로)

경로 예: /api/rest/externalValidation

Note:

외부 사용자정의 검증을 실행하려면 요청 본문 및 응답이 필요합니다.

외부 검증 글로벌 연결을 테스트하려면:(글로벌 연결 생성 참조)

HTTP 메소드: GET

경로: Configured external validation path as defined in the External Validation global connection(외부 검증 글로벌 연결에 정의된 대로 구성된 외부 검증 경로)

경로 예: /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 리소스에 대한 게시 요청을 제출하여 외부 검증을 실행하는 방법을 보여줍니다.

cURL 명령

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