# 경로 분석 모델 API
# 경로 분석 모델 API
호출 메서드에 대해서는 오픈 API의 호출 메서드 설명을 참조하시기 바랍니다.
사용 시나리오를 이해하려면 사용자 가이드에서 경로 분석을 참조할 수 있습니다.
# 1. 경로 분석 쿼리
인터페이스 URL
/open/Flow-analyze?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name  |  Sample value  |  Parameter type  |  Is required  |  Parameter description  | 
|---|---|---|---|---|
token  |  xxx  |  String  |  Yes  |  token  | 
요청 본문 파라미터
{
  "eventView": {
    "col_limit": 10,
    "from_date": "2021-10-01 00:00:00",
    "recent_day": "",
    "session_interval": 30,
    "session_type": "minute",
    "to_date": "2021-10-02 23:59:59"
  },
  "events": {
    "by_fields": [
      {
        "event_name": "login",
        "field": "browser",
        "range": "",
        "table_type": "event"
      }],
    "event_names": [
      "logout",
      "login"],
    "source_event": {
      "event_name": "login",
      "filter": {
        "filterType": "COMPOUND"
      }
    },
    "source_type": "initial_event",
    "user_filter": {
      "filterType": "COMPOUND",
      "filts": [
        {
          "columnDesc": "city",
          "columnName": "city",
          "comparator": "equal",
          "filterType": "SIMPLE",
          "ftv": [
            "Beijing",
            "Shanghai",
            "Guangzhou",
            "Shenzhen"],
          "specifiedClusterDate": "2022-01-24",
          "tableType": "user"
        }],
      "relation": "and"
    }
  },
  "projectId": 377,
  "timeoutSeconds": 10, 
  "useCache": true
}
요청 파라미터 설명
$$Parameter name  |  Sample value  |  Parameter type  |  Is required  |  Parameter description  | 
|---|---|---|---|---|
eventView  |  -  |  Object  |  Yes  |  Metrics common attribute part  | 
eventView.col_limit  |  10  |  Integer  |  Yes  |  Column limit, between 0 and 20  | 
eventView.from_date  |  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.recent_day  |  String  |  No  |  Relative time (this item cannot be empty at the same time as the start time and the end time)  | |
eventView.session_interval  |  30  |  Integer  |  Yes  |  Session interval length  | 
eventView.session_type  |  minute  |  String  |  Yes  |  Session duration units: seconds, minutes, hours  | 
eventView.to_date  |  2021-10-02 23:59:59  |  String  |  No  |  End time (format: yyyy-MM-dd HH: mm: ss), valid when the relative time is empty  | 
events  |  -  |  List  |  Yes  |  Event metric list  | 
events.by_fields  |  -  |  List  |  List  |  Split by event properties  | 
events.by_fields.event_name  |  login  |  String  |  Yes  |  Event name  | 
events.by_fields.field  |  browser  |  String  |  Yes  |  Split field  | 
events.by_fields.range_type  |  -  |  String  |  No  |  Interval range type 
  | 
