元数据管理

方舟4.3.5版本中新增API

1. 获取用户属性

获取用户上报成功并且在计划中的用户属性,含系统预置但页面上隐藏的用户属性。

1.1 接口地址

【GET】 /uba/api/meta/userProperties

1.2 请求参数示例

无。

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

1.3 返回结果示例

[
{
//用户属性ID,唯一
"id":"xwho",
//用户属性名称,用于页面展示
"name":"用户ID",
//是否可用 1为启用 0为禁用 (通过方舟系统可以控制用户属性的可用性)
"enable":1,
//是否可见 1为可见 0为不可见(用于方舟系统,系统预置但不用于分析的属性在页面上被隐藏了)
"visible":1,
//【4.5.0中新增】是否预置属性 1为预置属性 0为自定义属性
"preset": 1,
//【4.5.0中新增】数据类型,有string、boolean、number、datetime、array<string>五种
"dataType": "string",
//【4.5.0中新增】是否有字典 1为有字典 0为未上传字典
"dict": 0
},
{
"id": "company",
"name": "所在公司",
"enable": 1,
//页面不可见
"visible": 0,
//自定义属性
"preset": 0,
"dataType": "string",
//有字典
"dict": 1
}
]

1.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" http://127.0.0.1:4005/uba/api/meta/userProperties

2. 获取元事件列表

获取在埋点方案中并且已经回数的事件列表,含被禁用事件。

2.1 接口地址

【GET】 /uba/api/meta/event

2.2 请求参数示例

//【选填 5.1.0086版本新增】通过urlPath传参
type=event&enable=1

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

2.2.1 入参说明

参数名称

类型

必填

说明

枚举

type

String

N

事件类型,可获取所有和指定类型【5.1】

all/event/virtual

enable

Integer

N

是否回数:1为已回数 0为未回数【5.1】

0/1

2.3 返回结果示例

[
{
//事件ID,唯一
"id":"$startup",
//事件名称,用于页面展示
"name":"启动",
//是否可用 1为启用 0为禁用 (通过方舟系统可以控制事件的可用性)
"enable":1,
//备注,描述事件的作用
"remark":"APP启动 / 打开网站",
//【4.5.0中新增】是否预置事件 1为预置事件 0为自定义事件
"preset": 1,
//【4.6中新增】回数平台,多个值之间逗号隔开
"platform": "Android,iOS,JS",
//【5.1.0086中新增】事件类型
"type":"event",
//【5.1.0086中新增】如果是虚拟事件,则会返回虚拟事件的创建规则
"content":null
},
{
"id":"$end",
"name":"关闭",
//禁用
"enable":0,
"remark":"APP关闭 / 关闭网页",
"preset": 1,
"platform": "Android,iOS",
"type":"event",
"content":null
},
{
"id": "login",
"name": null,
"enable": 1,
"remark": null,
//自定义
"preset": 0,
"platform": "Android",
//虚拟事件
"type":"virtual",
//虚拟事件的创建规则
"content":{}
}
]

如果是虚拟事件,则会返回虚拟事件的创建规则,格式如下:

{
"events": [
{
//包含的事件
"expression": "event.$startup",
//事件需要满足的条件
"filter": {
"conditions": [
{
"expression": "event.$startup.$platform",
"function": "EQ",
"params": [
"JS"
]
}
],
"relation": "AND"
}
},
{
"expression": "event.$pageview"
}
],
"relation": "OR"
}

2.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" http://127.0.0.1:4005/uba/api/meta/event

3. 获取事件属性

获取事件的属性列表,包含事件自定义属性通用属性两种,自定义属性需要自己埋点上报,通用属性由方舟系统自动采集。

3.1 接口地址

【GET】 /uba/api/meta/eventProperties

3.2 请求参数示例

//【必填】通过urlPath传参
eventId=?

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

3.3 返回结果示例

[
{
//事件属性ID
"id":"$is_first_time",
//事件属性名称,用于页面展示
"name":null,
//是否可用 1为启用 0为禁用 (通过方舟系统可以控制事件属性的可用性)
"enable":1,
//是否通用属性,1为通用属性 0为事件定义属性
"global":0,
//【4.5.0中新增】是否事件预置属性 1为预置属性 0为自定义属性
"preset": 1,
//【4.5.0中新增】数据类型,有string、boolean、number、datetime、array<string>五种
"dataType": "boolean",
//【4.5.0中新增】是否有字典 1为有字典 0为未上传字典
"dict": 0
},
{
"id":"$platform",
"name":"平台",
//属性可用
"enable":1,
//通用属性(通用属性表示每个事件都有这个属性)
"global":1,
"preset":1,
"dataType": "string",
"dict": 0
}
]

global: 0为事件自定义属性,1为通用属性。

3.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" http://127.0.0.1:4005/uba/api/meta/eventProperties?eventId=%24startup

4. 创建虚拟属性

上报的元事件无法直接满足分析需求,组要组合使用事件时,可以使用虚拟事件。虚拟事件可以组合多个元事件,每个元事件下也可以设置过滤条件,事件之间关系为或。在 5.1.0221 版本中新增。

4.1 接口地址

【POST】 /uba/api/meta/event/virtual

4.2 请求参数示例

{
//【必填】虚拟事件ID,唯一,并且不能和元事件ID重名,由字母、数字和下划线组成,不能以数字开头,总长度不超过100个字符
"id":"vactive",
//虚拟事件名称,长度不能超过 50
"name":"活跃用户",
//虚拟事件说明,长度不能超过 100
"remark":"使用过APP或者浏览过web网站的用户",
//【必填】虚拟事件包含的元事件
"events":[
{
//包含的元事件 不含条件
"expression":"event.$startup"
},
{
//包含的元事件 含条件
"expression":"event.$pageview",
//事件需要满足的条件(平台=JS的页面浏览事件)
"filter":{
"conditions":[
{
//条件表达式
"expression":"event.$pageview.$platform",
"function":"EQ",
"params":[
"JS"
]
}
],
"relation":"AND"
}
}
]
}

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

4.3 返回结果示例

{"success":0}

4.4 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
"id":"$vactive",
"name":"活跃用户",
"remark":"使用过APP或者浏览过web网站的用户",
"events":[
{
"expression":"event.$startup"
},
{
"expression":"event.$pageview"
}
]
}' http://127.0.0.1:4005/uba/api/meta/event/virtual

5. 修改虚拟属性

支持修改虚拟事件的名称、描述、规则内容。在 5.1.0221 版本中新增。

虚拟事件修改规则是只能修改自己创建的虚拟事件,如果API不带loginUser参数只能修改通过API创建并且未带loginUser的虚拟事件。如果带loginUser参数,就能修改对应用户创建的虚拟事件。

5.1 接口地址

【PUT】 /uba/api/meta/event/virtual

5.2 请求参数示例

{
//【必填】虚拟事件ID,因为事件ID不允许修改,所以ID会作为修改条件
"id":"vactive",
//虚拟事件名称,长度不能超过 50,如果不需要修改名称,可以不传此列
"name":"活跃用户",
//虚拟事件说明,长度不能超过 100,如果不需要修改描述,可以不传此列
"remark":"使用过APP或者浏览过web网站的用户",
//虚拟事件包含的元事件,如果规则不需要发生改变,可以不传
"events":[
{
//包含的元事件 不含条件
"expression":"event.$startup"
},
{
//包含的元事件 含条件
"expression":"event.$pageview"
}
]
}

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

5.3 返回结果示例

{"success":0}

5.4 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X PUT --data '{
"id":"$vactive",
"name":"活跃用户"
}' http://127.0.0.1:4005/uba/api/meta/event/virtual