方舟智能分析
产品功能SDK指南API
  • 产品简介
  • 快速上手
    • Step 1 安装部署
    • Step 2 激活系统创建项目
    • Step 3 开启您的分析旅程
      • 1. 集成 SDK
      • 2. 可视化埋点
      • 3. 创建分析模型
    • 附:埋点方案设计
    • 附:数据分析思路
  • 产品更新日志
    • V5.3.3 UI 升级、分布分析重构、维度表动态更新、细节优化等
    • V5.2.0 新增归因分析、消息中心、重构埋点方案、优化看数据体验……
    • V5.1.0317 体验优化& Bug修复
    • V5.1.0 升级可视化埋点、增强权限控制……
  • 我要反馈
  • 🐱Part I 产品功能说明
    • 名词解释
    • 指标说明
    • 看板
    • 分析
      • 事件分析
      • 渠道分析
        • 渠道相关名词解释
        • 来源识别规则
        • 搜索引擎
        • 社交媒体
        • 小程序场景值
        • Session 规则
      • Session 分析
      • 实时分析
      • 留存分析
      • 转化漏斗
      • 智能路径
      • 归因分析(Beta)
      • 热图分析
        • Web/H5 热图
        • APP 热图
      • 分布分析
      • 间隔分析
      • 属性分析
      • 自定义查询
    • 用户
      • 用户探查
      • 用户分群
      • 用户标签
        • 标签体系
        • 标签加工
          • 如何自定义SQL创建标签
        • 标签生命周期管理
        • 标签体系应用概览
      • 单用户档案
    • 运营
      • 电子邮件
      • 短信
      • 消息通知
      • 广告跟踪
      • App 推广监测(Beta)
    • 项目管理
      • 项目概览
      • 项目角色管理
      • 项目成员管理
      • 数据接入管理
        • 埋点方案
        • 可视化埋点
        • 集成SDK接入数据
        • 数据验证
        • 用户数据导入
      • 元数据管理
        • 元事件
        • 虚拟事件
        • 事件属性
        • 用户属性
        • Session 管理
        • 页面组管理
        • 维度表
      • 服务集成配置
      • 监控告警
        • 智能监控
        • 自定义监控
    • 平台管理
      • 企业概览
      • 项目管理
      • 成员管理
      • 安全设置
      • 企业设置
      • 日志管理
      • 帐号设置
  • 🐵Part II 技术文档
    • 技术接入准备工作
      • 部署环境检测工具
      • 数据模型
      • 数据格式
      • 预置事件和属性
        • App预置事件/属性
        • JS 预置事件/属性
      • 如何准确识别用户
      • 如何设计埋点方案
      • 分平台上报数据 vs 跨平台打通
    • SDK 指南
      • Android SDK
        • 快速集成
        • 全埋点模块
        • 消息推送模块
        • Android Hybrid模式
        • SDK Gradle集成方式
        • 多渠道打包
        • 易观小工具
        • 合规相关
      • iOS SDK
        • 快速集成
        • 全埋点介绍
        • iOS Hybrid模式
        • 消息推送模块
      • JS SDK
        • 快速集成
        • JS SDK基础版
        • JS SDK插件
      • 微信小程序 SDK
        • 快速集成
        • 微信小程序标准版
        • 微信小程序插件版
        • 微信小程序通用框架版
      • 支付宝小程序 SDK
        • 支付宝小程序标准版
        • 支付宝小程序通用框架版
      • 字节跳动小程序 SDK
        • 字节跳动小程序标准版
        • 字节跳动小程序通用框架版
      • 百度小程序 SDK
        • 百度小程序标准版
        • 百度小程序通用框架版
      • 钉钉小程序 SDK
        • 钉钉小程序标准版
        • 钉钉小程序通用框架版
      • QQ小程序 SDK
        • QQ小程序标准版
        • QQ小程序通用框架版
      • 快应用 SDK
      • 华为WeCode小程序
        • WeCode SDK 标准版
        • WeCode SDK插件
      • PhoneGap SDK
      • mPaaS SDK
      • ReactNative SDK
      • Flutter SDK
      • Java SDK
      • Python SDK
      • PHP SDK
      • C++ SDK
      • C# SDK
      • Node JS SDK
      • Lua SDK
      • Golang SDK
      • SDK FAQ
        • identify与alias的区别
        • 爬虫数据如何识别?
        • 页面停留如何获取时间?
        • 如果获取SDK及更新日志
        • 代码埋点和无埋点有什么区别
        • Web页面中发现丢失某一个事件
        • 自研 SDK 注意事项
        • 页面时长统计功能
    • 数据验证
      • 客户端埋点验证
      • Debug 数据验证
      • 数据入库验证
    • 数据导入
      • 接口导入
      • JAVA工具包
        • 标准json文件导入
        • csv格式导入
      • 数据导入FAQ
    • 数据导出
      • JAVA工具包
        • 事件数据导出
        • 用户数据导出
      • 直接从Kafka中消费数据
      • 使用程序访问数据库
    • 脚本工具
    • API
      • 分析API
        • 事件分析
        • 留存分析
        • 转化漏斗
        • 属性分析
        • Session分析
        • 渠道分析
        • 分布分析
        • 自定义查询
      • 用户API
        • 分群查询
        • 用户档案
        • 分群管理
      • 管理API
        • 权限管理
        • 元数据管理
        • 埋点方案管理
        • 维度表管理
      • 运营API
        • 广告跟踪
      • 平台管理API
        • 项目管理
        • 成员管理
    • 第三方登录
      • OAuth2.0登录
      • LDAP登录
    • GDPR 合规
  • �� Part III 常见问题
    • License 许可
    • 产品试用及采购
    • 参与贡献