events.by_fields.range  |  -  |  String  |  No  |  Interval range  | 
events.by_fields.table_type  |  event  |  String  |  Yes  |  |
events.event_names  |  ["logout","login"]  |  String  |  Yes  |  The eventNames the metric based on  | 
events.source_event  |  -  |  Object  |  Yes  |  Source event  | 
events.source_event.event_name  |  login  |  String  |  Yes  |  Event name  | 
events.source_event.filter  |  -  |  Object  |  No  |  Source event filtering  | 
events.source_event.filter.filterType  |  COMPOUND  |  String  |  No  |  Filter mode, SIMPLE: simple, COMPOUND: composite  | 
events.source_type  |  initial_event  |  String  |  Yes  |  Event type, initial_event/termination_event  | 
events.user_filter  |  -  |  Object  |  No  |  User table filtering  | 
events.user_filter.filterType  |  COMPOUND  |  String  |  No  |  Filter mode, SIMPLE: simple, COMPOUND: composite  | 
events.user_filter.filts  |  -  |  List  |  No  |  List of conditions  | 
events.user_filter.filts.columnDesc  |  app_version  |  String  |  No  |  Field display name  | 
events.user_filter.filts.columnName  |  app_version  |  String  |  Yes  |  Field name  | 
events.user_filter.filts.comparator  |  equal  |  String  |  Yes  |  Reference: filtering expression of model query API  | 
events.user_filter.filts.filterType  |  SIMPLE  |  String  |  No  |  Filter mode, SIMPLE: simple, COMPOUND: composite  | 
events.user_filter.filts.ftv  |  ["V1.0"]  |  List  |  No  |  Property comparative with bound literial  | 
events.user_filter.filts.specifiedClusterDate  |  2022-01-26  |  String  |  No  |  Historical tag version of specified date  | 
events.user_filter.filts.tableType  |  event  |  String  |  Yes  |  |
events.user_filter.relation  |  and  |  String  |  No  |  Logical relationship, and: logical and, or: logical or  | 
projectId  |  377  |  Integer  |  Yes  |  Project enumeric identity  | 
timeoutSeconds  |  10  |  Integer  |  No  |  Request timed out parameter, timeout cancels query task  | 
useCache  |  true  |  Boolean  |  No  |  Use cache, optional parameter, default is true  | 
성공적인 응답 예시
{
  "data": {
    "event_name_desc_map": {
      "anyEvent": "any event",
      "login": "login",
      "logout": "logout"
    },
    "links": [
      [
        {
          "source": "0_Chrome^_^login",
          "target": "1_logout",
          "times": 1716
        },
        {
          "source": "0_Safari^_^login",
          "target": "1_logout",
          "times": 765
        },
        {
          "source": "0_Firefox^_^login",
          "target": "1_logout",
          "times": 582
        },
        {
          "source": "0_Wechat built-in browser^_^login",
          "target": "1_logout",
          "times": 403
        },
        {
          "is_wastage": true,
          "source": "0_Chrome^_^login",
          "target": "1_wastage",
          "times": 380
        },
        {
          "is_wastage": true,
          "source": "0_Safari^_^login",
          "target": "1_wastage",
          "times": 195
        },
        {
          "is_wastage": true,
          "source": "0_Firefox^_^login",
          "target": "1_wastage",
          "times": 148
        },
        {
          "is_wastage": true,
          "source": "0_Wechat built-in browser^_^login",
          "target": "1_wastage",
          "times": 89
        }
      ]
    ],
    "nodes": [
      [
        {
          "by_value": "Chrome",
          "event_name": "login",
          "id": "0_Chrome^_^login",
          "times": 2096
        },
        {
          "by_value": "Safari",
          "event_name": "login",
          "id": "0_Safari^_^login",
          "times": 960
        },
        {
          "by_value": "Firefox",
          "event_name": "login",
          "id": "0_Firefox^_^login",
          "times": 730
        },
        {
          "by_value": "Wechat built-in browser",
          "event_name": "login",
          "id": "0_Wechat built-in browser^_^login",
          "times": 492
        }
      ],
      [
        {
          "event_name": "logout",
          "id": "1_logout",
          "times": 3466
        }
      ]
    ],
    "result_generate_time": "2022-01-27 13:44:38"
  },
  "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 data  | 
data.event_name_desc_map  |  -  |  Map  |  Event name and event description mapping  | 
data.links  |  -  |  List  |  Relational matrix  | 
data.links.source  |  0_Chrome^_^login  |  String  |  Relationship start node  | 
data.links.target  |  1_level_up  |  String  |  Relationship end node  | 
data.links.times  |  5106  |  Integer  |  Number of times  | 
data.nodes  |  -  |  List  |  Node matrix  | 
data.nodes.id  |  0_Chrome^_^login  |  String  |  Node ID  | 
data.nodes.event_name  |  login  |  String  |  Node event name  | 
data.nodes.by_value  |  Chrome  |  String  |  Node value  | 
data.nodes.times  |  30301  |  Integer  |  Number of times  | 
data.result_generate_time  |  2022-01-24 18:53:26  |  String  |  Query result generation 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  | 
# 2. 경로 분석 유저 목록
인터페이스 URL
/open/Flow-user-list?token=xxx
요청 방법
POST
콘텐츠 유형
application/json
요청 쿼리 파라미터
Parameter name  |  Sample value  |  Parameter type  |  Is required  |  Parameter description  | 
|---|---|---|---|---|
token  |  xxx  |  String  |  Yes  |  token  | 
요청 본문 파라미터
{
  "projectId": 0,
  "eventView": {
    "col_limit": 10,
    "from_date": "2019-11-20 00:00:00",
    "to_date": "2019-11-26 00:00:00",
    "recent_day": "1-7",
    "session_interval": 22,
    "session_type": "minute"
  },
  "events": {
    "event_names": [
      "obtain_item",
      "consume_item",
      "obtain_coin"
    ],
    "source_event": {
      "event_name": "consume_item",
      "filter": {
        "filts": [
          {
            "columnName": "#os",
            "comparator": "equal",
            "ftv": [
              "ios"
            ],
            "tableType": "event"
          }
        ],
        "relation": "and"
      }
    },
    "source_type": "initial_event",
    "user_filter": {
      "filts": [
        {
          "columnName": "user_level",
          "comparator": "equal",
          "ftv": [
            "6"
          ],
          "tableType": "user"
        }
      ],
      "relation": "and"
    }
  },
  "next_slice_event_by_values": [
    {
      "slice_event_name": "obtain_coin"
    }
  ],
  "session_level": 2,
  "slice_type": "with_next_specific",
  "slice_event_by_values": [
    {
      "slice_event_name": "obtain_item"
    }
  ],
  "timeoutSeconds": 10
}
요청 파라미터 설명
$$Parameter name  |  Sample value  |  Parameter type  |  Is required  |  Parameter description  | 
|---|---|---|---|---|
projectId  |  0  |  String  |  Yes  |  Parameter description  | 
eventView  |  -  |  Object  |  Yes  |  Same parameters as Distribution Analysis Query interface  | 
events  |  List  |  Yes  |  Same parameters as Distribution Analysis Query interface  | |
next_slice_event_by_values  |  -  |  List  |  No  |  Subsequent events of nodes, required When slice_type is with_next_specific  | 
next_slice_event_by_values.slice_event_name  |  obtain_coin  |  String  |  No  |  Event type  | 
session_level  |  2  |  Integer  |  Yes  |  The Flow level at which the node is located (counting from 0)  | 
slice_type  |  with_next_specific  |  String  |  Yes  |  Subsequent events of nodes 
  | 
slice_event_by_values  |  -  |  List  |  No  |  Node events  | 
slice_event_by_values.slice_event_name  |  obtain_item  |  String  |  No  |  Event type  | 
timeoutSeconds  |  10  |  Integer  |  No  |  Request timed out parameter, timeout cancels query task  | 
성공적인 응답 예시
{
  "data": {
    "datalist": [
      {
        "#account_id": "j77444535",
        "#distinct_id": "j143825535",
        "user_level": 6,
        "register_time": "2019-11-22 17:07:12",
        "diamond_num": 1270,
        "latest_login_time": "2019-11-22 18:23:19",
        "channel": "app store",
        "#user_id": 33190535
      }
    ],
    "total_num": 1,
    "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  | 
