# 퍼널 분석 모델 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 시스템의 퍼널 분석 유저 목록 다운로드와 동일함
