manuallatestProduct Manual / Flows Analysis model API
Flows Analysis model API
For how to call the API, see the calling method described in the Open API document.
To learn about use cases, see Flows Analysis in the user guide.
1. Flows Analysis query
Endpoint URL
/open/path-analyze?token=xxx
Request method
POST
Content-Type
application/json
Request query parameters
| Parameter name | Example value | Parameter type | Required | Description |
|---|---|---|---|---|
| token | xxx | String | Yes | Query key |
Request body parameters
{
"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,
"zoneOffset": 10
}
Request parameters
| $$Parameter name | Example value | Parameter type | Required | Description |
|---|---|---|---|---|
| eventView | - | Object | Yes | Common properties of the metrics |
| 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 yyyy-MM-dd HH:mm:ss |
| eventView.recent_day | String | No | Relative time | |
| eventView.session_interval | 30 | Integer | Yes | Session interval |
| eventView.session_type | minute | String | Yes | Session interval unit: second, minute, hour |
| eventView.to_date | 2021-10-02 23:59:59 | String | No | End time yyyy-MM-dd HH:mm:ss |
| events | - | List | Yes | List of event metrics |
| events.by_fields | - | List | List | Breakdown by event property |
| events.by_fields.event_name | login | String | Yes | Event name |
| events.by_fields.field | browser | String | Yes | Breakdown field |
| events.by_fields.range_type | - | String | No | Interval type
|
| events.by_fields.range | - | String | No | Range |
| events.by_fields.table_type | event | String | Yes | Table type. event: event table, user: user table |
| events.event_names | ["logout","login"] | String | Yes | Event name. In particular, you can use anyEvent to represent any event |
| 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 filter |
| events.source_event.filter.filterType | COMPOUND | String | No | Filter mode. SIMPLE: simple, COMPOUND: compound |
| events.source_type | initial_event | String | Yes | Event type. initial_event, termination_event |
| events.user_filter | - | Object | No | User table filter |
| events.user_filter.filterType | COMPOUND | String | No | Filter mode. SIMPLE: simple, COMPOUND: compound |
| 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: filter expressions of the model query API |
| events.user_filter.filts.filterType | SIMPLE | String | No | Filter mode. SIMPLE: simple, COMPOUND: compound |
| events.user_filter.filts.ftv | ["V1.0"] | List | No | Literal constants used as boundaries for property comparison |
| events.user_filter.filts.specifiedClusterDate | 2022-01-26 | String | No | Uses the historical version of the tag for the specified date |
| events.user_filter.filts.tableType | event | String | Yes | Table type. event: event table, user: user table |
| events.user_filter.relation | and | String | No | Logical relation. and: logical AND, or: logical OR |
| projectId | 377 | Integer | Yes | Project ID |
| timeoutSeconds | 10 | Integer | No | Request timeout. The query task is canceled when it times out |
| useCache | true | Boolean | Yes | true means the cache is used |
| zoneOffset | 10 | Integer | No | Time zone |
Success response example
{
"data": {
"event_name_desc_map": {
"anyEvent": "Any Event",
"login": "Login",
"logout": "User 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 parameters
| $$Parameter name | Example value | Parameter type | Description |
|---|---|---|---|
| return_code | 0 | Integer | Return code |
| return_message | success | String | Return message |
| data | - | Object | Returned data |
| data.event_name_desc_map | - | Map | Mapping between event names and event descriptions |
| data.links | - | List<List> | Relationship matrix |
| data.links.source | 0_Chrome^_^login | String | Start node of the relationship |
| data.links.target | 1_level_up | String | End node of the relationship |
| data.links.times | 5106 | Integer | Times |
| data.nodes | - | List<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 | Times |
| data.result_generate_time | 2022-01-24 18:53:26 | String | Query result generation time |
Error response example
{
"return_code": -1008,
"return_message": "Parameter (token) is empty"
}
| Parameter name | Example value | Parameter type | Description |
|---|---|---|---|
| return_code | -1008 | Integer | Return code |
| return_message | Parameter (token) is empty | String | Return message |
2. Flows Analysis user list
Endpoint URL
/open/path-user-list?token=xxx
Request method
POST
Content-Type
application/json
Request query parameters
| Parameter name | Example value | Parameter type | Required | Description |
|---|---|---|---|---|
| token | xxx | String | Yes | Query key |
Request body parameters
{
"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,
"zoneOffset": 10
}
Request parameters
| $$Parameter name | Example value | Parameter type | Required | Description |
|---|---|---|---|---|
| projectId | 0 | String | Yes | Description |
| eventView | - | Object | Yes | The parameters are the same as those of the Flows Analysis query API |
| events | List | Yes | List of event metrics | |
| next_slice_event_by_values | - | List | No | Subsequent events of the node Required when slice_type=with_next_specific |
| next_slice_event_by_values.slice_event_name | obtain_coin | String | No | Event name |
| session_level | 2 | Integer | Yes | Path level of the node (counting from 0) |
| slice_type | with_next_specific | String | Yes | Subsequent event status of the node
|
| slice_event_by_values | - | List | No | Node event |
| slice_event_by_values.slice_event_name | obtain_item | String | No | Event name |
| timeoutSeconds | 10 | Integer | No | Request timeout. The query task is canceled when it times out |
| zoneOffset | 10 | Integer | No | Time zone |
Success 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": "Distinct ID",
"user_level": "User level",
"register_time": "Registration time",
"diamond_num": "Current diamonds",
"first_recharge_time": "First top-up time",
"latest_login_time": "Last login time",
"channel": "Channel"
}
},
"return_code": 0,
"return_message": "success"
}
Response parameters
| $$Parameter name | Example value | Parameter type | Description |
|---|---|---|---|
| return_code | 0 | Integer | Return code |
| return_message | success | String | Return message |
| data | - | Object | Returned result |
| data.datalist | - | List<Map> | User information |
| data.columMeta | - | Map | Mapping of field meanings |
Error response example
{
"return_code": -1008,
"return_message": "Parameter (token) is empty"
}
| Parameter name | Example value | Parameter type | Description |
|---|---|---|---|
| return_code | -1008 | Integer | Return code |
| return_message | Parameter (token) is empty | String | Return message |
Was this page helpful?

