菜单

路径分析模型API

一、路径分析查询

接口URL

/api/open_api/v1/analysis/trace?token=xxx

请求方式 

POST

Content-Type

application/json

请求Query参数

参数名
参数类型
是否必填
说明
token
String
查询token

请求Body参数

请求的body参数主要由分析条件参数(events全局筛选参数(eventsFilter)会话间隔时长参数windowPeriod)、时间粒度参数(eventsView)时区参数(timeZoneOffset)构成,各个参数与页面上的对应关系如下图所示。其中全局筛选、时间粒度和时区等参数为通用参数,可见通用参数列表。

分析条件参数

分析条件参数用于描述在路径分析中用户的操作路径,指定选中的某事件作为初始或结束事件分析用户操作行为,并可对选中事件进行拆分,参数说明如下:

参数名
参数类型
是否必填
说明
events
Object 分析条件
byFields
List[Object]
事件拆分列表,列表中每个对象表示拆分的事件及属性说明
列表中对象结构参见通用的API查询参数说明中的“如何表示一个分组项”
注:对象结构中区别于分组项参数多出eventName参数,表示拆分的事件名称,为String类型,且为必填
 
 eventNames
List[String]
路径事件列表,列表中每个元素表示选择的参与分析的事件
sourceEvent
Object
源头事件
 
eventName
String
事件名称,特别的任意事件为“_any_”
relation
String
 
当想要对该事件进行筛选时,需要传入这三个字段,具体说明可见通用的API查询参数说明中“如何表示一个筛选”
filters
List
filterType
String
 
sourceType
Number
枚举源头事件的事件类型
开始事件:0
结束事件:1

基于上述说明,设定场景:查询参与app安装和app打开事件并按照app安装事件的gaid进行拆分,且以app安装为初始事件且时间位于2024年12月27号。

给予参数示例如下:

{
    "events": {
        "eventNames": [
            "#app_install",
            "#session_start"
        ],
        "byFields": [
            {
                "eventName": "#app_install",
                "name": "#gaid",
                "display_name": "gaid",
                "describe": "Google 的广告设备 ID;不同 app 在同一个设备上gaid 一样,但是因为权限可能无法获取",
                "data_type": "string",
                "type": 1,
                "table_type": "event",
                "extra": {
                    "original_column_type": "varchar",
                    "parent_column_type": null
                },
                "columnName": "#gaid",
                "columnType": "string",
                "tableType": "event",
                "columnDesc": "gaid",
                "propertyRangeType": 1,
                "propertyRange": [
                    0
                ],
                "timeGroupType": "daily",
                "displayName": "gaid"
            }
        ],
        "sourceEvent": {
            "eventName": "#app_install",
            "relation": "and",
            "filters": [
                {
                    "filterType": "SIMPLE",
                    "relation": "and",
                    "filters": [
                        {
                            "name": "#event_time",
                            "display_name": "事件时间",
                            "describe": "事件发生时的客户端时间,获取时间戳,精确到毫秒",
                            "data_type": "dateTime",
                            "type": 1,
                            "table_type": "event",
                            "extra": {
                                "original_column_type": "timestamp",
                                "parent_column_type": null
                            },
                            "columnName": "#event_time",
                            "columnDesc": "事件时间",
                            "columnType": "dateTime",
                            "comparator": "C08",
                            "filterValue": [
                                {
                                    "timeCalcMode": "static",
                                    "dateList": [
                                        "2024-12-27 00:00:00",
                                        "2024-12-27 23:59:59"
                                    ]
                                }
                            ],
                            "tableType": "event"
                        }
                    ]
                }
            ]
        },
        "sourceType": 0
    }
}

会话间隔时长参数

会话间隔时长参数用于描述用户操作之间的间隔窗口时间,参数说明如下:

参数名
参数类型
是否必填
说明
windowPeriod
Object
分析窗口时间
gapMs
Number
分析窗口时间范围
gapTu
String
枚举起始事件与结束事件间隔时间精度
按小时:hour
按分钟:minute
按秒:second

基于上述说明,设定场景:设定会话间隔时长为30分钟。

给予参数示例如下:

{
    "windowPeriod": {
        "gapTu": "minute",
        "gapMs": 30
    }
}

全局筛选、时间粒度和时区

此部分参数为通用参数。

参数名
参数类型
是否必填
说明
eventsFilter
Object
通用参数,见"如何表示一个筛选项"
eventsView
Object

通用参数,见"如何表示计算时间范围以及计算粒度"

timeZoneOffset
Number 

通用参数,表示计算时区,如8、-8,若未传递,则默认表示0时区

请求响应结果

示例

以下图所示的分析场景,进行API查询

那么最终返回结果如下示例:

