Session分析

方舟5.1.0068版本中新增API

1. 接口地址

【POST】 /uba/api/sessions/analyze

2. 请求参数示例

接口请求参数,更多参数说明参照 查询API 中的 通用参数 说明。

{
// 【必填】指标 可以输入多个
"measures":[
{
//【必填】Session总体
"expression":"event.$Anything$Session",
//【必填】总次数
"aggregator":"SESSION_TOTAL_COUNT"
}
],
// 针对于所有指标的过滤条件,非必填
"filter":{
"conditions":[
{
//【必填】属性表达式
"expression":"user.xwho",
//【必填】条件操作符号
"function":"NOT_NULL",
"params":[
]
},
{
"expression":"session.$Anything.$platform",
"function":"EQ",
"params":[
"iOS",
"Android",
"JS"
]
}
],
"relation":"AND"
},
//【必填】用户分群 只支持查询单分群
"crowds":[
"$ALL"
],
//【必填】 时间范围-开始时间
"fromDate":"2020-07-03",
//【必填】 时间范围-结束时间
"toDate":"2020-07-09",
//查询结果是否使用缓存 true为使用缓存 false为重新查询
"useCache":true,
//抽样 这里表示全量
"samplingFactor":1,
//查看时间粒度 这里表示按日查看
"unit":"DAY",
//按XX维度查看,可以输入多个
"byFields":[
{
"expression":"session.$Anything.$platform"
}
],
//【必填】是否使用默认规则 true为使用默认规则 false为指定规则
"defaultRule":false,
//session规则 如果defaultRule=false,则需要指定session切割规则
"sessionRule":{
//【必填】参与session计算的事件
"events":[
"$pageview"
],
//【必填】超时切割时间,单位为分钟
"timeout":30,
//【必填】零点是否自动切割
"autoSplit":false,
//【必填】UID跨屏切割
"useUid":false,
//指定切割事件,当出现X事件时就算一次新session,不必填
"splitEvent": ""
}
}

特殊说明:

1、参数在示例中未标注必填的表示选填。

2、请求参数可以通过方舟产品生成,使用方法参照 接口请求参数获取

3、接口不支持日期对比和分群对比。

4、查询指标中如果包含时长的,如访问时长,停留时长等,返回结果的单位为毫秒。

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

2.1 聚合表达式说明

aggregator:聚合表达式,根据指标表达式是事件和属性而不同。

  • Session指标表达式:

    • SESSION_TOTAL_COUNT :访问次数。

    • SESSION_AVG_COUNT:人均访问次数。

    • SESSION_DURATION_SUM:总访问时长。

    • SESSION_PER_DEEPNESS_SUM:单次访问深度。

    • SESSION_BOUNCE_COUNT:跳出次数。

    • SESSION_BOUNCE_RATE:跳出率。

    • SESSION_DROPOUT_COUNT:退出次数。

    • SESSION_DROPOUT_RATE:退出率。

    • SESSION_AVG_DURATION:人均访问时长。

    • SESSION_AVG_DURATION:人均访问时长。

    • SESSION_PAGE_DURATION:页面停留总时长。

    • SESSION_PAGE_AVG_DURATION:平均页面停留时长。

  • 属性表达式支持的聚合操作符如下:

    • REMOVE_DUMPLICATE :表示去重数,支持所有数据类型。

    • SUM:总和,选定属性的属性值求和,例如加入购物车的商品金额之和,只支持数值类型。

    • AVG:均值,选定属性的属性值算数平均数,例如加入购物车的商品金额均值,只支持数值类型。

    • MAX: 最大值,选定属性的属性值最大值,例如加入购物车的商品最大金额,只支持数值类型。

    • MIN :最小值,选定属性的属性值最小值,例如加入购物车的商品最小金额,只支持数值类型。

    • AVG_PER: 人均值,选定属性的属性值人均值,例如人均加入购物车的商品金额,只支持数值类型。

3. 返回结果示例

{
//查询的指标,和输入一致
"measures": [
"event.$Anything.SESSION_TOTAL_COUNT",
"event.$Anything.SESSION_DURATION_SUM"
],
//查看维度,和输入一致
"byFields": [
"session.$Anything.$browser",
"session.$Anything.$platform"
],
//时间范围
"series": [
"2020-07-03",
"2020-07-04",
"2020-07-05",
"2020-07-06",
"2020-07-07",
"2020-07-08",
"2020-07-09"
],
//返回结果
"rows": [
{
//日期范围内合计,根据数组下标和 measures[]指标对应
"sum": [
11
],
//每日的指标结果,根据数组下标和measures[]指标对应
"values": [
//每日的具体指标数,根据下标和时间series[]下标对应
[
0,
0,
0,
0,
4,
0,
7
]
],
//具体维度分组结果
"byValue": [
"JS"
]
},
{
"sum": [
2
],
"values": [
[
0,
0,
0,
0,
2,
0,
0
]
],
"byValue": [
"iOS"
]
}
],
//查询时间
"reportUpdateTime": "2020-07-10 11:03:26"
}

4. 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
"measures":[
{
"expression":"event.$Anything$Session",
"aggregator":"SESSION_TOTAL_COUNT"
}
],
"filter":{
"conditions":[
{
"expression":"session.$Anything.$platform",
"function":"EQ",
"params":[
"iOS",
"Android",
"JS"
]
}
],
"relation":"AND"
},
"crowds":[
"$ALL"
],
"fromDate":"2020-07-06",
"toDate":"2020-07-12",
"useCache":true,
"samplingFactor":1,
"unit":"DAY",
"byFields":[
{
"expression":"session.$Anything.$platform"
}
],
"defaultRule":true
}' http://127.0.0.1:4005/ark/uba/api/sessions/analyze