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