目录
此内容是否有帮助?

# Flow Analysis Model API

As for the call method, please refer to the call method description in Open API

You can read the Flow analysis in the user manual to understand the usage scenario.

# Flow Analysis Query

Interface URL

/open/Flow-analyze?token=xxx

Request method

POST

Content-Type

application/json

Request Query parameter

Parameter name Sample value Parameter type Is required Parameter description
token
xxx
String
Yes
token

# Request Body Parameter

{
  "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
}

# Request Parameter Description

Parameter name Sample value Parameter type Is required Parameter description
eventView
-
Object
Yes
Metrics common attribute part
∟ col_limit 10
Integer
Yes
Column limit, between 0 and 20
∟ 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
∟ recent_day String
No
Relative time (this item cannot be empty at the same time as the start time and the end time)
∟ session_interval 30
Integer
Yes
Session interval length
∟ session_type minute
String
Yes
Session duration units: seconds, minutes, hours
∟ 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
∟ by_fields -
List
List
Split by event properties
∟ event_name login
String
Yes
Event name
∟ field browser
String
Yes
Split field
∟ range_type -
String
No
Interval range type
Discrete: number
Def: default interval
user_defined: User-defined
∟ range -
String
No
Interval
range
∟ table_type event
String
Yes
Table type enumeration
∟ event_names ["logout","login"]
String
Yes
The eventNames the metric based on
∟ source_event -
Object
Yes
Source event
∟ event_name login
String
Yes
Event name
∟ filter -
Object
No
Source event filtering
∟ filterType COMPOUND
String
No
Filter mode, SIMPLE: simple, COMPOUND: composite
∟ source_type initial_event
String
Yes
Event type, initial_event
/
termination_event
∟ user_filter -
Object
No
User table filtering
∟ filterType COMPOUND
String
No
Filter mode, SIMPLE: simple, COMPOUND: composite
∟ filts -
List
No
List of conditions
∟ columnDesc app_version
String
No
Field display name
∟ columnName app_version
String
Yes
Field name
∟ comparator equal
String
Yes
Reference: filtering expression of
model query API
∟ filterType SIMPLE
String
No
Filter mode, SIMPLE: simple, COMPOUND: composite
∟ ftv ["V1.0"]
List
No
Property comparative with bound literial
∟ specifiedClusterDate 2022-01-26
String
No
Historical tag version of specified date
∟ tableType event
String
Yes
Table type enumeration
∟ 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

# Successful Response Example

{
  "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"
}

# Response Parameter Description

Parameter name Sample value Parameter type Parameter description
return_code
0
Integer
Return code
return_message
success
String
Return
message
data
-
Object
Return data
∟ event_name_desc_map -
Map
Event name and event description mapping
∟ links -
List
Relational matrix
∟ source 0_Chrome^_^login
String
Relationship start node
∟ target 1_level_up
String
Relationship end node
∟ times 5106
Integer
Number of times
∟ nodes -
List
Node matrix
∟ id 0_Chrome^_^login
String
Node ID
∟ event_name login
String
Node event name
∟ by_value Chrome
String
Node value
∟ times 30301
Integer
Number of times
∟ result_generate_time 2022-01-24 18:53:26
String
Query result generation time

Error Response Example

{
    "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

# Flow Analysis User List

Interface URL

/open/Flow-user-list?token=xxx

Request method

POST

Content-Type

application/json

Request Query Parameter

Parameter name Sample value Parameter type Is required Parameter description
token
xxx
String
Yes
token

# Request Body Parameter

{
  "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
}

# Request Parameter Description

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
∟ 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
Total: total
with_next: There are subsequent nodes
without_next: No subsequent nodes
with_next_specific: A node with a subsequent event
slice_event_by_values
-
List
No
Node events
∟ slice_event_name obtain_item
String
No
Event type
timeoutSeconds
10
Integer
No
Request timed out parameter, timeout cancels query task

# Successful Response Example

{
  "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"
}

# Response Parameter Description

Parameter name Sample value Parameter type Parameter description
return_code
0
Integer
Return code
return_message
success
String
Return
message
data
-
Object
Return result
∟ datalist -
List
User Information
∟ columMeta -
Map
Field meaning mapping

Error Response Example

{
    "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