크로스 소스 설정 API
호출 방법은 Open API 문서의 호출 방법 설명을 참고하십시오.
1. 크로스 소스 리소스 설정 생성
크로스 소스 리소스 설정을 생성합니다.
인터페이스 URL
/open/route/createRoute?token=xxx&proejctId=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
요청 Body 파라미터
{
"routeConfig": {
"routeCode":"",//
"routeDesc":"",//크로스 소스 리소스 설정 표시 이름
"remark":"",//설정 안내
"viewResourceRouteType":"event",//리소스 타입[tag,event,user,dim]
"modelTable":"",//데이터 소스
"highOrWideEnum":"",//Long/Wide 테이블[high,wide]
// event
"configEntityIdColumn":""//주체 열 //event&dim
"dataPartTypeEnum":""//데이터 파티션 방식[column_date_part|auto_push_logic][날짜 정보 열|커스텀 푸시다운 로직]
"configDateColumn":""//날짜 정보 열
"configDateFormat":""//날짜 정보 형식
"configBusinessPushLogic":""//푸시다운 로직
"businessEventNameSelectEnum":""//이벤트명 값 가져오기 방식[val|raw_column][고정값|열 값 읽기]
"configEventName":""//이벤트 이름
"configEventNameColumn":""//이벤트 이름 열
"businessEventDateValueSelectEnum":""//이벤트 시간 값 가져오기 방식[raw_column|expression][열 값 읽기|커스텀 SQL]
"configEventTimeColumn":""//이벤트 시간 열
"configEventTimeLogic":""//이벤트 시간 로직
"businessEventZoneOffsetSelectEnum":""//이벤트 시간대 값 가져오기 방식[raw_column|val|expression][열 값 읽기|고정값|커스텀 SQL]
"configEventTimeTZColumn":""//이벤트 시간대 열
"configEventTimeTZ":""//이벤트 시간대
"configEventTimeTZLogic":""//이벤트 시간대 로직
//tag
"configEntityColumn":"",//주체 열
"configEntityName":"",//분석 주체-- 분석 주체 표시 이름 제출
"configTagNameColumn":"",//태그 이름 열
"configTagValueColumn":"",//태그 값 열
"configDateColumn":"",//날짜 정보 열
"tagHistoryVersion":"",//태그 날짜 버전[onlyHistory,onlyLast,historyAndLast]
"configTagDateZoneOffsetVal":"",//태그 날짜 시간대
"configDateFormat":"",//날짜 정보 형식
//user
"configDataUpdateTimeColumn":"", //데이터 업데이트 시간 열
//dim
"configEntityIdColumn":""//주체 열
"configEntityProp":"",//주체 속성
"propType":"",// 주체 속성 타입
"timeUnitFormat":""// 시간 단위
},
"eventMappings": [
{
"routeCodeFromEvent":"",//크로스 소스 리소스 설정 이름
"targetEventName":"",//출력 이벤트 이름
"sourceEventList":"",//원본 이벤트 목록
"targetEventDesc":"",//출력 이벤트 표시 이름
"remark":"",//비고
},
],
"propMappings":[
{
"routeCodeFromProp":""//크로스 소스 리소스 설정 이름
"sourcePropName":""//원본 속성 이름
"targetPropName":""//출력 속성 이름
"targetPropDesc":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetPropTypeEnum":""//출력 속성 타입 [array_string]
"isPublic":true//공통 속성 여부
"propConfigRemark":""//비고
"enumValues":["",]//열거형 파일 마커
}
],
"eventPropMap":[//
{
"routeCodeFromEventPropMap":""//크로스 소스 리소스 설정 이름
"eventName":""//출력 이벤트 이름
"propName":""//출력 속성 이름
}
],
"tagMappings": [
{
"routeCodeFromTag":"",//크로스 소스 리소스 설정 이름
"routeResourceKey":"",//원본 태그 이름
"targetTagName":"",//출력 태그 이름
"targetTagDesc":"",//출력 태그 표시 이름
"sqlExpression":"",//값 가져오기 방식
"routeSelectTypeEnum":"",//[number,string,datetime,bool,array]
"extRemark":"",//비고
"extValueZoneOffset":"",//값 시간대
"enumValues":["",]//열거형 파일 마커
},
],
"userPropMapping": [
{
"routeCodeFromUserProp":""//크로스 소스 리소스 설정 이름
"sourcePropName":""//원본 속성 이름
"targetPropName":""//출력 속성 이름
"targetPropDesc":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetPropTypeEnum":""//출력 속성 타입
"propConfigRemark":""//비고
"enumValues":["",]//열거형 파일 마커
}
],
"dimPropMapping":[ //-> get.eventProps
{
"routeCodeFromDim":""//크로스 소스 리소스 설정 이름
"sourceNameFromDim":""//원본 속성 이름
"targetNameFromDim":""//출력 속성 이름
"targetDescFromDim":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetTypeEnum":""//출력 속성 타입
"remark":""//비고
"enumValues":["",]//열거형 파일 마커
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| routeConfig | - | Object | 예 | 크로스 소스 리소스 설정 정보 |
| routeConfig.routeCode | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름(리소스 타입이 user인 경우 user_entity_route 전달) |
| routeConfig.routeDesc | 크로스 소스 리소스 설정 | String | 아니요 | 크로스 소스 리소스 설정 표시 이름 |
| routeConfig.remark | 크로스 소스 리소스 설정 안내 | String | 아니요 | 설정 안내 |
| routeConfig.viewResourceRouteType | event | String | 예 | 리소스 타입, 값 범위는 [tag, event, user, dim] |
| routeConfig.modelTable | hive.ta.table_2321 | String | 예 | 데이터 소스 |
| routeConfig.highOrWideEnum | wide | String | 예 | Long/Wide 테이블, 값 범위는 [high, wide](이벤트 타입은 Wide 테이블만 지원) |
| (event) | ||||
| routeConfig.configEntityIdColumn | entity_id | String | 아니요 | 주체 열 (routeConfig.viewResourceRouteType=event|dim, 필수) |
| routeConfig.dataPartTypeEnum | column_date_part | String | 예 | 데이터 파티션 방식, 값 범위는 [column_date_part, auto_push_logic] |
| routeConfig.configDateColumn | #event_time | String | 아니요 | 날짜 정보 열 (dataPartTypeEnum=column_date_part, 필수) |
| routeConfig.configDateFormat | yyyy-MM-dd | String | 아니요 | 날짜 정보 형식(dataPartTypeEnum=column_date_part, 필수) |
| routeConfig.configBusinessPushLogic | String | 아니요 | 푸시다운 로직 (dataPartTypeEnum=auto_push_logic인 경우 필수) | |
| routeConfig.businessEventNameSelectEnum | raw_column | String | 예 | 이벤트명 값 가져오기 방식, 값 범위는 [val, raw_column] |
| routeConfig.configEventName | login | String | 아니요 | 이벤트 이름 (businessEventNameSelectEnum=val, 필수) |
| routeConfig.configEventNameColumn | #event_name | String | 아니요 | 이벤트 이름 열 (businessEventNameSelectEnum=raw_column, 필수) |
| routeConfig.businessEventDateValueSelectEnum | raw_column | String | 예 | 이벤트 시간 값 가져오기 방식, 값 범위는 [raw_column, expression] |
| routeConfig.configEventTimeColumn | #event_time | String | 아니요 | 이벤트 시간 열 (businessEventDateValueSelectEnum=raw_column, 필수) |
| routeConfig.configEventTimeLogic | date_parse( "ev_time", '%Y-%m-%d %H:%i:%s' ) | String | 아니요 | 이벤트 시간 로직 (businessEventDateValueSelectEnum=expression, 필수) |
| routeConfig.businessEventZoneOffsetSelectEnum | raw_column | String | 예 | 이벤트 시간대 값 가져오기 방식, 값 범위는 [raw_column, val, expression] |
| routeConfig.configEventTimeTZColumn | #zone_offset | String | 아니요 | 이벤트 시간대 열 (businessEventZoneOffsetSelectEnum=raw_column, 필수) |
| routeConfig.configEventTimeTZ | 8 | String | 아니요 | 이벤트 시간대 (businessEventZoneOffsetSelectEnum=val, 필수) |
| routeConfig.configEventTimeTZLogic | cast( substr( "zone_offset", 3, 9 ) as double ) | String | 아니요 | 이벤트 시간대 로직 (businessEventZoneOffsetSelectEnum=expression, 필수) |
| (tag) | ||||
| routeConfig.configEntityColumn | entity_id | String | 예 | 주체 열 |
| routeConfig.configEntityName | user_login | String | 예 | 분석 주체-- 분석 주체 표시 이름 제출 |
| routeConfig.configTagNameColumn | tag_name_col | String | 예 | 태그 이름 열 |
| routeConfig.configTagValueColumn | tag_value_col | String | 예 | 태그 값 열 |
routeConfig.tagHistoryVersion | onlyLast | String | 예 | 태그 날짜 버전, 값 범위는 [onlyHistory,onlyLast,historyAndLast] |
| routeConfig.configDateColumn | #event_time | String | 아니요 | 날짜 정보 열 (선택 사항) 날짜 파티션이 있는 열을 선택합니다. 날짜 버전이 "최신 버전만"이면 입력할 필요가 없습니다 |
| routeConfig.configTagDateZoneOffsetVal | 8 | String | 아니요 | 태그 날짜 시간대, 날짜 정보 열이 비어 있지 않으면 필수 |
| routeConfig.configDateFormat | yyyy-MM-dd | String | 아니요 | 날짜 정보 형식, 날짜 정보 열이 비어 있지 않으면 필수 |
| (user) | ||||
| routeConfig.configDataUpdateTimeColumn | #update_time | String | 아니요 | 데이터 업데이트 시간 열 |
| (dim) | ||||
| routeConfig.configEntityIdColumn | #id | 아니요 | 주체 열 | |
| routeConfig.configEntityProp | #login | 아니요 | 주체 속성 | |
| routeConfig.propType | userProp | Enum | 아니요 | 주체 속성 타입 [userProp, eventProp] |
| routeConfig.timeUnitFormat | DATE_STR_YEAR | Enum | 아니요 | 시간 단위 [DATE_STR_YEAR, DATE_STR_MONTH, DATE_STR_DAY, DATE_STR_HOUR, DATE_STR_MINUTE, DATE_STR_SECOND, DATE_STR_MILLISECOND] |
| - | ||||
| eventMappings | - | Array | - | |
| eventMappings.routeCodeFromEvent | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventMappings.targetEventName | login | String | 예 | 출력 이벤트 이름 |
| eventMappings.sourceEventList | ( 'event_1' , 'event_2' ) | String | 아니요 | 원본 이벤트 목록 |
| eventMappings.targetEventDesc | 로그인 | String | 아니요 | 출력 이벤트 표시 이름 |
| eventMappings.remark | OSS 로그인 | String | 아니요 | 비고 |
| - | ||||
| propMappings | - | Array | - | |
| propMappings.routeCodeFromProp | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| propMappings.sourcePropName | account | String | 아니요 | 원본 속성 이름 |
| propMappings.targetPropName | account | String | 예 | 출력 속성 이름 |
| propMappings.targetPropDesc | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| propMappings.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| propMappings.targetPropTypeEnum | String | String | 예 | 출력 속성 타입[] |
| propMappings.isPublic | true | Boolean | 아니요 | 공통 속성 여부 |
| propMappings.propConfigRemark | - | String | 아니요 | 비고 |
| propMappings.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
| - | ||||
| eventPropMap | - | Array | - | |
| eventPropMap.routeCodeFromEventPropMap | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventPropMap.eventName | - | String | 예 | 출력 이벤트 이름 |
| eventPropMap.propName | - | String | 예 | 출력 속성 이름 |
| - | ||||
| tagMappings | - | Array | ||
| tagMappings.routeCodeFromTag | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| tagMappings.routeResourceKey | tag_1 | String | 아니요 | 원본 태그 이름 |
| tagMappings.targetTagName | tag_name | String | 예 | 출력 태그 이름 |
| tagMappings.targetTagDesc | tag_desc | String | 아니요 | 출력 태그 표시 이름 |
| tagMappings.sqlExpression | - | String | 아니요 | 값 가져오기 방식 |
| tagMappings.routeSelectTypeEnum | number | String | 예 | 값 범위는 [number,string,datetime,bool,array] |
| tagMappings.extRemark | - | String | 아니요 | 비고 |
| tagMappings.extValueZoneOffset | 8 | String | 아니요 | 값 시간대 |
| tagMappings.enumValues | ["t_1","t_2"] | List<String> | 아니요 | 열거형 파일 마커 |
| - | ||||
| userPropMapping | ||||
| userPropMapping.routeCodeFromUserProp | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| userPropMapping.sourcePropName | account | String | 아니요 | 원본 속성 이름 |
| userPropMapping.targetPropName | account | String | 예 | 출력 속성 이름 |
| userPropMapping.targetPropDesc | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| userPropMapping.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| userPropMapping.targetPropTypeEnum | String | String | 예 | 출력 속성 타입[] |
| userPropMapping.propConfigRemark | - | String | 아니요 | 비고 |
| userPropMapping.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
| - | ||||
| dimPropMapping | ||||
| dimPropMapping.routeCodeFromDim | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| dimPropMapping.sourceNameFormDim | account | String | 아니요 | 원본 속성 이름 |
| dimPropMapping.targetNameFromDim | account | String | 예 | 출력 속성 이름 |
| dimPropMapping.targetDescFromDim | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| dimPropMapping.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| dimPropMapping.targetTypeEnum | String | String | 예 | 출력 속성 타입[] |
| dimPropMapping.remark | - | String | 아니요 | 비고 |
| dimPropMapping.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
2. 크로스 소스 리소스 설정 업데이트
인터페이스 URL
/open/route/updateRoute?token=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
요청 Body 파라미터
{
"routeConfig": {
"routeCode":"",//
"routeDesc":"",//크로스 소스 리소스 설정 표시 이름
"remark":"",//설정 안내
"viewResourceRouteType":"event",//리소스 타입[tag,event,user,dim]
"modelTable":"",//데이터 소스
"highOrWideEnum":"",//Long/Wide 테이블[high,wide]
//event
"configEntityIdColumn":""//주체 열
"dataPartTypeEnum":""//데이터 파티션 방식[column_date_part|auto_push_logic][날짜 정보 열|커스텀 푸시다운 로직]
"configDateColumn":""//날짜 정보 열
"configDateFormat":""//날짜 정보 형식
"configBusinessPushLogic":""//푸시다운 로직
"businessEventNameSelectEnum":""//이벤트명 값 가져오기 방식[val|raw_column][고정값|열 값 읽기]
"configEventName":""//이벤트 이름
"configEventNameColumn":""//이벤트 이름 열
"businessEventDateValueSelectEnum":""//이벤트 시간 값 가져오기 방식[raw_column|expression][열 값 읽기|커스텀 SQL]
"configEventTimeColumn":""//이벤트 시간 열
"configEventTimeLogic":""//이벤트 시간 로직
"businessEventZoneOffsetSelectEnum":""//이벤트 시간대 값 가져오기 방식[raw_column|val|expression][열 값 읽기|고정값|커스텀 SQL]
"configEventTimeTZColumn":""//이벤트 시간대 열
"configEventTimeTZ":""//이벤트 시간대
"configEventTimeTZLogic":""//이벤트 시간대 로직
//tag
"configEntityColumn":"",//주체 열
"configEntityName":"",//분석 주체-- 분석 주체 표시 이름 제출
"configTagNameColumn":"",//태그 이름 열
"configTagValueColumn":"",//태그 값 열
"configDateColumn":"",//날짜 정보 열
"tagHistoryVersion":"",//태그 날짜 버전[onlyHistory,onlyLast,historyAndLast]
"configTagDateZoneOffsetVal":"",//태그 날짜 시간대
"configDateFormat":"",//날짜 정보 형식
//user
"configDataUpdateTimeColumn":"", //데이터 업데이트 시간 열
//dim
"configEntityIdColumn":""//주체 열
"configEntityProp":"",//주체 속성
"propType":"",// 주체 속성 타입
"timeUnitFormat":""// 시간 단위
"configEntityIdColumn":""//주체 열
},
"eventMappings": [
{
"routeCodeFromEvent":"",//크로스 소스 리소스 설정 이름
"targetEventName":"",//출력 이벤트 이름
"sourceEventList":"",//원본 이벤트 목록
"targetEventDesc":"",//출력 이벤트 표시 이름
"remark":"",//비고
},
],
"propMappings":[
{
"routeCodeFromProp":""//크로스 소스 리소스 설정 이름
"sourcePropName":""//원본 속성 이름
"targetPropName":""//출력 속성 이름
"targetPropDesc":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetPropTypeEnum":""//출력 속성 타입
"isPublic":true//공통 속성 여부
"propConfigRemark":""//비고
}
],
"eventPropMap":[//
{
"routeCodeFromEventPropMap":""//크로스 소스 리소스 설정 이름
"eventName":""//출력 이벤트 이름
"propName":""//출력 속성 이름
}
],
"tagMappings": [
{
"routeCodeFromTag":"",//크로스 소스 리소스 설정 이름
"routeResourceKey":"",//원본 태그 이름
"targetTagName":"",//출력 태그 이름
"targetTagDesc":"",//출력 태그 표시 이름
"sqlExpression":"",//값 가져오기 방식
"routeSelectTypeEnum":"",//[number,string,datetime,bool,array]
"extRemark":"",//비고
"extValueZoneOffset":"",//값 시간대
},
],
"userPropMapping": [
{
"routeCodeFromUserProp":""//크로스 소스 리소스 설정 이름
"sourcePropName":""//원본 속성 이름
"targetPropName":""//출력 속성 이름
"targetPropDesc":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetPropTypeEnum":""//출력 속성 타입
"propConfigRemark":""//비고
}
],
"dimPropMapping":[ //-> get.eventProps
{
"routeCodeFromDim":""//크로스 소스 리소스 설정 이름
"sourceNameFormDim":""//원본 속성 이름
"targetNameFromDim":""//출력 속성 이름
"targetDescFromDim":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetTypeEnum":""//출력 속성 타입
"remark":""//비고
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| routeConfig | - | Object | 예 | 크로스 소스 리소스 설정 정보 |
| routeConfig.routeCode | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| routeConfig.routeDesc | 크로스 소스 리소스 설정 | String | 아니요 | 크로스 소스 리소스 설정 표시 이름 |
| routeConfig.remark | 크로스 소스 리소스 설정 안내 | String | 아니요 | 설정 안내 |
| routeConfig.viewResourceRouteType | event | String | 예 | 리소스 타입, 값 범위는 [tag, event, user, dim] |
| routeConfig.modelTable | hive.ta.table_2321 | String | 예 | 데이터 소스 |
| routeConfig.highOrWideEnum | wide | String | 예 | Long/Wide 테이블, 값 범위는 [high, wide](이벤트 타입은 Wide 테이블만 지원) |
| (event) | ||||
| routeConfig.configEntityIdColumn | entity_id | String | 아니요 | 주체 열 |
| routeConfig.dataPartTypeEnum | column_date_part | String | 예 | 데이터 파티션 방식, 값 범위는 [column_date_part, auto_push_logic] |
| routeConfig.configDateColumn | #event_time | String | 아니요 | 날짜 정보 열 (dataPartTypeEnum=column_date_part, 필수) |
| routeConfig.configDateFormat | yyyy-MM-dd | String | 아니요 | 날짜 정보 형식(dataPartTypeEnum=column_date_part, 필수) |
| routeConfig.configBusinessPushLogic | String | 아니요 | 푸시다운 로직 (dataPartTypeEnum=auto_push_logic인 경우 필수) | |
| routeConfig.businessEventNameSelectEnum | raw_column | String | 예 | 이벤트명 값 가져오기 방식, 값 범위는 [val, raw_column] |
| routeConfig.configEventName | login | String | 아니요 | 이벤트 이름 (businessEventNameSelectEnum=val, 필수) |
| routeConfig.configEventNameColumn | #event_name | String | 아니요 | 이벤트 이름 열 (businessEventNameSelectEnum=raw_column, 필수) |
| routeConfig.businessEventDateValueSelectEnum | raw_column | String | 예 | 이벤트 시간 값 가져오기 방식, 값 범위는 [raw_column, expression] |
| routeConfig.configEventTimeColumn | #event_time | String | 아니요 | 이벤트 시간 열 (businessEventDateValueSelectEnum=raw_column, 필수) |
| routeConfig.configEventTimeLogic | date_parse( "ev_time", '%Y-%m-%d %H:%i:%s' ) | String | 아니요 | 이벤트 시간 로직 (businessEventDateValueSelectEnum=expression, 필수) |
| routeConfig.businessEventZoneOffsetSelectEnum | raw_column | String | 예 | 이벤트 시간대 값 가져오기 방식, 값 범위는 [raw_column, val, expression] |
| routeConfig.configEventTimeTZColumn | #zone_offset | String | 아니요 | 이벤트 시간대 열 (businessEventZoneOffsetSelectEnum=raw_column, 필수) |
| routeConfig.configEventTimeTZ | 8 | String | 아니요 | 이벤트 시간대 (businessEventZoneOffsetSelectEnum=val, 필수) |
| routeConfig.configEventTimeTZLogic | cast( substr( "zone_offset", 3, 9 ) as double ) | String | 아니요 | 이벤트 시간대 로직 (businessEventZoneOffsetSelectEnum=expression, 필수) |
| (tag) | ||||
| routeConfig.configEntityColumn | entity_id | String | 예 | 주체 열 |
| routeConfig.configEntityName | user_login | String | 예 | 분석 주체-- 분석 주체 표시 이름 제출 |
| routeConfig.configTagNameColumn | tag_name_col | String | 예 | 태그 이름 열 |
| routeConfig.configTagValueColumn | tag_value_col | String | 예 | 태그 값 열 |
| routeConfig.tagHistoryVersion | onlyLast | String | 예 | 태그 날짜 버전, 값 범위는 [onlyHistory,onlyLast,historyAndLast] |
| routeConfig.configDateColumn | #event_time | String | 아니요 | 날짜 정보 열 (선택 사항) 날짜 파티션이 있는 열을 선택합니다. 날짜 버전이 "최신 버전만"이면 입력할 필요가 없습니다 |
| routeConfig.configTagDateZoneOffsetVal | 8 | String | 아니요 | 태그 날짜 시간대, 날짜 정보 열이 비어 있지 않으면 필수 |
| routeConfig.configDateFormat | yyyy-MM-dd | String | 아니요 | 날짜 정보 형식, 날짜 정보 열이 비어 있지 않으면 필수 |
| (user) | ||||
| routeConfig.configDataUpdateTimeColumn | #update_time | String | 아니요 | 데이터 업데이트 시간 열 |
| (dim) | ||||
| routeConfig.configEntityIdColumn | #id | 아니요 | 주체 열 | |
| routeConfig.configEntityProp | #login | 아니요 | 주체 속성 | |
| routeConfig.propType | userProp | Enum | 아니요 | 주체 속성 타입 [userProp, eventProp] |
routeConfig.timeUnitFormat | DATE_STR_YEAR | Enum | 아니요 | 시간 단위 [DATE_STR_YEAR, DATE_STR_MONTH, DATE_STR_DAY, DATE_STR_HOUR, DATE_STR_MINUTE, DATE_STR_SECOND, DATE_STR_MILLISECOND] |
| - | ||||
| eventMappings | - | Array | - | |
| eventMappings.routeCodeFromEvent | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventMappings.targetEventName | login | String | 예 | 출력 이벤트 이름 |
| eventMappings.sourceEventList | ( 'event_1' , 'event_2' ) | String | 아니요 | 원본 이벤트 목록 |
| eventMappings.targetEventDesc | 로그인 | String | 아니요 | 출력 이벤트 표시 이름 |
| eventMappings.remark | OSS 로그인 | String | 아니요 | 비고 |
| - | ||||
| propMappings | - | Array | - | |
| propMappings.routeCodeFromProp | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| propMappings.sourcePropName | account | String | 아니요 | 원본 속성 이름 |
| propMappings.targetPropName | account | String | 예 | 출력 속성 이름 |
| propMappings.targetPropDesc | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| propMappings.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| propMappings.targetPropTypeEnum | String | String | 예 | 출력 속성 타입 |
| propMappings.isPublic | true | Boolean | 아니요 | 공통 속성 여부 |
| propMappings.propConfigRemark | - | String | 아니요 | 비고 |
| - | ||||
| eventPropMap | - | Array | - | |
| eventPropMap.routeCodeFromEventPropMap | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventPropMap.eventName | - | String | 예 | 출력 이벤트 이름 |
| eventPropMap.propName | - | String | 예 | 출력 속성 이름 |
| - | ||||
| tagMappings | - | Array | ||
| tagMappings.routeCodeFromTag | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| tagMappings.routeResourceKey | tag_1 | String | 아니요 | 원본 태그 이름 |
| tagMappings.targetTagName | tag_name | String | 예 | 출력 태그 이름 |
| tagMappings.targetTagDesc | tag_desc | String | 아니요 | 출력 태그 표시 이름 |
| tagMappings.sqlExpression | - | String | 아니요 | 값 가져오기 방식 |
| tagMappings.routeSelectTypeEnum | number | String | 예 | 값 범위는 [number,string,datetime,bool,array] |
| tagMappings.extRemark | - | String | 아니요 | 비고 |
| tagMappings.extValueZoneOffset | 8 | String | 아니요 | 값 시간대 |
| - | ||||
| userPropMapping | ||||
| userPropMapping.routeCodeFromUserProp | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| userPropMapping.sourcePropName | account | String | 아니요 | 원본 속성 이름 |
| userPropMapping.targetPropName | account | String | 예 | 출력 속성 이름 |
| userPropMapping.targetPropDesc | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| userPropMapping.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| userPropMapping.targetPropTypeEnum | String | String | 예 | 출력 속성 타입[] |
| userPropMapping.propConfigRemark | - | String | 아니요 | 비고 |
| userPropMapping.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
| - | ||||
| dimPropMapping | ||||
| dimPropMapping.routeCodeFromDim | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| dimPropMapping.sourceNameFormDim | account | String | 아니요 | 원본 속성 이름 |
| dimPropMapping.targetNameFromDim | account | String | 예 | 출력 속성 이름 |
| dimPropMapping.targetDescFromDim | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| dimPropMapping.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| dimPropMapping.targetTypeEnum | String | String | 예 | 출력 속성 타입[] |
| dimPropMapping.remark | - | String | 아니요 | 비고 |
| dimPropMapping.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
3. 리소스 열거형 값 업데이트
인터페이스 URL
/open/route/updateAssetEnumValues?token=xxx&projectId=xxx
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| routeId | 12 | Long | 예 | 크로스 소스 설정 ID |
| resourceType | TAG | enum | 예 | 출력 리소스 타입[TAG, EVENT_PROP, U_PROP, DIM_PROP] |
| resourceCode | tag_1 | String | 예 | 출력 리소스 이름 |
요청 Body 파라미터
["t_1","t_2"]
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
4. 리소스 스캔-리소스 스캔 작업 제출
인터페이스 URL
/open/route/searchTask/submit
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| isEvent | Boolean | 아니요 | 크로스 소스 설정 ID, 이벤트 타입 여부(기본값은 false). 이벤트만 스캔할 때는 isEvent=true를 입력해야 합니다 |
요청 Body 파라미터
{
"routeConfig": {
"viewResourceRouteType":"event",//리소스 타입[tag,event,user,dim]
"modelTable":"",//데이터 소스, ==dataSource
"highOrWideEnum":"",//Long/Wide 테이블[high,wide]
"configTagNameColumn":"",//태그 이름 열
"configTagValueColumn":"",//태그 값 열
"businessEventNameSelectEnum":""//이벤트명 값 가져오기 방식[raw_column]
"configEventNameColumn":""//이벤트 이름 열
},
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| viewResourceRouteType | tag | Enum | 예 | 리소스 타입 [tag, event, user, dim] |
| modelTable | hive.ta.v_event_1 | String | 예 | 데이터 소스 |
| highOrWideEnum | high | Enum | 예 | Long/Wide 테이블[high,wide](tag 타입만 high 지원) |
| configTagNameColumn | tag_name_column | String | 아니요 | 태그 이름 열 (viewResourceRouteType=tag인 경우 필수) |
| configTagValueColumn | tag_value_column | String | 아니요 | 태그 값 열(viewResourceRouteType=tag인 경우 필수) |
| businessEventNameSelectEnum | raw_column | Enum | 아니요 | 이벤트명 값 가져오기 방식[raw_column](viewResourceRouteType=event인 경우 필수, 항상 raw_column 전달) |
| configEventNameColumn | #event_name | String | 아니요 | 이벤트 이름 열(viewResourceRouteType=event, isEvent=true인 경우 필수) |
| configEntityIdColumn | #user_id | String | 아니요 | 주체 열(viewResourceRouteType=dim인 경우 필수) |
성공 응답 예시
{
"data": {
"taskId":"***"
},
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | - | Object | |
| data.taskId | String | 스캔 작업 고유 식별자 |
5. 리소스 스캔-리소스 스캔 상태 확인
인터페이스 URL
/open/route/searchTask/check
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| taskId | xxx | String | 예 | 스캔 작업 고유 식별자 |
성공 응답 예시
{
"data": {
"state":"error" //running, success, error
"msg":"실패 원인" // it is existing when status == error
},
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | - | Object | |
| data.state | success | Enum | 스캔 상태[running, success, error] |
| data.msg | - | String | 실패 원인 |
6. 리소스 스캔-스캔 결과 가져오기
인터페이스 URL
/open/route/searchTask/result
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| taskId | xxx | String | 예 | 스캔 작업 고유 식별자 |
성공 응답 예시
//태그
{
//limit 500
"data": [
{
"sourceName":"",//원본 태그 이름
"sourceSelectType":"",//원본 태그 타입
"targetName":"",//대상 리소스 이름
"targetSelectType":""//대상 리소스 타입
}
],
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
//이벤트 속성
{
//limit 500
"data": [
{
"sourceName":"",//원본 이벤트 속성 이름
"sourceSelectType":"",//원본 이벤트 속성 타입
"targetName":"",//대상 리소스 이름
"targetSelectType":""//대상 리소스 타입
}
],
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
//이벤트
{
//limit 500
"data": ["","",""],
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
태그&이벤트 속성
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | - | Object | |
| data.sourceName | tag_1 | String | 원본 태그 이름 |
| data.sourceSelectType | String | String | 원본 태그 타입 |
| data.targetName | tag_1 | String | 대상 리소스 이름 |
| data.targetSelectType | String | String | 대상 리소스 타입 |
이벤트
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| data | - | Array | 이벤트 이름 |
7. 크로스 소스 설정 상세 가져오기
인터페이스 URL
/open/route/get
요청 방식
GET
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| id | 10 | Integer | 예 | 설정 id |
요청 Body 파라미터
{
"data": {
"assetsList": [
"platformoutobjplatformoutobjplatformoutobjplatformoutobjplatformoutobjplatfor"
],
"checkStatus": "check_fail",//[un_checked, checking, check_success, check_fail]
"configDesc": {
"tag_value_column": "tag_value_tm",//태그 값 열
"business_part_date_type": "과거 버전만",//태그 날짜 버전
"entity_column": "#varchar_id",//분석 주체 열
"tag_zone_offset": "8",//태그 날짜 시간대
"tag_entity_name": "유저",//분석 주체
"part_date_type": "bigint",//
"part_date_format": "yyyyMMdd",
"tag_name_column": "cluster_name",
"part_date_column": "$tag_date",
"business_data_part_type": "단일 열 날짜 파티션"
"business_event_date_value_select": "expression"
"business_event_name_select": "raw_column"
"business_event_zone_offset_select": "raw_column"
"event_name_column": "event_name_rename"
"event_time_column": "date_parse(\"etime_var1\", '%Y-%m-%d %H:%i:%s.%f')"
"event_time_tz_column": "#zone_offset_raw"
"event_u_entity_column": "cross_aid",
"configDataUpdateTimeColumn": "",
"column_table_type": "eventProp",
"timestamp_join_format": "DATE_STR_YEAR",
"join_key_column": "#time",
"prop_name_column": "#luky_day"
},
"eventResourceMap": {},
"id": 24101,
"modelTable": "hive.ws_lingzhi_product.cross_history_tag2",
"modelTableDesc": "",
"remark": "크로스 소스 유저 태그 텍스트 tag_20241219_2",
"resourceType": "tag",
"routeCode": "platformoutobjplatformoutobjplatformoutobjplatformoutobjplatformoutobjplatfor",
"routeDesc": "platformoutobjplatformoutobjplatformoutobjplatformoutobjplatformoutobjplatfor",
"wideTable": false,
"msgMap":[],
"assetsResourceList": [
{
"checkStatusEnum": "check_fail",//[un_checked, checking, check_success, check_fail]
"checkStatusMsg": "주체 열 타입이 분석 주체 타입과 일치하지 않습니다",
"extConfig": {
"remark": "표시 이름이 없는 태그",
"valueZoneOffset": "8.0"
},
"id": 457963,
"routeResourceKey": "tag_value_tm",
"sourceTagType": "timestamp",
"sqlExpression":"",
"targetSelectType": "datetime",
"targetTagDesc": "platformoutobjplatformoutobjplatformoutobjplatformoutobjplatformoutobjplatfor",
"targetTagName": "platformoutobjplatformoutobjplatformoutobjplatformoutobjplatformoutobjplatfor"
"enums":[""], // 열거형 값 예시 limit 10
"lastUpdateEnumTime":"", // 마지막 업데이트 시간
"enumSize" : 10, // 열거형 개수,
}
],
"eventResourceMap": {
"eventPropMappings": [
{
"targetEventName": "activity_attend",
"targetEventPropName": "reward_amount"
}
],
"eventProps": [
{
"checkStatusEnum": "check_success",
"checkStatusMsg": "",
"extConfig": {
"isPublic": 1,
"remark":""
},
"routeResourceKey": "#account_id",
"sourceEventPropType": "varchar",
"sqlExpression":"",
"targetEventPropDesc": "",
"targetEventPropName": "account_id",
"targetSelectType": "string"
//add props
"enums":[""], // 열거형 값 예시 limit 10
"lastUpdateEnumTime":"", // 마지막 업데이트 시간
"enumSize" : 10, // 열거형 개수,
}
],
"events": [
{
"checkStatusEnum": "check_success",
"checkStatusMsg": "",
"sourceUserPropType": "timestamp",
"targetEventDesc": "크로스 소스-이벤트 참여",
"targetEventList": "",
"targetEventName": "activity_attend"
}
]
},
"userResourceList":[
{
"checkStatusEnum": "check_success"
"checkStatusMsg": ""
"routeResourceKey": "cross_aid"
"sqlExpression": "",
"sourceDimPropType":"",
"targetSelectType": "string"
"targetUserPropDesc": "계정 ID_cross"
"targetUserPropName": "cross_aid"
}
],
"dimResourceMap": [
{
"checkStatusEnum": "check_success",
"checkStatusMsg": "",
"extConfig": {
"remark": ""
},
"routeResourceKey": "time",
"sqlExpression":"",
"targetSelectType": "datetime",
"targetUserPropDesc": "",
"targetUserPropName": "luky_day@time"
},
]
},
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| id | 24101 | Integer | 설정 ID |
| modelTable | hive.ta.tag2 | String | 데이터 소스 |
| modelTableDesc | tag2_desc | String | 데이터 소스 설명 |
| remark | remark | String | 비고 |
| resourceType | tag | String | 리소스 타입[tag, event] |
| routeCode | route_code | String | 크로스 소스 리소스 설정 이름 |
| routeDesc | route_dec | String | 크로스 소스 리소스 설정 설명 |
| wideTable | true | boolean | Wide 테이블 여부 |
| msgMap | [] | List<String> | 설정 검사 오류 목록 |
| assetsList | [] | List<String> | 리소스 이름 목록 |
| checkStatus | check_success | Enum | 검사 상태[un_checked, checking, check_success, check_fail] |
| configDesc | - | Object | 설정 상세 |
| configDesc.part_date_type | bigint | String | 날짜 파티션 타입 |
| configDesc.part_date_format | yyyyMMdd | String | 날짜 파티션 형식 |
| configDesc.part_date_column | $part_date | String | 날짜 파티션 열 |
| resourceType=tag | |||
| configDesc.tag_value_column | tag_value_tm | String | 태그 값 열 |
| configDesc.business_part_date_type | 과거 버전만 | String | 태그 날짜 버전 |
| configDesc.entity_column | #varchar_id | String | 분석 주체 열(resourceType=tag) |
| configDesc.tag_zone_offset | 8 | String | 태그 날짜 시간대(resourceType=tag) |
| configDesc.tag_entity_name | 유저 | String | 분석 주체(resourceType=tag) |
| configDesc.tag_name_column | cluster_name | String | 태그 날짜 열(resourceType=tag) |
| resourceType=event | |||
| configDesc.business_data_part_type | column_date_part | String | 데이터 파티션 방식 |
| configDesc.business_event_date_value_select | expression | String | 이벤트 시간 값 가져오기 방식 |
| configDesc.business_event_name_select | raw_column | String | 이벤트명 값 가져오기 방식 |
| configDesc.business_event_zone_offset_select | raw_column | String | 이벤트 시간대 값 가져오기 방식 |
| configDesc.event_name_column | event_name_rename | String | 이벤트명 열 |
| configDesc.event_time_column | - | String | 이벤트 시간 열 |
| configDesc.event_time_tz_column | - | String | 이벤트 시간대 열 |
| configDesc.event_u_entity_column | - | String | 이벤트 유저 엔티티 ID 열 |
| configDesc.event_date_column | - | String | 이벤트 날짜 열 |
| configDesc.event_date_type | - | String | 이벤트 날짜 데이터 타입 |
| configDesc.event_date_format | - | String | 이벤트 날짜 형식 |
| resourceType=user | |||
| configDesc.configDataUpdateTimeColumn | - | String | 데이터 업데이트 시간 열 |
| resourceType=dim | |||
| configDesc.column_table_type | - | String | 주체 속성 타입 |
| configDesc.timestamp_join_format | - | String | 시간 단위 |
| configDesc.join_key_column | - | String | 주체 열 |
| configDesc.prop_name_column | - | String | 주체 속성 |
| assetsResourceList | - | Array | 태그 리소스 목록 |
| assetsResourceList.id | 457963 | Integer | 태그 매핑 id |
| assetsResourceList.routeResourceKey | tag_name | String | 원본 태그 이름 |
| assetsResourceList.sourceTagType | String | String | 원본 태그 타입 |
| assetsResourceList.sqlExpression | - | String | 값 가져오기 방식 |
| assetsResourceList.targetSelectType | Number | String | 출력 태그 타입 |
| assetsResourceList.targetTagDesc | 태그 | String | 출력 태그 표시 이름 |
| assetsResourceList.targetTagName | tag_a | String | 출력 태그 이름 |
| assetsResourceList.enums | [1,2,3] | Array | 열거형 값 예시 |
| assetsResourceList.lastUpdateEnumTime | 2024-01-19 | String | 열거형 값 마지막 업데이트 시간 |
| assetsResourceList.enumSize | Integer | 열거형 개수 | |
| assetsResourceList.checkStatusEnum | check_fail | Enum | 검사 상태[un_checked, checking, check_success, check_fail] |
| assetsResourceList.checkStatusMsg | 주체 열 타입이 분석 주체 타입과 일치하지 않습니다 | String | 오류 정보 |
| assetsResourceList.extConfig | - | Object | 확장 정보 |
| assetsResourceList.extConfig.remark | - | String | 비고 |
| assetsResourceList.extConfig.valueZoneOffset | 8 | String | 태그 시간대 |
| eventResourceMap | - | Object | 이벤트 리소스 목록 |
| eventResourceMap.eventPropMappings | - | Array | 이벤트 속성 관계 |
| eventResourceMap.eventPropMappings.targetEventName | login | String | 출력 이벤트 이름 |
| eventResourceMap.eventPropMappings.targetEventPropName | #account_id | String | 출력 속성 이름 |
| eventResourceMap.eventProps | - | Array | 이벤트 속성 목록 |
| eventResourceMap.eventProps.routeResourceKey | #account_id | String | 원본 속성 이름 |
| eventResourceMap.eventProps.sourceEventPropType | varchar | String | 원본 속성 타입 |
| eventResourceMap.eventProps.sqlExpression | - | String | 값 가져오기 방식 |
| eventResourceMap.eventProps.targetEventPropName | account_id | String | 출력 속성 이름 |
| eventResourceMap.eventProps.targetEventPropDesc | - | String | 출력 속성 표시 이름 |
| eventResourceMap.eventProps.targetSelectType | string | String | 출력 속성 타입 |
| eventResourceMap.eventProps.checkStatusEnum | check_success | Enum | 검사 상태 |
| eventResourceMap.eventProps.checkStatusMsg | - | String | 오류 정보 |
| eventResourceMap.eventProps.enums | ["1","2"] | Array | 열거형 값 예시 |
| eventResourceMap.eventProps.lastUpdateEnumTime | 2023-01-12 | String | 마지막 업데이트 시간 |
| eventResourceMap.eventProps.enumSize | 1203 | Integer | 열거형 개수 |
| eventResourceMap.eventProps.extConfig | - | Object | 확장 정보 |
| eventResourceMap.eventProps.extConfig.isPublic | 1 | Integer | 공통 속성 여부(1: 예, 0: 아니요) |
| eventResourceMap.eventProps.extConfig.remark | - | String | 비고 |
| eventResourceMap.events | - | Array | 이벤트 목록 |
| eventResourceMap.events.targetEventDesc | 크로스 소스-이벤트 참여 | String | 출력 이벤트 표시 이름 |
| eventResourceMap.events.targetEventList | - | String | 출력 이벤트 목록 |
| eventResourceMap.events.targetEventName | activity_attend | String | 출력 이벤트 이름 |
| eventResourceMap.events.checkStatusEnum | check_success | Enum | 검사 상태 |
| eventResourceMap.events.checkStatusMsg | - | String | 오류 정보 |
| userResourceList | - | Array | 엔티티 리소스 목록 |
| userResourceList.checkStatusEnum | check_success | Enum | 검사 상태 |
| userResourceList.checkStatusMsg | - | String | 오류 정보 |
| userResourceList.routeResourceKey | #account_id | String | 원본 속성 이름 |
| eventResourceMap.eventProps.sqlExpression | - | String | 값 가져오기 방식 |
| userResourceList.sourceUserPropType | string | String | 원본 속성 타입 |
| userResourceList.targetSelectType | string | String | 출력 속성 타입 |
| userResourceList.targetUserPropDesc | - | String | 출력 속성 표시 이름 |
| userResourceList.targetUserPropName | account_id | String | 출력 속성 이름 |
| dimResourceMap | - | Array | 차원 리소스 목록 |
| dimResourceMap.checkStatusEnum | check_success | Enum | 검사 상태 |
| dimResourceMap.checkStatusMsg | - | String | 오류 정보 |
| dimResourceMap.extConfig.remark | - | String | 비고 |
| dimResourceMap.routeResourceKey | #account_id | String | 원본 속성 이름 |
| dimResourceMap.sqlExpression | - | String | 값 가져오기 방식 |
| dimResourceMap.sourceDimPropType | - | String | 원본 속성 타입 |
| dimResourceMap.targetSelectType | string | String | 출력 속성 타입 |
| dimResourceMap.targetUserPropDesc | - | String | 출력 속성 표시 이름 |
| dimResourceMap.targetUserPropName | account_id | String | 출력 속성 이름 |
8. 라우팅 설정 일괄 검사
인터페이스 URL
/open/route/checkBatch
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
요청 Body 파라미터
//크로스 소스 설정 id 목록
[1, 2]
성공 응답 예시
{
"return_code": 0,
"return_message": "success"
}
9. 설정에 리소스 증분 추가
인터페이스 URL
/open/route/uploadAsset
요청 방식
POST
Content-Type
application/json
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
요청 Body 파라미터
{
// 라우팅 코드, 업데이트할 라우팅 설정을 식별하는 데 사용
"routeCode": "example_route_code",
// 태그 매핑 목록
"tagMappings": [
{
// 크로스 소스 리소스 설정 이름
"routeCodeFromTag": "example_route_code",
// 원본 태그 이름
"routeResourceKey": "original_tag_name",
// 출력 태그 이름
"targetTagName": "output_tag_name",
// 출력 태그 표시 이름
"targetTagDesc": "출력 태그 표시 이름",
// 값 가져오기 방식(SQL 표현식)
"sqlExpression": "SELECT tag_value FROM tag_table WHERE condition = ?",
// 출력 태그 타입 [number,string,datetime,bool,array]
"routeSelectTypeEnum": "string",
// 비고
"extRemark": "태그 매핑 비고 정보",
// 값 시간대
"extValueZoneOffset": "+08:00",
// 열거형 파일 마커
"enumKey": "tag_enum_key",
// 열거형 값 목록(OpenAPI 인터페이스로 직접 전달)
"enumValues": ["value1", "value2", "value3"]
}
],
// 이벤트 매핑 목록
"eventMappings": [
{
// 크로스 소스 리소스 설정 이름
"routeCodeFromEvent": "example_route_code",
// 출력 이벤트 이름
"targetEventName": "output_event_name",
// 원본 이벤트 목록
"sourceEventList": "original_event_list",
// 출력 이벤트 표시 이름
"targetEventDesc": "출력 이벤트 표시 이름",
// 비고
"remark": "이벤트 매핑 비고 정보"
}
],
// 속성 매핑 목록
"propMappings": [
{
// 크로스 소스 리소스 설정 이름
"routeCodeFromProp": "example_route_code",
// 원본 속성 이름
"sourcePropName": "original_prop_name",
// 출력 속성 이름
"targetPropName": "output_prop_name",
// 출력 속성 표시 이름
"targetPropDesc": "출력 속성 표시 이름",
// 값 가져오기 방식(SQL 표현식)
"sqlExpressionFromProp": "property_expression",
// 출력 속성 타입
"targetPropTypeEnum": "string",
// 공통 속성 여부
"isPublic": true,
// 비고
"propConfigRemark": "속성 매핑 비고 정보",
// 열거형 파일 마커
"enumKey": "prop_enum_key",
// 열거형 값 목록(OpenAPI 인터페이스로 직접 전달)
"enumValues": ["prop_value1", "prop_value2"]
}
],
// 이벤트 속성 매핑 목록
"eventPropMap": [
{
// 크로스 소스 리소스 설정 이름
"routeCodeFromEventPropMap": "example_route_code",
// 출력 이벤트 이름
"eventName": "output_event_name",
// 출력 속성 이름
"propName": "output_prop_name"
}
],
"userPropMappings":[
{
"routeCodeFromUserProp":""//크로스 소스 리소스 설정 이름
"sourcePropName":""//원본 속성 이름
"targetPropName":""//출력 속성 이름
"targetPropDesc":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetPropTypeEnum":""//출력 속성 타입
"propConfigRemark":""//비고
"enumValues":["",]//열거형 파일 마커
}
],
"dimPropMappings":[ //-> get.eventProps
{
"routeCodeFromDim":""//크로스 소스 리소스 설정 이름
"sourceNameFromDim":""//원본 속성 이름
"targetNameFromDim":""//출력 속성 이름
"targetDescFromDim":""//출력 속성 표시 이름
"sqlExpressionFromProp":""//값 가져오기 방식
"targetTypeEnum":""//출력 속성 타입
"remark":""//비고
"enumValues":["",]//열거형 파일 마커
}
]
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
| routeCode | example_route_code | String | 예 | 라우팅 코드, 업데이트할 라우팅 설정을 식별하는 데 사용 |
| tagMappings | - | Array | 예 | 태그 매핑 목록 |
| tagMappings.routeCodeFromTag | example_route_code | String | 예 | 크로스 소스 리소스 설정 이름 |
| tagMappings.routeResourceKey | original_tag_name | String | 아니요 | 원본 태그 이름 |
| tagMappings.targetTagName | output_tag_name | String | 예 | 출력 태그 이름 |
| tagMappings.targetTagDesc | 출력 태그 표시 이름 | String | 아니요 | 출력 태그 표시 이름 |
| tagMappings.sqlExpression | SELECT tag_value FROM tag_table WHERE condition = ? | String | 아니요 | 값 가져오기 방식(SQL 표현식) |
| tagMappings.routeSelectTypeEnum | string | String | 예 | 출력 태그 타입, 값 범위는 [number,string,datetime,bool,array] |
| tagMappings.extRemark | 태그 매핑 비고 정보 | String | 아니요 | 비고 |
| tagMappings.extValueZoneOffset | 8 | String | 아니요 | 값 시간대 |
| tagMappings.enumKey | tag_enum_key | String | 아니요 | 열거형 파일 마커 |
| tagMappings.enumValues | ["value1", "value2", "value3"] | List<String> | 아니요 | 열거형 값 목록(OpenAPI 인터페이스로 직접 전달) |
| eventMappings | - | Array | 예 | 이벤트 매핑 목록 |
| eventMappings.routeCodeFromEvent | example_route_code | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventMappings.targetEventName | output_event_name | String | 예 | 출력 이벤트 이름 |
| eventMappings.sourceEventList | original_event_list | String | 아니요 | 원본 이벤트 목록 |
| eventMappings.targetEventDesc | 출력 이벤트 표시 이름 | String | 아니요 | 출력 이벤트 표시 이름 |
| eventMappings.remark | 이벤트 매핑 비고 정보 | String | 아니요 | 비고 |
| propMappings | - | Array | 예 | 속성 매핑 목록 |
| propMappings.routeCodeFromProp | example_route_code | String | 예 | 크로스 소스 리소스 설정 이름 |
| propMappings.sourcePropName | original_prop_name | String | 아니요 | 원본 속성 이름 |
| propMappings.targetPropName | output_prop_name | String | 예 | 출력 속성 이름 |
| propMappings.targetPropDesc | 출력 속성 표시 이름 | String | 아니요 | 출력 속성 표시 이름 |
| propMappings.sqlExpressionFromProp | property_expression | String | 아니요 | 값 가져오기 방식(SQL 표현식) |
| propMappings.targetPropTypeEnum | string | String | 예 | 출력 속성 타입 |
| propMappings.isPublic | true | Boolean | 아니요 | 공통 속성 여부 |
| propMappings.propConfigRemark | 속성 매핑 비고 정보 | String | 아니요 | 비고 |
| propMappings.enumKey | prop_enum_key | String | 아니요 | 열거형 파일 마커 |
| propMappings.enumValues | ["prop_value1", "prop_value2"] | List<String> | 아니요 | 열거형 값 목록(OpenAPI 인터페이스로 직접 전달) |
| eventPropMap | - | Array | 예 | 이벤트 속성 매핑 목록 |
| eventPropMap.routeCodeFromEventPropMap | example_route_code | String | 예 | 크로스 소스 리소스 설정 이름 |
| eventPropMap.eventName | output_event_name | String | 예 | 출력 이벤트 이름 |
| eventPropMap.propName | output_prop_name | String | 예 | 출력 속성 이름 |
| userPropMappings | ||||
| userPropMappings.routeCodeFromUserProp | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| userPropMappings.sourcePropName | account | String | 아니요 | 원본 속성 이름 |
| userPropMappings.targetPropName | account | String | 예 | 출력 속성 이름 |
| userPropMappings.targetPropDesc | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| userPropMappings.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| userPropMappings.targetPropTypeEnum | String | String | 예 | 출력 속성 타입[] |
| userPropMappings.propConfigRemark | - | String | 아니요 | 비고 |
| userPropMappings.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
| dimPropMappings | ||||
| dimPropMappings.routeCodeFromDim | route_v1 | String | 예 | 크로스 소스 리소스 설정 이름 |
| dimPropMappings.sourceNameFromDim | account | String | 아니요 | 원본 속성 이름 |
| dimPropMappings.targetNameFromDim | account | String | 예 | 출력 속성 이름 |
| dimPropMappings.targetDescFromDim | 계정 | String | 아니요 | 출력 속성 표시 이름 |
| dimPropMappings.sqlExpressionFromProp | - | String | 아니요 | 값 가져오기 방식 |
| dimPropMappings.targetTypeEnum | String | String | 예 | 출력 속성 타입[] |
| dimPropMappings.remark | - | String | 아니요 | 비고 |
| dimPropMappings.enumValues | ["user1","user2"] | List<String> | 아니요 | 열거형 값 |
성공 응답 예시
{
"data": {
"state": "success",
"msg": []
},
"return_code": 0,
"return_message": "success",
"showStackMessage": false
}
10. 열거형 값 파일 다운로드
설명: 상위 속성과 하위 속성을 함께 추가할 수 있으며, 하위 속성이나 상위 속성만 단독으로 추가할 수는 없습니다
PATH:/open/route/downloadEnumFile
Method: GET
requestParam:
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 102 | Integer | 예 | 프로젝트 ID |
| routeCode | example_route_code | String | 예 | 라우팅 코드, 업데이트할 라우팅 설정을 식별하는 데 사용 |
resourceType | TAG | enum | 예 | 출력 리소스 타입[TAG, EVENT_PROP, U_PROP, DIM_PROP] |
| resourceCode | tag_1 | String | 예 | 출력 리소스 이름 |
resopnse:file

