# 퍼널 분석 모델 API
호출 메서드에 대해서는 오픈 API의 호출 메서드 설명을 참조하시기 바랍니다.
사용 시나리오를 이해하려면 사용자 가이드에서 퍼널 분석을 참조할 수 있습니다.
# 1. 퍼널 분석 쿼리
인터페이스 URL
/open/funnel-analyze?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | token |
요청 본문 파라미터
{
"eventView":{
"endTime":"2021-10-31 23:59:59",
"filts":[
{
"columnDesc":"city",
"columnName":"city",
"comparator":"equal",
"filterType":"SIMPLE",
"ftv":[
"Shanghai",
"Beijing",
"Guangzhou",
"Shenzhen"],
"specifiedClusterDate":"2022-01-24",
"tableType":"user",
"timeUnit":""
}],
"groupBy":[
{
"columnDesc":"city",
"columnName":"city",
"propertyRange":"",
"specifiedClusterDate":"2022-01-24",
"tableType":"user"
}],
"recentDay":"",
"relation":"and",
"startTime":"2021-10-01 00:00:00",
"taIdMeasureVo":{
"columnDesc":"only user ID",
"columnName":"#user_id",
"tableType":"event"
},
"windows_gap":1,
"windows_gap_tu":"hour"
},
"events":[
{
"eventName":"register",
"eventNameDisplay":"",
"filts":[
{
"columnDesc":"app version",
"columnName":"app_version",
"comparator":"equal",
"filterType":"SIMPLE",
"ftv":[
"V1.0"],
"specifiedClusterDate":"2022-01-26",
"tableType":"event",
"timeUnit":""
}],
"relation":"and"
},
{
"eventName":"login",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
},
{
"eventName":"activity_attend",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
},
{
"eventName":"logout",
"eventNameDisplay":"",
"filts":[
],
"relation":"and"
}
],
"projectId":377,
"limit": 2,
"timeoutSeconds": 10,
"useCache": true
}
요청 파라미터 설명
$$Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
eventView | - | Object | Yes | Metrics common attribute part |
eventView.endTime | 2021-10-31 23:59:59 | String | No | End time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
eventView.filts | - | List | No | Global filters parts |
eventView.filts.columnDesc | City | String | No | Field display name |
eventView.filts.columnName | city | String | Yes | Field name |
eventView.filts.comparator | equal | String | Yes | Reference: filtering expression of model query API |
eventView.filts.filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
eventView.filts.ftv | ["Shanghai"] | List | No | Property comparative with bound literial |
eventView.filts.specifiedClusterDate | 2022-01-24 | String | No | Historical tag version of specified date |
eventView.filts.tableType | user | String | Yes | |
eventView.filts.timeUnit | String | No | Property filter unit, only valid to relativeEvent*:day,hour,minute | |
eventView.groupBy | - | List | No | Group attributes, can have zero or more |
eventView.groupBy.columnDesc | City | String | No | Field display name |
eventView.groupBy.columnName | city | String | Yes | Field name |
eventView.groupBy.propertyRange | String | No | Self-defined property interval | |
eventView.groupBy.specifiedClusterDate | 2022-01-24 | String | No | Historical tag version of specified date |
eventView.groupBy.tableType | user | String | Yes | |
eventView.recentDay | String | No | Relative time (this item cannot be empty both with the start time and the end time) | |
eventView.relation | and | String | No | Logical relationship, and: logical and, or: logical or |
eventView.startTime | 2021-10-01 00:00:00 | String | No | Start time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty |
eventView.taIdMeasureVo | - | Object | No | Query ID system configuration |
eventView.taIdMeasureVo.columnDesc | User unique ID | String | No | Field display name |
eventView.taIdMeasureVo.columnName | #user_id | String | Yes | Field name |
eventView.taIdMeasureVo.tableType | event | String | Yes | |
eventView.windows_gap | 1 | Long | No | Window duration |
eventView.windows_gap_tu | hour | String | No | Window duration units,
|
events | - | List | Yes | Event metric list |
events.eventName | register | String | Yes | The eventName the metric based on, "anyEvent" can be used to represent any event |
events.eventNameDisplay | String | No | Self-defined metric display name | |
events.filts | - | List | No | List of conditions |
events.filts.columnDesc | App version | String | No | Field display name |
events.filts.columnName | app_version | String | Yes | Field name |
events.filts.comparator | equal | String | Yes | Reference: filtering expression of model query API |
events.filts.filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
events.filts.ftv | ["V1.0"] | List | No | Property comparative with bound literial |
events.filts.specifiedClusterDate | 2022-01-26 | String | No | Historical tag version of specified date |
events.filts.tableType | event | String | Yes | |
events.filts.timeUnit | String | No | Filter time unit | |
events.relation | and | String | No | Logical relationship, and: logical and, or: logical or |
projectId | 377 | Integer | Yes | Project enumeric identity |
limit | 2 | 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": {
"result_generate_time": "2022-01-26 19:23:51",
"total": 5,
"x": [
"2021-10-01",
"2021-10-02",
"2021-10-03",
"2021-10-04",
"2021-10-05",
"2021-10-06",
"2021-10-07",
"2021-10-08",
"2021-10-09",
"2021-10-10",
"2021-10-11",
"2021-10-12",
"2021-10-13",
"2021-10-14",
"2021-10-15",
"2021-10-16",
"2021-10-17",
"2021-10-18",
"2021-10-19",
"2021-10-20",
"2021-10-21",
"2021-10-22",
"2021-10-23",
"2021-10-24",
"2021-10-25",
"2021-10-26",
"2021-10-27",
"2021-10-28",
"2021-10-29",
"2021-10-30",
"2021-10-31"
],
"y": [
{
"total": {
"col1": [
5666,
197,
197,
197
],
"col2": [
[
208,
10,
10,
10
],
[
205,
4,
4,
4
],
[
189,
5,
5,
5
],
[
229,
10,
10,
10
],
[
217,
6,
6,
6
],
[
257,
10,
10,
10
],
[
233,
6,
6,
6
],
[
207,
7,
7,
7
],
[
204,
7,
7,
7
],
[
248,
14,
14,
14
],
[
217,
4,
4,
4
],
[
207,
9,
9,
9
],
[
219,
8,
8,
8
],
[
220,
4,
4,
4
],
[
193,
10,
10,
10
],
[
218,
9,
9,
9
],
[
232,
7,
7,
7
],
[
222,
10,
10,
10
],
[
220,
8,
8,
8
],
[
203,
6,
6,
6
],
[
217,
8,
8,
8
],
[
239,
3,
3,
3
],
[
214,
5,
5,
5
],
[
197,
11,
11,
11
],
[
199,
8,
8,
8
],
[
135,
7,
7,
7
],
[
73,
1,
1,
1
],
[
33,
0,
0,
0
],
[
11,
0,
0,
0
],
[
0,
0,
0,
0
],
[
0,
0,
0,
0
]
]
}
},
{
"Beijing": {
"col1": [
2028,
70,
70,
70
],
"col2": [
[
79,
1,
1,
1
],
[
71,
2,
2,
2
],
[
65,
0,
0,
0
],
[
74,
3,
3,
3
],
[
72,
2,
2,
2
],
[
89,
3,
3,
3
],
[
88,
2,
2,
2
],
[
75,
3,
3,
3
],
[
66,
4,
4,
4
],
[
95,
1,
1,
1
],
[
60,
1,
1,
1
],
[
68,
5,
5,
5
],
[
80,
5,
5,
5
],
[
68,
2,
2,
2
],
[
67,
6,
6,
6
],
[
84,
4,
4,
4
],
[
84,
1,
1,
1
],
[
87,
1,
1,
1
],
[
79,
6,
6,
6
],
[
76,
1,
1,
1
],
[
81,
3,
3,
3
],
[
85,
1,
1,
1
],
[
89,
2,
2,
2
],
[
75,
3,
3,
3
],
[
74,
5,
5,
5
],
[
49,
2,
2,
2
],
[
26,
1,
1,
1
],
[
16,
0,
0,
0
],
[
6,
0,
0,
0
],
[
0,
0,
0,
0
],
[
0,
0,
0,
0
]
]
}
}
],
"z": [
"register",
"login",
"activity_attend",
"logout"
]
},
"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.result_generate_time | 2022-01-01 00:00:00 | String | Calculation result generation time |
data.total | 5 | Integer | Total |
data.x | ["2021-10-01"] | List | Time list |
data.y | - | List | Data List |
data.z | ["register"] | List | List of event names |
오류 응답 예시
{
"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 |
# 2. 퍼널 분석 전체 데이터 다운로드
인터페이스 URL
/open/streaming-download/funnel-analyze?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | Query key |
요청 본문 파라미터
{
"eventView": {
"endTime": "2022-03-07 17:27:29",
"filts": [],
"groupBy": [],
"recentDay": "1-7",
"relation": "and",
"startTime": "2022-03-01 17:27:29",
"taIdMeasureVo": {
"columnDesc": "User ID",
"columnName": "#user_id",
"tableType": "event"
},
"windows_gap": 1,
"windows_gap_tu": "day"
},
"events": [{
"eventName": "Login",
"eventNameDisplay": "",
"filts": [],
"relation": "and"
}, {
"eventName": "LogOut",
"eventNameDisplay": "",
"filts": [],
"relation": "and"
}],
"projectId": 319,
"timeView": "TOTAL_TIME",
"resultType": "CONVERSION"
}
요청 파라미터 설명
$$ Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
eventView | - | Object | Yes | Same parameters as Funnel Analysis Query interface |
events | - | List | Yes | Same parameters as Funnel Analysis Query interface |
projectId | 377 | Integer | Yes | 项目ID |
timeView | TOTAL_TIME | String | No | Time analysis aspect, TOTAL_TIME(By total), PER_DATE(By date) |
resultType | CONVERSION | String | No | Result Type, CONVERSION(Download conversion part),DROP_OFF(Download drop part) |
응답
TE 시스템의 퍼널 분석의 전체 데이터 다운로드와 동일합니다
# 3. 퍼널 분석 유저 목록
인터페이스 URL
/open/funnel-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,
"eventView": {
"startTime": "2019-11-23 00:00:00",
"endTime": "2019-11-26 00:00:00",
"recentDay": "1-4",
"relation": "and",
"timeParticleSize": "day",
"filts": [
{
"columnName": "user_level",
"comparator": "equal",
"ftv": [
"5"
],
"tableType": "user"
}
],
"groupBy": [
{
"columnName": "#province",
"tableType": "event"
}
]
},
"events": [
{
"eventName": "obtain_item",
"relation": "and",
"filts": [
{
"columnName": "#province",
"comparator": "equal",
"ftv": [
"Jiangsu",
"Shanghai"
],
"tableType": "event"
}
]
}
],
"sliceFunnelStep": 1,
"sliceGroupVal": "['Shanghai']",
"timeoutSeconds": 10
}
요청 파라미터 설명
$$Parameter name | Sample value | Parameter type | Is required | Parameter description |
---|---|---|---|---|
projectId | 0 | String | Yes | Project numeric indentity |
eventView | - | Object | Yes | Same parameters as Funnel Analysis Query interface |
events | List | Yes | Same parameters as Funnel Analysis Query interface | |
sliceFunnelStep | 1 | Integer | Yes | Go to the detail by which Funnel step, starting from 1 |
sliceGroupVal | "['Shanghai']" | String | No | Go to the detail by which grouping |
sliceWastageUser | false | Boolean | No | Whether lost user,true: yes,false: no |
timeoutSeconds | 10 | Integer | No | Request timed out parameter, timeout cancels query task |
성공적인 응답 예시
{
"data": {
"datalist": [
{
"#account_id": "u78082246",
"#distinct_id": "u145009846",
"user_level": 5,
"register_time": "2019-11-26 09:59:34",
"diamond_num": 1006,
"latest_login_time": "2019-11-26 11:14:12",
"channel": "Xiaomi App store",
"#user_id": 33463846
},
{
"#account_id": "k77655236",
"#distinct_id": "k144216836",
"user_level": 5,
"register_time": "2019-11-24 08:53:09",
"diamond_num": 1012,
"latest_login_time": "2019-11-24 10:02:38",
"channel": "Wangdoujia",
"#user_id": 33280836
},
{
"#account_id": "a77648226",
"#distinct_id": "a144203826",
"user_level": 5,
"register_time": "2019-11-24 08:21:19",
"diamond_num": 1006,
"latest_login_time": "2019-11-24 09:32:31",
"channel": "Application treasure",
"#user_id": 33277826
}
],
"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 information |
# 4. 퍼널 분석 유저 목록 다운로드
인터페이스 URL
/open/streaming-download/funnel-user-list?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
token | xxx | String | Yes | Query key |
요청 본문 파라미터
{
"eventView": {
"endTime": "2022-03-07 17:27:29",
"filts": [],
"groupBy": [],
"recentDay": "1-7",
"relation": "and",
"startTime": "2022-03-01 17:27:29",
"taIdMeasureVo": {
"columnDesc": "User ID",
"columnName": "#user_id",
"tableType": "event"
},
"windows_gap": 1,
"windows_gap_tu": "day"
},
"events": [{
"eventName": "Login",
"eventNameDisplay": "",
"filts": [],
"relation": "and"
}, {
"eventName": "LogOut",
"eventNameDisplay": "",
"filts": [],
"relation": "and"
}],
"projectId": 319,
"sliceFunnelStep": 1,
"sliceWastageUser": false,
"selectedColumns": ["#account_id", "#distinct_id"]
}
요청 파라미터 설명
$$ Parameter name | Sample value | Parameter type | Mandatory or not | Parameter description |
---|---|---|---|---|
projectId | 0 | String | 是 | Project numeric indentity |
eventView | - | Object | 是 | Same parameters as Funnel Analysis Query interface |
events | List | 是 | Same parameters as Funnel Analysis Query interface | |
sliceFunnelStep | 1 | Integer | 是 | Go to the detail by which Funnel step, starting from 1 |
sliceGroupVal | "['Shanghai']" | String | 否 | Go to the detail by which grouping |
sliceWastageUser | false | Boolean | 否 | Whether lost user,true: yes,false: no |
selectedColumns | ["#account_id", "#distinct_id"] | Array | 否 | The columns to be downloaded |
응답
TE 시스템의 퍼널 분석 유저 목록 다운로드와 동일함