由 GitBook 提供支持
在本页
  • 1. 调用方法
  • 2. 通用参数
  • 2.1 表达式
  • 2.2 过滤条件
  • 2.3 选择用户分群
  • 2.4 查询时间范围
  • 2.5 选择抽样
  • 2.6 细分维度查看
  • 2.7 时间粒度
  • 2.8 使用缓存
  • 2.9 时间枚举
  • 3. 接口请求参数快捷获取
  • 4. 接口列表

这有帮助吗?

  1. Part II 技术文档
  2. API

分析API

分析模型数据获取

上一页API下一页事件分析

最后更新于4年前

这有帮助吗?

1. 调用方法

采用标准的 HTTP 方式,调用的URL为访问网站的URL+API地址,详情见 。

2. 通用参数

2.1 表达式

API中使用的指标、过滤条件、维度等都会使用表达式,所以几乎所有API都会使用表达式。表达式分为事件表达式和属性表达式两种,对应的参数名称都为expression。

2.1.1 事件表达式

事件表达式格式为 event.事件ID 的方式,如 注册事件 的事件表达式为:

"expression": event.signup

任意事件由系统预置,事件ID为 $Anything,任意事件 表达式为:event.$Anything

2.1.2 属性表达式

属性包括事件属性和用户属性,在5.2版本开始支持自定义表达式、标签属性和维度表属性。

  • 事件属性

事件属性使用 event.事件ID.属性ID 的方式,例如表示 注册事件的注册方式 这个事件属性的表达式为

"expression": event.signup.signuptype
  • 用户属性

用户属性使用 user.用户属性ID 的方式,例如表示 用户注册时间 这个用户属性的表达式如下:

"expression": user.$signup_time
  • 自定义表达式

自定义表达式使用 formula.表达式ID 的方式,配合页面获取参数使用

  • 用户标签属性

‌用户标签使用 tag.标签CODE.标签版本 的方式,标签版本可不指定,为空时取最新版本,表达式如下:

不指定版本号:
"expression": tag.tag_code1
​
指定版本号:
"expression": tag.tag_code1.2020-11-01
  • 事件维度表属性

事件属性维度表使用 dim.事件ID.维度表.维度属性 的方式

如基于 SDK类型 $lib 创建了一个维度表,维度表名为:dim_lib_info

维度属性包含:

$lib (关联字段)

name

type

JS

WEB

客户端

iOS

苹果

客户端

Android

安卓

客户端

java

JAVA

服务端

如果是根据维度表的关联属性 type进行分析,表达式如下:

"expression": dim.$Anything.dim_lib_info.type

如果是根据维度表的关联属性 name 进行分析,表达式如下:

"expression": dim.$Anything.dim_lib_info.name

2.2 过滤条件

