이 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