{
    "by_field_format": {
        "#event_time": "事件时间"
    },
    "event_name_format": {
        "#app_install": "app安装",
        "#session_start": "app打开"
    },
    "links": [
        [
            {
                "source": "0_2024-12-06_#app_install",
                "target": "1_#session_start",
                "times": 13
            },
            {
                "source": "0_2024-12-07_#app_install",
                "target": "1_#session_start",
                "times": 12
            },
            {
                "source": "0_2024-12-09_#app_install",
                "target": "1_#session_start",
                "times": 12
            },
            {
                "source": "0_2024-12-10_#app_install",
                "target": "1_#session_start",
                "times": 12
            },
            {
                "source": "0_2024-12-08_#app_install",
                "target": "1_#session_start",
                "times": 7
            },
            {
                "is_wastage": true,
                "source": "0_2024-12-08_#app_install",
                "target": "2_wastage",
                "times": 93
            },
            {
                "is_wastage": true,
                "source": "0_2024-12-07_#app_install",
                "target": "2_wastage",
                "times": 88
            },
            {
                "is_wastage": true,
                "source": "0_2024-12-09_#app_install",
                "target": "2_wastage",
                "times": 88
            },
            {
                "is_wastage": true,
                "source": "0_2024-12-10_#app_install",
                "target": "2_wastage",
                "times": 88
            },
            {
                "is_wastage": true,
                "source": "0_2024-12-06_#app_install",
                "target": "2_wastage",
                "times": 87
            }
        ],
        [
            {
                "is_wastage": true,
                "source": "1_#session_start",
                "target": "3_wastage",
                "times": 56
            }
        ]
    ],
    "source_event": "#app_install",
    "source_type": 0,
    "nodes": [
        [
            {
                "event_name": "#app_install",
                "id": "0_2024-12-08_#app_install",
                "times": 100,
                "by_value": "2024-12-08"
            },
            {
                "event_name": "#app_install",
                "id": "0_2024-12-07_#app_install",
                "times": 100,
                "by_value": "2024-12-07"
            },
            {
                "event_name": "#app_install",
                "id": "0_2024-12-09_#app_install",
                "times": 100,
                "by_value": "2024-12-09"
            },
            {
                "event_name": "#app_install",
                "id": "0_2024-12-10_#app_install",
                "times": 100,
                "by_value": "2024-12-10"
            },
            {
                "event_name": "#app_install",
                "id": "0_2024-12-06_#app_install",
                "times": 100,
                "by_value": "2024-12-06"
            }
        ],
        [
            {
                "event_name": "#session_start",
                "id": "1_#session_start",
                "times": 56
            }
        ]
    ]
}

响应结果说明

参数名
参数类型
参数描述
by_field_format
Object
拆分字段格式化,key表示拆分时选择属性的name,value为display_name
event_name_format
Object
事件名格式化,key表示拆分时选择的属性的name,value为display_name
links
List[Object]
连接线
source
String
开始事件
target
String
结束事件
times
Number
会话数
nodes
List[List[Object]]
节点
by_value
String
拆分值
event_name
String
事件名
id
String
节点id
times
Number
会话数
source_event
String
源头事件
source_type
Number
枚举源头事件类型
开始事件:0
结束事件:1

二、路径分析用户列表查询

在路径分析中,我们可以在某个节点的节点详情中看到节点的具体信息,当我们想查看这些节点具体的用户列表时,可以使用路径分析的用户列表查询API。

接口URL

/api/open_api/v1/analysis/trace_user_list?token=xxx

请求方式

POST

Content-Type

application/json

请求Query参数

参数名
参数类型
是否必填
说明
token
String
查询token

请求Body参数

请求的body参数在对应完整使用的路径分析的参数外,额外加多details和properties字段,来指明需要查看哪个节点的用户列表,参数说明如下:

参数名
参数类型
是否必填
说明
details
Object
查询详情
eventModel
String
分析模型,此处为路径分析故固定为“track”
sliceType
String
枚举列表数据类型(这个里接口为用户列表,固定为user)
用户列表:user
事件列表:event
sessionLevel
Number
节点所处的路径层级(从0开始计数)
sliceIsMore
bool
当前节点是否是 more 节点
nextSliceIsMore
String
 
要查看的下一层级节点是否是 more 节点
sliceEvent
 
List[Object]
 
 
节点的事件
{"sliceEventName":""} //对象结构示例
nextSliceEvent
 
List[Object]
 
下一个节点事件
{"sliceEventName":""} //对象结构示例
traceType
 
Number
 
 
枚举节点详情类型
合计:1
后续事件合计:2
流失:3
后续事件:4
properties
List[Object]
需要获取的用户属性,该参数默认返回"#acid"、"#dt_id"、"$uid"
{"column_name":"#acid"} //对象结构示例
column_name
String
属性名

示例

下述示例,即表示在路径分析完成计算后,查看第一个节点中的用户详情。

{
    "events": { ... },
    "eventsFilter": { ... },
    "eventsView": { ... },
    "windowPeriod": { ... },
    "timeZoneOffset": 2,
    "details": {
        "eventModel": "trace",
        "sliceType": "user",
        "sessionLevel": 0,
        "sliceIsMore": false,
        "nextSliceIsMore": false,
        "sliceEvent": [
            {
                "sliceEventName": "#app_install"
            }
        ],
        "nextSliceEvent": [],
        "traceType": 1
    },
    "properties": [
        {
            "column_name": "#acid"
        }
    ]
}

请求响应结果

参数名 字段类型 字段说明
columnMeta
Object

所查询的properties的属性映射,键值对的个数 = 请求参数中properties的长度,键名为属性名,值为属性显示名

data_list
List[Object] 用户列表详情,长度 = 计算的结果数,对象中为属性名:属性值的键值对
total
Number 总数,最多返回1000条

示例

{
  "columnMeta": {
    "#acid": "账号 ID",
    "#app_id": "应用唯一标识",
    "#app_version": "应用版本",
    "#bundle_id": "应用包名",
    "#carrier": "运营商",
    "#city": "城市",
    "#country": "国家",
    "#dt_id": "访客ID",
    "$uid": "DT 用户 ID"
  },
  "total": 1,
  "data_list": [
    {
      "#acid": "0@5IZJI4YUWZcard_games",
      "#app_id": "dt_xxxx",
      "#app_version": "app2.0.1",
      "#bundle_id": null,
      "#carrier": "移动",
      "#city": "纽约",
      "#country": "中国",
      "#dt_id": "dddddd",
      "$uid": "123232455"
    },
  ],
}
上一个
间隔分析模型API
下一个
属性分析模型API
最近修改: 2024-12-30