过滤条件主要用来筛选符合期望的某些事件结果或者用户结果,根据条件使用的场景不同,能选择到的过滤内容也不同:

  • 如果过滤条件应用在某个事件下,可以使用通用事件属性、用户属性和这个事件独有的事件属性。

  • 如果过滤条件是全局的,针对于所有事件生效,可以使用通用事件属性、用户属性和所有事件都有(根据属性ID判断)的事件属性。

过滤条件使用参数名称为flter,参数格式为JSON,如下:

"filter":{
    //过滤条件列表,可以输入多个
    "conditions": [ 
       {
            //条件,如任意事件平台等于JS或iOS
            "expression": "event.$Anything.$platform",
            //条件操作符号
            "function": "EQ",
            // 条件的参数,根据不同的操作符可以有一个或者多个,数组格式
            "params": ["JS","iOS"]
       },
       {
            // SDK版本等于4.0.4.001
            "expression": "event.$Anything.$lib_version",
            "function": "EQ",
            "params": ["4.0.4.001"]
       }
   ],
    //条件之间的关系,只能是 且(AND)/ 或(OR)
    "relation": "AND"
}                         

2.2.1 条件之间的关系

各个条件之间的关系只支持AND/OR。

  • AND:条件之间都是且的关系,查询的数据需要满足所有条件。

  • OR:条件之间都是或的关系,查询的数据只要满足其中一个条件即可。

2.2.2 条件操作符号

条件操作符主要用在过滤条件中,不同属性数值类型,支持不同操作运算符。

  • EQ

    等于,当params一个值时,表示等于这个值的才满足;当params有多个值时,表示满足其中一项即可,相当于in。

  • NOT_EQ

    不等于,当params一个值时,表示不等于这个值的都满足;当params有多个值时,表示不能是其中任意一项,相当于not in。

  • CONTAIN

    包含,属性值包含指定字符串,相当于 like %params[0]%。

  • NOT_CONTAIN

    不包含,属性值不包含指定字符串,相当于not like %params[0]%。

  • NOT_NULL

    有值,属性值有值,相当于 is not null。

  • NULL

    无值,属性值无值,相当于 is null。

  • EQ

    等于,当params一个值时,表示等于这个值的才满足;当params有多个值时,表示满足其中一项即可,相当于in。

  • NOT_EQ

    不等于,当params一个值时,表示不等于这个值的都满足;当params有多个值时,表示不能是其中任意一项,相当于not in。

  • GT

    大于。

  • GTE

    大于等于。

  • LT

    小于。

  • LTE

    小于等于。

  • RANGE

    区间,在某个数据区间内的数值,相当于 >= params[0] and <= params[1] 或者 between params[0] and params[1]。

  • NOT_NULL

    有值,属性值有值,相当于 is not null。

  • NULL

    无值,属性值无值,相当于 is null。

  • TRUE

    为真。

  • FALSE

    为假。

  • NOT_NULL

    有值,属性值有值,相当于 is not null。

  • NULL

    无值,属性值无值,相当于 is null。

  • ABSOLUTE_TIME

    绝对时间,在某个具体的时间范围,相当于 >= params[0] and <= params[1] 或者 between params[0] and params[1]。

      {
          "expression": "user.$signup_time",
          "function": "ABSOLUTE_TIME",
          "params": ["2019/05/01 00:00","2019/05/31 00:00"]
      }
  • RELATIVE_TIME_OF_CUURENT

    在相对当前时间点。

    四天之内

      {
          "expression": "user.$signup_time",
          "function": "RELATIVE_TIME_OF_CUURENT",
          "params": ["4", "day", "within"]
      }

    四天之前

      {
          "expression": "user.$signup_time",
          "function": "RELATIVE_TIME_OF_CUURENT",
          "params": ["4", "day", "before"] 
      }
  • RELATIVE_TIME_RANGE_CUURENT

    在相对当前的时间区间。

    在过去3天到过去1天之内

      {
          "expression": "user.$signup_time",
          "function": "RELATIVE_TIME_RANGE_CUURENT",
          "params": ["3","1","day"]
      }
  • RELATIVE_TIME_OF_EVENT

    相对于事件发生时间。 如注册时间在事件发生时间之后(after)/之前(before)3天(day)/小时(hour)/分(minute)/秒(second)

      {
          "expression": "user.$signup_time",
          "function": "RELATIVE_TIME_OF_EVENT",
          "params": ["after","3","day"]
      }

    注册时间在事件发生时间当天(day)/当周(week)/当月(month)

      {
          "expression": "user.$signup_time",
          "function": "RELATIVE_TIME_OF_EVENT",
          "params": ["day"]
      }
  • NOT_NULL

    有值,属性值有值,相当于 is not null。

  • NULL

    无值,属性值无值,相当于 is null。

  • EQ

    等于,集合只取第一个值进行完整匹配。

  • CONTAIN

    包含,集合里面包含某个值。

  • NOT_CONTAIN

    不包含,集合里面不包含某个值。

  • NOT_NULL

    有值,属性值有值,相当于 is not null。

  • NULL

    无值,属性值无值,相当于 is null。

