모델 조회 API
이 문서에서 설명하는 내용은 AE의 고급 기능으로, 기술적인 세부 사항이 많아 관련 기능을 사용해 본 경험이 있는 사용자를 대상으로 합니다. 문서 내용에 대해 궁금한 점이 있으면 담당 데이터 컨설턴트에게 문의하여 일대일 지원을 받으십시오.
모델 조회 API는 주로 각종 데이터 분석 리포트를 가져오는 데 사용합니다.
호출 방법은 Open API 문서의 설명을 참고하십시오.
1. 공통 파라미터
1. 속성 표현
거의 모든 API에서 속성을 사용합니다. 예를 들어 특정 속성으로 필터링, 그룹화 또는 집계하는 경우 등입니다. 속성에는 이벤트 속성, 유저 속성, 유저 코호트 속성이 있으며, 일반적으로 이름과 테이블 타입 두 필드로 속성을 표현합니다. 예를 들어 도/주(#province)라는 이벤트 속성을 나타내는 표현식은 다음과 같습니다:
{
"tableType":"event",
"columnName":"#province"
}
유저 속성도 비슷합니다. 예를 들어 유저 레벨(user_level)은 다음과 같이 나타냅니다:
{
"tableType":"user",
"columnName":"user_level"
}
2. 필터 표현식
필터 표현식도 대부분의 API에 적용되며, 특정 이벤트나 유저에 대한 필터 작업을 나타냅니다. 다음 형식의 JSON으로 표현합니다:
{
// filts 안 각 조건 간의 관계(or 또는 and)를 나타냅니다
"relation": "and",
// 구체적인 조건 리스트이며, 여러 개를 지정할 수 있습니다
"filts": [{
// 조건의 좌변 값으로, 하나의 속성입니다
"tableType":"event",
"columnName": "#os",
// 조건의 비교 연산자로, 여기서는 '같음'을 나타냅니다
"comparator": "equal",
// 조건의 비교 값으로, 비교 연산자에 따라 하나 또는 여러 개일 수 있습니다
"ftv": [
"ios"
]
},
{
"tableType":"user",
"columnName":"user_level",
"comparator": "equal",
"ftv": [
"5"
]
}]
}
현재 지원하는 연산자는 다음과 같습니다:
- equal / notEqual
같음/같지 않음을 나타내며, 문자열 및 숫자 타입에 유효합니다. ftv가 여러 개이면 In 또는 Not In과 같습니다. 예를 들어 레벨이 3과 5인 유저를 필터링하는 경우:
{
"tableType":"user",
"columnName":"user_level",
"comparator": "equal",
"ftv": ["3","5"]
}
- isTrue / isFalse
불리언 타입에만 유효합니다.
- isNull / notNull
특정 속성에 값이 있는지 여부를 나타내며, 문자열 및 숫자 타입에 유효합니다.
- include / notInclude
특정 하위 문자열을 포함하거나 포함하지 않음을 나타냅니다:
{
"tableType":"user",
"columnName":"channel",
"comparator": "include",
"ftv": ["Tencent MyApp"]
}
- less / greater / range: 각각 미만/초과/두 값 사이(이상이면서 이하)를 나타냅니다. 이 중 range는 양 끝값을 포함하는 폐구간이며, 숫자 타입과 시간 타입에 유효합니다. 예를 들어 아이템 잔여 수량이 3에서 9 사이인 모든 이벤트를 필터링하는 경우:
{
"tableType":"event",
"columnName":"count_left",
"comparator": "range",
"ftv": [3, 9]
}
또는 마지막 로그인 시간이 2019-11-13 00:00~2019-11-23 00:00 사이인 모든 유저를 필터링하는 경우
{
"tableType":"user",
"columnName":"latest_login_time",
"comparator": "range",
"ftv":["2019-11-13 00:00","2019-11-23 00:00"]
}
- regexMatch / notRegexMatch
정규식 매칭 또는 정규식 불일치를 나타내며, 문자열 타입에만 유효합니다.
- relativeCurrentBetween / relativeCurrentBefore
날짜 타입용 연산자로, 각각 현재 시간 기준 과거 N일부터 과거 M일 사이/현재 시간 기준 과거 N일 이전을 나타냅니다. 예를 들어 가입 시간이 현재 시간 기준 과거 3일 이전인 모든 유저를 필터링하는 경우:
{
"tableType":"user",
"columnName":"register_time",
"comparator": "relativeCurrentBefore",
"ftv": [3]
}
또는 가입 시간이 현재 시간 기준 과거 9일부터 과거 3일 사이인 모든 유저를 필터링하는 경우:
{
"tableType":"user",
"columnName":"register_time",
"comparator": "relativeCurrentBetween",
"ftv": [9, 3]
}
- relativeEventBefore / relativeEventAfter / relativeEventAbsolute
날짜 타입용 연산자로, 각각 이벤트 발생 시점 기준 이전 N 기간 이내/이벤트 발생 시점 기준 이후 N 기간 이내/이벤트 발생 시점 기준 전후 N 기간 이내를 나타냅니다. 예를 들어 유저의 마지막 로그인 시간이 이벤트 발생 시점 기준 이전 3시간 이내인 이벤트를 필터링하는 경우:
{
"tableType":"user",
"columnName":"latest_login_time",
"comparator": "relativeEventBefore",
"ftv": [3],
"timeUnit": "hour"
}
- arrayIncludeItem / arrayNotIncludeItem
리스트 타입용 연산자로, 리스트에 특정 요소가 포함되어 있는지 여부를 나타냅니다
- arrayItemPos
리스트 타입용 연산자로, 리스트의 n번째 요소가 특정 값과 같음을 나타냅니다
- arrayIsNull / arrayNotNull
리스트 타입용 연산자로, 리스트가 존재하는지 여부를 나타냅니다
3. 테이블 타입 열거형 값
- event
이벤트 테이블
- user
유저 테이블
- cluster
코호트/태그 테이블

