元数据管理

方舟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 入参说明

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

最后更新于