2.3 选择用户分群

查询某个分群的数据,对应分群code。如:

"crowds":["$ALL"]

2、当前所有API不支持多分群对比。

2.4 查询时间范围

格式固定为 yyyy-MM-dd,查询都是 大于等于 开始时间,小于等于 结束时间

//开始时间
"fromDate": "2019-06-18"
//结束时间
"toDate": "2019-06-24"

2.5 选择抽样

抽样因子,范围为1-64, 1表示全量数据,64 表示1/64 ,如抽样二分之一:

"samplingFactor":2

2.6 细分维度查看

查询结果按照事件属性/用户属性分组进行查看,不传为不分组。事件分析支持多维度查看,其余图表分析只支持单维度。

"byFields":[
    {
        //按照屏幕高度分组
        "expression":"event.$Anything.$screen_width",
        //是否使用分桶条件查看结果,只有属性为数值类型时才能使用
        //【数值类型时必填】这里表示按照 -∞ ~ 600,600 ~ 800,800 ~ +∞ 三个区间查看
        "buckets":[
            600,
            800
        ],
        // 【日期类型时必填】这里表示不汇总按照按日统计
        "byTimeType":"DAY"
    }
]

特殊说明:

1、分桶(buckets)只适用于数值类型属性,当前只支持自定义区间。

3、多维度使用 byFields:[],单维度使用 byField:{},内部参数结构和示例一致。

2.7 时间粒度

查询结果可以选择按日(DAY)/周(WEEK)/月(MONTH)/小时(HOUR)/分钟(MINUTE)查看,如按日查看:

"unit":"DAY"

在按小时/分钟时间粒度查看时,查询时间范围必须是单天

2.8 使用缓存

是否使用缓存,true/false

  • true:使用缓存,取上一次结果,如果缓存失效或者结果不存在,会重新查询。

  • false:不取缓存,直接查询。

"useCache": true

2.9 时间枚举

在API中,很多地方(如留存周期、漏斗转化周期、事件分析时间粒度)都有涉及到分时间粒度查看,关于时间粒度的参数值统一如下:

  • SECOND:秒

  • MINUTE:分钟

  • HOUR:小时

  • DAY:天

  • WEEK:周

  • MONTH:月

  • QUARTER:季度

  • YEAR:年

3. 接口请求参数快捷获取

因为大部分查询API的输入参数结构都比较复杂,在前期使用或者参数较复杂时不好拼装参数。所以在方舟产品中,对应图表分析中提供了根据页面选择的条件生成API输入参数的入口,点击即可获取需要的参数。

步骤:在分析导航中选择对应分析模块进入,选择需要查询的内容,点击右侧区域 获取API接口参数的图标获取参数。以事件范围为例:

API在4.3.4之后的版本(含4.3.4)中开放,API AccessKey和参数快捷获取入口也在方舟产品中同步添加。

4. 接口列表

分类

接口

新增版本

修改版本

分析模型

事件分析

4.3.4

5.1

分析模型

转化漏斗

4.3.4

5.1

分析模型

留存分析

4.3.4

5.1

分析模型

属性分析

4.5.1

分析模型

Session分析

5.1

分析模型

渠道分析

5.1.0184

分析模型

分布分析

5.2

分析模型

自定义查询

5.0

1、默认为全部用户,全部用户 为 $ALL。自定义分群code 获取参见 。

2、日期类型属性,只支持默认统计,默认为不分组,支持按照不同 查看。

🐵
API
时间粒度枚举
获取所有用户分群