# Flow Analysis Model API
Call method See Call method description in Open API doc.
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 | Grouping properties |
∟ col_limit | 10 | Integer | Yes | Column limit, between 0 and 20 |
∟ from_date | 2021-10-01 00:00:00 | String | No | Start time yyyy-MM-dd HH: mm: ss |
∟ recent_day | String | No | Relative 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 yyyy-MM-dd HH: mm: ss |
events | - | List | Yes | List of event indicators |
∟ by_fields | - | List | List | Split by event properties |
∟ event_name | login | String | Yes | Event name |
∟ field | browser | String | Yes | Split field |
∟ range | String | No | Interval | |
∟ table_type | event | String | Yes | Table type, event: transaction table, user: user table |
∟ event_names | ["logout","login"] | String | Yes | Event type, in particular, you can use anyEvent to represent any event |
∟ 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: Filtered expression for model query API |
∟ filterType | SIMPLE | String | No | Filter mode, SIMPLE: simple, COMPOUND: composite |
∟ ftv | ["V1.0"] | List | No | Property comparison value |
∟ specifiedClusterDate | 2022-01-26 | String | No | Cluster specified date |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
projectId | 377 | Integer | Yes | Project ID |
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 information |
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 | Group property table |
∟ col_limit | 10 | String | Yes | Between 0 and 20 |
∟ from_date | 2019-11-20 00:00:00 | String | No | Start time (format: yyyy-MM-dd HH: mm: ss) |
∟ to_date | 2019-11-26 00:00:00 | String | No | End time (format: yyyy-MM-dd HH: mm: ss) |
∟ recent_day | 1-7 | String | No | Relative time (this item cannot be empty at the same time as the start time and the end time) |
∟ session_interval | 22 | Integer | Yes | Session interval length |
∟ session_type | minute | String | Yes | Session duration units: seconds, minutes, hours |
events | List | Yes | List of event indicators | |
∟ event_names | ["obtain_item"] | List | Yes | Event type, in particular, you can use anyEvent to represent any event |
∟ source_event | - | Object | Yes | Initial event |
∟ event_name | consume_item | String | Yes | Event name, up to 30 |
∟ filter | - | Object | No | Filter |
∟ filts | - | List | No | Filter List |
∟ columnName | #os | String | Yes | Field name |
∟ comparator | equal | String | Yes | Reference: Filtered expression for model query API |
∟ ftv | ["ios"] | List | No | Property comparison value |
∟ tableType | event | String | Yes | Table type, event: transaction table, user: user table |
∟ relation | and | String | No | Logical relationship, and: logical and, or: logical or |
next_slice_event_by_values | - | List | No | Subsequent events of nodes slice_type = with_next_specific required |
∟ 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 information |
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 information |