# Path Analysis Model API
Call method See Call method description in Open API doc.
You can read the path analysis in the user manual to understand the usage scenario.
# Path Analysis Query
Interface URL
/open/path-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 |
# Path Analysis User List
Interface URL
/open/path-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 path 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 |
