# 유저 속성 분석 API
유저 속성 분석 API는 유저의 특성을 분석하는 기능을 제공합니다.
호출 방법에 대해서는 Open API의 호출 방법 설명을 참조하십시오.
사용 시나리오에 대한 이해를 돕기 위해 사용자 가이드의 구성 부분을 읽을 수 있습니다.
# 1. 유저 속성 분석 쿼리
인터페이스 URL
/open/user-prop-analyze?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
요청 본문 파라미터
{
"eventView": {
"userCrowds": [
{
"crowdName": "female",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"女"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
},
{
"crowdName": "male",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"male"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
},
{
"crowdName": "gender unknown",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"unknown"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
}]
},
"events": [
{
"analysis": "SUM",
"analysisDesc": "sum",
"eventNameDisplay": "account balance",
"filts": [
{
"columnDesc": "balance",
"columnName": "accountbalance",
"comparator": "greater",
"filterType": "SIMPLE",
"ftv": [
"1"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"quota": "accountbalance",
"relation": "and",
"tableType": "user"
}],
"projectId": 377,
"limit": 10,
"timeoutSeconds": 10,
"useCache": true
}
요청 파라미터 설명
$$Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
eventView | - | Object | Yes | Metrics common attribute part |
eventView.userCrowds | - | Object | No | Crowd |
eventView.userCrowds.crowdName | Female | String | Yes | Crowd name |
eventView.userCrowds.filts | - | List | Yes | Filter objects |
eventView.userCrowds.filts.columnDesc | Gender | String | No | Field display name |
eventView.userCrowds.filts.columnName | gender | String | Yes | Field name |
eventView.userCrowds.filts.comparator | equal | String | Yes | Reference: filtering expression of model query API |
eventView.userCrowds.filts.filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
eventView.userCrowds.filts.ftv | ["Female"] | List | No | Property comparative with bound literial |
eventView.userCrowds.filts.specifiedClusterDate | 2022-01-27 | String | No | Historical tag version of specified date |
eventView.userCrowds.filts.tableType | user | String | Yes | Table type enumeration |
eventView.userCrowds.filts.timeUnit | String | No | Filter time unit | |
eventView.userCrowds.relation | and | String | Yes | Logical relationship, and: logical and, or: logical or |
events | - | List | Yes | Event metric list |
events.analysis | SUM | String | Yes | Analysis aspect for user feature aggregation for Aggregate type enumeration for user feature analysis |
events.analysisDesc | Sum | String | No | Analysis aspect description |
events.eventNameDisplay | Total balance | String | No | Self-defined metric display name |
events.filts | - | List | No | List of conditions |
events.filts.columnDesc | Balance | String | No | Field display name |
events.filts.columnName | accountbalance | String | Yes | Field name |
events.filts.comparator | greater | String | Yes | Reference: filtering expression of model query API |
events.filts.filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
events.filts.ftv | ["1"] | List | No | Property comparative with bound literial |
events.filts.specifiedClusterDate | 2022-01-27 | String | No | Historical tag version of specified date |
events.filts.tableType | user | String | Yes | Table type enumeration |
events.filts.timeUnit | String | No | Filter time unit | |
events.quota | accountbalance | String | No | Metric property (combined with analysis, indicating the property involved and the analysis perspective) |
events.relation | and | String | No | Logical relationship, and: logical and, or: logical or |
events.tableType | user | String | Yes | Table type enumeration |
projectId | 377 | Integer | Yes | Project enumeric identity |
limit | 10 | Integer | No | Maximum number of groups per analysis object, optional parameters, default is 1000, maximum is 10000 |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
useCache | true | Boolean | No | Use cache, optional parameter, default is true |
성공적인 응답 예시
{
"data": {
"data_list": [
{
"group_cols": [
"female"
],
"values": 1140523491
},
{
"group_cols": [
"male"
],
"values": 1141720850
},
{
"group_cols": [
"gender unknown"
],
"values": 227565607
}
],
"group_cols_sorted": [
[
"female",
"male",
"gender unknown"
]
],
"group_num": 0,
"result_generate_time": "2022-01-27 15:01:51",
"unit": ""
},
"return_code": 0,
"return_message": "success"
}
응답 파라미터 설명
$$Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | 0 | Integer | Return code |
return_message | success | String | Return message |
data | - | Object | Return result |
data.data_list | - | List | Data List |
data.data_list.group_cols | ["Female"] | List | Group or crowd list |
data.data_list.values | 1140523491 | Integer | Number of users |
data.group_cols_sorted | ["Female"] | List | Full group or crowd order list |
data.group_num | 0 | Integer | Number of groupings |
data.result_generate_time | 2022-01-27 15:01:51 | String | Results generation time |
data.unit | String | Numerical attribute unit |
오류 응답 예시
{
"return_code": -1008,
"return_message": "The parameter (token) is empty"
}
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | -1008 | Integer | Return code |
return_message | The parameter (token) is empty | String | Return message |
# 2. 유저 특성 분석 풀 데이터 다운로드
인터페이스 URL
/open/streaming-download/user-prop-analyze?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | Query key |
요청 본문 파라미터
{
"eventView": {
"userCrowds": [
{
"crowdName": "female",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"女"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
},
{
"crowdName": "male",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"male"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
},
{
"crowdName": "gender unknown",
"filts": [
{
"columnDesc": "gender",
"columnName": "gender",
"comparator": "equal",
"filterType": "SIMPLE",
"ftv": [
"unknown"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"relation": "and"
}]
},
"events": [
{
"analysis": "SUM",
"analysisDesc": "sum",
"eventNameDisplay": "account balance",
"filts": [
{
"columnDesc": "balance",
"columnName": "accountbalance",
"comparator": "greater",
"filterType": "SIMPLE",
"ftv": [
"1"],
"specifiedClusterDate": "2022-01-27",
"tableType": "user",
"timeUnit": ""
}],
"quota": "accountbalance",
"relation": "and",
"tableType": "user"
}],
"projectId": 390
}
요청 파라미터 설명
$$ Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
eventView | - | Object | Yes | Same parameters as User feature Analysis Query interface |
events | - | List | Yes | Same parameters as User feature Analysis Query interface |
projectId | 377 | Integer | Yes | Project numeric identity |
응답
유저 속성 분석 전체 데이터 다운로드와 동일 (TE 시스템의 유저 속성 분석 전체 데이터 다운로드와 동일)
# 3. 유저 속성 분석 유저 목록
인터페이스 URL
/open/user-prop-user-list?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
projectId | 0 | Integer | Yes | Project ID |
요청 본문 파라미터
{
"projectId": 0,
"events": [{
"analysis": "AVG",
"filts": [
{
"columnName": "latest_login_time",
"comparator": "relativeCurrentBetween",
"ftv": [
"7",
"1"
],
"tableType": "user"
}
],
"quota": "diamond_num",
"relation": "and",
"tableType": "user"
}],
"eventView": {
"groupBy": [
{
"columnName": "user_level",
"tableType": "user"
},
{
"columnName": "channel",
"tableType": "user"
}
]
},
"sliceGroupVal": [
"31",
"app store"
],
"timeoutSeconds": 10
}
요청 파라미터 설명
$$Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
projectId | 0 | Integer | Yes | Project numeric identity |
events | - | List | Yes | Same parameters as User feature Analysis Query interface |
eventView | - | Object | Yes | Same parameters as User feature Analysis Query interface |
sliceGroupVal | ["31","app store"] | List | No | Go to detail by which group |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
성공적인 응답 예시
{
"data": {
"datalist": [
{
"#account_id": "b6909071",
"#distinct_id": "b12831131",
"user_level": 31,
"register_time": "2019-09-23 09:33:31",
"diamond_num": 1250,
"first_recharge_time": "2019-11-18 08:50:33",
"latest_login_time": "2019-11-26 18:15:51",
"channel": "app store",
"#user_id": 2961031
},
{
"#account_id": "a6013000",
"#distinct_id": "a11167000",
"user_level": 31,
"register_time": "2019-09-02 19:15:08",
"diamond_num": 72,
"first_recharge_time": "2019-09-02 19:18:36",
"latest_login_time": "2019-11-24 10:02:38",
"channel": "app store",
"#user_id": 2577000
},
{
"#account_id": "j2614535",
"#distinct_id": "j4855535",
"user_level": 31,
"register_time": "2019-08-24 20:40:19",
"diamond_num": 820,
"latest_login_time": "2019-11-21 14:16:42",
"channel": "app store",
"#user_id": 1120535
}
],
"columMeta": {
"#account_id": "account ID",
"#distinct_id": "visitor ID",
"user_level": "user level",
"register_time": "register time",
"diamond_num": "diamond number",
"first_recharge_time": "first recharge time",
"latest_login_time": "lastest login time",
"channel": "channel"
}
},
"return_code": 0,
"return_message": "success"
}
응답 파라미터 설명
$$Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | 0 | Integer | Return code |
return_message | success | String | Return message |
data | - | Object | Return result |
data.datalist | - | List | User Information |
data.columMeta | - | Map | Field meaning mapping |
오류 응답 예시
{
"return_code": -1008,
"return_message": "The parameter (token) is empty"
}
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | -1008 | Integer | Return code |
return_message | The parameter (token) is empty | String | Return message |
# 4. 유저 속성 분석 사용자 목록 다운로드
인터페이스 URL
/open/user-prop-user-list?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | Query key |
요청 본문 파라미터
{
"events": [{
"analysis": "AVG",
"filts": [
{
"columnName": "latest_login_time",
"comparator": "relativeCurrentBetween",
"ftv": [
"7",
"1"
],
"tableType": "user"
}
],
"quota": "diamond_num",
"relation": "and",
"tableType": "user"
}],
"eventView": {
"groupBy": [
{
"columnName": "user_level",
"tableType": "user"
},
{
"columnName": "channel",
"tableType": "user"
}
]
},
"sliceGroupVal": [
"31",
"app store"
],
"projectId": 319,
"eventIndex": 0,
"selectedColumns": ["#account_id", "#distinct_id", "accountid"]
}
요청 파라미터 설명
$$parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
projectId | 0 | Integer | Yes | Project enumeric identity |
events | - | List | Yes | Same parameters as User feature Analysis Query interface |
eventView | - | Object | Yes | Same parameters as User feature Analysis Query interface |
sliceGroupVal | ["31","app store"] | List | No | Go to detail by which group |
eventIndex | 0 | Integer | Yes | Index of crowd, starting from 0 |
selectedColumns | ["#account_id"] | array | Yes | The columns to be downloaded |
응답
TE 시스템의 유저 페르소나 분석 사용자 목록 다운로드와 동일합니다.
# 5. 유저 이벤트 목록 조회
인터페이스 URL
/open/user-event-list?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
요청 본문 파라미터
{
"eventNames": [
"payment",
"level_up",
"activity_attend",
"draw_card",
"register",
"logout",
"login",
"gold_get",
"gold_consume"
],
"pagerHeader": {
"pageNum": 1,
"pageSize": 2
},
"projectId": 377,
"startDateTime": ["2021-11-04 00:00:00"],
"dateFormat": "week",
"firstDayOfWeek": 1,
"userId": 795687603434164226,
"timeoutSeconds": 10,
"useCache": true
}
요청 파라미터 설명
$$Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
eventNames | ["payment"] | List | Yes | List of events included |
pagerHeader | - | Object | Yes | Generic paging request header |
pagerHeader.pageNum | 1 | Long | No | Start page |
pagerHeader.pageSize | 2 | Long | No | Number per page |
projectId | 377 | Integer | Yes | Project ID |
startDateTime | ["2021-11-04 00:00:00"] | List | No | Start time list yyyy-MM-dd HH: mm: ss |
dateFormat | week | String | Yes | Unit of the time period taken for analysis
|
firstDayOfWeek | 1 | Integer | No | First day of the week |
userId | 795687603434164226 | Long | Yes | User ID of the analysis target |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
useCache | true | Boolean | No | Use cache, optional parameter, default is true |
성공적인 응답 예시
{
"data": {
"columnDescMeta": {
"network": "network type",
"ip": "IP",
"browser": "browser",
"browser_version": "browser version",
"manufacturer": "manufacturer",
"#lib": "SDK type",
"channel": "source channel",
"platform": "platform",
"serverid": "server ID",
"device_type": "device type",
"#lib_version": "SDK version",
"os_version": "operation version",
"app_version": "app version",
"os": "operation system",
"lib": "library",
"level": "user level",
"model": "model",
"screen_height": "screen height",
"carrier_name": "carrier name",
"vip_level": "VIP level",
"brand": "brand",
"currency_type": "currency type",
"pay_amount": "pay amount",
"diamond_get_amount": "diamond amount",
"payment_name": "payment name",
"is_first_pay": "first payment or not",
"#country_code": "country code",
"#ip": "service IP",
"#city": "city",
"#province": "province",
"#country": "country",
"screen_width": "screen width",
"device_id": "device ID",
"#zone_offset": "zone offset"
},
"eventNameDescMeta": {
"anyEvent": "any event",
"activity_attend": "attend activity",
"draw_card": "draw cards",
"gold_consume": "gold consume",
"gold_get": "get gold",
"level_up": "level up",
"login": "login",
"logout": "logout",
"payment": "payment",
"register": "register"
},
"resultGenerateTime": "2022-01-27 15:46:08",
"userEventSeqList": [
{
"event_name": "login",
"properties": {
"#event_time": "2021-11-04 15:59:39.179",
"network": "WIFI",
"ip": "27.17.30.245",
"browser": "Safari",
"browser_version": "Safari 11.0.3",
"manufacturer": "apple",
"#lib": "easydata",
"channel": "baidu",
"platform": "WeGame platform",
"serverid": "10",
"device_type": "desktop",
"#lib_version": "1.0",
"os_version": "iOS 11.4",
"app_version": "V1.0",
"os": "iOS",
"lib": "JS",
"level": "93",
"model": "iPhone X",
"screen_height": "681",
"carrier_name": "China telecom",
"vip_level": "1",
"brand": "apple",
"#country_code": "",
"#ip": "localhost",
"#city": "unknown",
"#province": "unknown",
"#country": "unknown",
"screen_width": "360",
"device_id": "47BjM",
"#zone_offset": "-5"
},
"time": "2021-11-04 15:59:39.179"
},
{
"event_name": "payment",
"properties": {
"#event_time": "2021-11-04 15:59:46.179",
"network": "WIFI",
"ip": "27.17.30.245",
"browser": "Safari",
"browser_version": "Safari 11.0.3",
"manufacturer": "apple",
"#lib": "easydata",
"channel": "baidu",
"platform": "WeGame platform",
"serverid": "10",
"device_type": "desktop",
"#lib_version": "1.0",
"os_version": "iOS 11.4",
"app_version": "V1.0",
"os": "iOS",
"lib": "JS",
"level": "93",
"model": "iPhone X",
"screen_height": "681",
"carrier_name": "China telecom",
"vip_level": "1",
"brand": "apple",
"currency_type": "coupon",
"pay_amount": "536",
"diamond_get_amount": "7485",
"payment_name": "honor package",
"is_first_pay": false,
"#country_code": "",
"#ip": "localhost",
"#city": "unknown",
"#province": "unknown",
"#country": "unknown",
"screen_width": "360",
"device_id": "47BjM",
"#zone_offset": "-5"
},
"time": "2021-11-04 15:59:46.179"
}
]
},
"return_code": 0,
"return_message": "success"
}
응답 파라미터 설명
$$Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | 0 | Integer | Return code |
return_message | success | String | Return message |
data | - | Object | Return result |
data.columnDescMeta | - | Map | Attribute name mapping |
data.eventNameDescMeta | - | Map | Event name |
data.resultGenerateTime | 2022-01-27 15:46:08 | String | Results generation time |
data.userEventSeqList | - | List | User sequence list |
data.userEventSeqList.event_name | login | String | Event name |
data.userEventSeqList.properties | - | Map | Event property details |
data.userEventSeqList.time | 2021-11-04 15:59:46.179 | String | Time |
오류 응답 예시
{
"return_code": -1008,
"return_message": "The parameter (token) is empty"
}
Parameter name | Sample value | Parameter type | Parameter description |
---|---|---|---|
return_code | -1008 | Integer | Return code |
return_message | The parameter (token) is empty | String | Return information |
# 유저 속성 분석을 위한 일반적인 목록
# 유저 속성 분석을 위한 집계 유형 목록
Value | Description | Whether properties are required |
---|---|---|
TRIG_USER_NUM | Number of users triggered | No |
SUM | Sum of values | Yes |
AVG | Numerical average | Yes |
MAX | Maximum value | Yes |
MIN | Numerical minimum | Yes |
DISTINCT | Deduplicate number | Yes |
TRUE | True number | Yes |
FALSE | False number | Yes |
IS_NOT_EMPTY | Not an empty number | Yes |
IS_EMPTY | Null number | Yes |
ARRAY_DISTINCT | List overall deduplicate number | Yes |
ARRAY_SET_DISTINCT | Element collection deduplicate number | Yes |
ARRAY_ITEM_DISTINCT | List element deduplicate number | Yes |
MEDIAN | Median | Yes |
PERCENTILE | Percepentiles | Yes |