# 元数据管理 API
调用方法请参见Open API文档中的调用方法描述。
建议先阅读 TE 使用手册元数据管理部分了解相关功能:数据管理-事件和属性
# 一、事件管理
# 查询虚拟事件
接口URL
/open/get-virtual-event-by-name?token=xxx&projectId=377&eventName=ta@test222
请求方式
GET
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 377 | Integer | 是 | 项目ID |
eventName | ta@test222 | String | 是 | 事件名称 |
成功响应示例
{
"data": {
"eventDesc": "测试虚拟事件",
"eventName": "ta@teset",
"remark": "",
"rule": {
"events": [
{
"eventDesc": "获得金币",
"eventName": "obtain_coin",
"filter": {
"filterType": "COMPOUND",
"filts": [],
"relation": "and"
}
}
],
"filter": {
"filterType": "COMPOUND",
"filts": [],
"relation": "and"
}
}
},
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | Object | 返回数据 |
data.eventDesc | 测试虚拟事件 | String | 事件显示名 |
data.eventName | ta@teset | String | 事件名称 |
data.remark | - | String | 事件备注 |
data.rule | - | Object | 虚拟事件规则 |
data.rule.events | - | List | 事件列表 |
data.rule.events.eventDesc | 获得金币 | String | 事件显示名 |
data.rule.events.eventName | obtain_coin | String | 事件名称 |
data.rule.events.filter | - | Object | 属性筛选器 |
data.rule.events.filter.filterType | COMPOUND | String |
筛选器,
|
data.rule.events.filter filts | [] | List | 筛选值列表 |
data.rule.events.filter relation | and | String | 筛选逻辑关系 |
data.rule.filter | - | Object | 属性筛选器 |
data.rule.filter.filterType | COMPOUND | String |
筛选器,
|
data.rule.filter.filts | [] | List | 筛选值列表 |
data.rule.filter.relation | and | String | 筛选逻辑关系 |
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
# 事件元信息列表
接口URL
/open/list-event-meta?token=xxx&projectId=377
请求方式
GET
Content-Type
application/json
请求Query参数
#
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 377 | Integer | 是 | 项目ID |
propName |
成功响应示例
{
"data": {
"events": [
{
"eventDesc": "参加活动",
"eventName": "activity_attend",
"eventTag": "111,aaa",
"eventType": "event",
"isHide": false,
"remark": "参加活动321"
}
]
},
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | Object | 返回数据 |
data.events | - | List | 事件列表 |
data.events.eventDesc | 参加活动 | String | 事件描述 |
data.events.eventName | activity_attend | String | 事件名称 |
data.events.eventTag | 111,aaa | String | 事件标签 |
data.events.eventType | event | String |
事件类型
|
data.events.isHide | false | Boolean | 是否隐藏 |
data.events.remark | 参加活动321 | String | 事件备注 |
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
# 创建虚拟事件
接口URL
/open/create-virtual-event?token=xxx&projectId=0&override=false
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
override | false | String | 是 | 若同名虚拟事件已经存在,override=false时将报错,override=true时将更新虚拟事件定义。 |
请求Body参数
{
"eventName": "ta@test_vevent",
"eventDesc": "测试虚拟事件",
"remark": "",
"rule": {
"events": [
{
"eventDesc": "参加活动",
"eventName": "activity_attend",
"filter": {
"relation": "and",
"filts": [
{
"comparator": "equal",
"columnDesc": "网络类型",
"columnName": "network",
"ftv": [
"4G"
],
"selectType": "string",
"tableType": "event"
}
]
}
}
]
}
}
$$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
eventName | ta@test_vevent | String | 是 | 事件名称 |
eventDesc | 测试虚拟事件 | String | 否 | 事件显示名 |
remark | String | 否 | 事件备注 | |
rule | - | Object | 是 | 规则 |
rule.events | - | List | 是 | 事件列表 |
rule.events.eventName | activity_attend | String | 是 | 事件名称 |
rule.events.eventDesc | 参加活动 | String | 否 | 事件显示名 |
rule.events.filter | - | Object | 否 | 属性筛选器 |
rule.events.filter.filterType | SIMPLE | String | 否 |
筛选器
|
rule.events.filter.filts | - | List | 否 | 筛选对象列表 |
rule.events.filter.filts.comparator | equal | String | 否 | 比较类型 |
rule.events.filter.filts.columnDesc | 网络类型 | String | 否 | 字段显示名 |
rule.events.filter.filts.columnName | network | String | 是 | 字段名称 |
rule.events.filter.filts.ftv | ["4G"] | List | 否 | 筛选值列表 |
rule.events.filter.filts.selectType | string | String | 否 | 过滤值筛选框类型 |
rule.events.filter.filts.tableType | event | String | 否 | event:事件属性,user:用户属性 |
rule.events.filter.filts.filterType | SIMPLE | String | 否 |
筛选器,
|
rule.events.filter.relation | and | String | 否 | 筛选逻辑关系 |
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1008,
"return_message": "eventName 不能为空,rule 不能为null"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1008 | Integer | 返回码 |
return_message | eventName 不能为空,rule 不能为null | String | 返回信息 |
# 修改事件显示名
注意
- 事件显示名最长60字符,超出部分自动截断
- 事件显示名不可包含emoji表情
- 虚拟事件显示名不可与其他虚拟事件显示名和事件名重名
- 物理事件显示名不可与其他物理事件显示名和事件名重名
接口URL
/open/update-event-info?token=xxx&projectId=0
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
请求Body参数
{
"eventName": "test007",
"eventDesc": "testDesc"
}
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
eventName | test | String | 是 | 事件名称 |
eventDesc | testDesc | String | 是 | 事件显示名 |
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1008,
"return_message": "事件test007已被隐藏或删除,请重新设置条件"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1008 | Integer | 返回码 |
return_message | 事件test007已被隐藏或删除,请重新设置条件 | String | 返回信息 |
# 删除虚拟事件
接口URL
/open/delete-virtual-event-by-name?token=xxx&projectId=0&eventName=test
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
eventName | test | String | 是 | 事件名称 |
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1008,
"return_message": "事件test已被隐藏或删除,请重新设置条件"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1008 | String | 返回码 |
return_message | 事件test已被隐藏或删除,请重新设置条件 | String | 返回信息 |
# 二、属性管理
# 查询虚拟属性
接口URL
/open/get-sql-prop-by-name?token=xxx&projectId=0&propName=%23vp@location&tableType=event
请求方式
GET
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
propName | #vp@location | String | 是 | 属性名称 |
tableType | event | String | 是 | event:事件属性,user:用户属性 |
成功响应示例
{
"data": {
"relatedEvents": [
{
"eventName": "事件名称",
"eventDesc": "事件显示名"
}
],
"sqlEventRelationType": "relation_default",
"sqlExpression": "concat(\"#country\",'-',\"#province\",'-',\"#city\")",
"vProp": {
"property": {
"columnDesc": "地理位置信息",
"columnName": "#vp@location",
"selectType": "string",
"tableType": "event"
}
}
},
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | Object | 返回数据 |
data.relatedEvents | - | List | 关联事件列表 |
data.relatedEvents.eventName | 事件名称 | String | 事件名称 |
data.relatedEvents.eventDesc | 事件显示名 | String | 事件显示名 |
data.sqlEventRelationType | relation_default | String |
|
data.sqlExpression | concat("#country",'-',"#province",'-',"#city") | String | SQL表达式 |
data.vProp | - | Object | 虚拟属性列表 |
data.vProp.property | - | Object | 虚拟属性 |
data.vProp.property.columnDesc | 地理位置信息 | String | 字段显示名 |
data.vProp.property.columnName | #vp@location | String | 字段名称 |
data.vProp.property.selectType | string | String | 过滤值筛选框类型 |
data.vProp.property.tableType | event | String |
属性类型
|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1008,
"return_message": "用户属性test007已被隐藏或删除,请重新设置条件"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1008 | Integer | 返回码 |
return_message | 用户属性test007已被隐藏或删除,请重新设置条件 | String | 返回信息 |
# 属性列表
接口URL
/open/list-props?token=xxx&projectId=0&tableType=event&eventName=xxx
请求方式
GET
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
tableType | event | String | 是 |
属性类型
|
eventName | - | String | 否 | tableType为event时有效。物理事件或虚拟事件的名称,该参数用于查询事件相关的属性。不传时返回所有物理属性和虚拟属性 |
成功响应示例
{
"data": {
"properties": [
{
"canCreateDict": true,
"columnDesc": "活动项目def:123123123123123123",
"columnName": "activity_item_operation",
"columnRemark": "",
"dictProps": [
{
"canCreateDict": false,
"columnDesc": "",
"columnName": "activity_item_operation@channel_name",
"columnRemark": "",
"isHide": false,
"propType": "vprop_dict",
"selectType": "string",
"tableType": "event"
}
],
"isHide": false,
"propType": "prop_unpreset",
"selectType": "string",
"tableType": "event"
}
]
},
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
data | - | Object | 返回数据 |
data.properties | - | List | |
data.properties.canCreateDict | true | Boolean | 是否可以创建维度表 |
data.properties.columnDesc | 活动项目def:123123123123123123 | String | 字段显示名 |
data.properties.columnName | activity_item_operation | String | 字段名称 |
data.properties.columnRemark | - | String | 字段说明 |
data.properties.dictProps | - | List | 关联维度字段 |
data.properties.dictProps.canCreateDict | false | String | 是否可以创建维度表 |
data.properties.dictProps.columnDesc | - | String | 字段显示名 |
data.properties.dictProps.columnName | activity_item_operation@channel_name | String | 字段名称 |
data.properties.dictProps.columnRemark | - | String | 字段说明 |
data.properties.dictProps.isHide | false | Boolean | 是否隐藏 |
data.properties.dictProps.propType | vprop_dict | String | 属性类型 |
data.properties.dictProps.selectType | string | String | 过滤值筛选框类型 |
data.properties.dictProps.tableType | event | String | 字段所属表类型 |
data.properties.isHide | false | Boolean | 是否隐藏 |
data.properties.propType | prop_unpreset | String |
属性类型
|
data.properties.selectType | string | String | 过滤值筛选框类型 |
data.properties.tableType | event | String | 字段所属表类型 |
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
# 修改属性显示名
注意
- 属性显示名最长60字符,超出部分自动截断,不可包含emoji表情,虚拟属性不可与其他虚拟属性显示名和属性名重名,物理属性不可与其他物理属性显示名和属性名重名
- 属性描述最长200字符,超出部分自动截断
- 若同名虚拟属性已经存在,则更新虚拟属性定义
接口URL
/open/update-prop-info?token=xxx&projectId=0
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
请求Body参数
{
"columnName": "test",
"columnDesc": "testDesc",
"columnRemark": "testRemark",
"tableType": "event"
}
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
columnName | test | String | 是 | 字段名称 |
columnDesc | testDesc | String | 是 | 字段显示名 |
columnRemark | testRemark | String | 否 | 字段描述 |
tableType | testType | String | 是 |
属性类型
|
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1023,
"return_message": "event property(test)不存在"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1023 | Integer | 返回码 |
return_message | event property(test)不存在 | String | 返回信息 |
# 维度字典校验和创建
注意
文件上传方式创建维度字典,文件大小限制200M
接口URL
/open/dict-create?token=xxx&projectId=0&createParam=test
请求方式
POST
Content-Type
text/csv
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
createParam | test | String | 是 | - |
成功响应示例
{
"data": {
"totalLineNum": 4,
"successLineNum": 1,
"duplcatedMainKeyLineNum": 1,
"duplcatedMainKeyColumns": ["city@test"],
"mainKeyErrorLineNum": 1,
"mainKeyErrorColumns": ["brand@quantity"],
"typeErrorLineNum": 1,
"typeErrorColumns": ["iswin@num"],
"repeatWithConlumnName": [{
"columnName": "channel@channel_name",
"columnDesc": "渠道类型"
}],
"repeatWithConlumnDesc": [{
"columnName": "channel@channel_name",
"columnDesc": "渠道类型"
}]
},
"return_code": 0,
"return_message": "success"
}
$$参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | String | 返回码 |
return_message | success | String | 返回信息 |
data | - | Object | 返回数据 |
data.totalLineNum | 4 | Integer | 解析总行数 |
data.successLineNum | 1 | Integer | 导入成功的行数 |
data.duplcatedMainKeyLineNum | 1 | Integer | 重复主键的行数 |
data.duplcatedMainKeyColumns | ["city@test"] | List | 重复主键的行列表 |
data.mainKeyErrorLineNum | 1 | Integer | 错误主键类型的行数 |
data.mainKeyErrorColumns | ["brand@quantity"] | List | 错误主键类型的行列表 |
data.typeErrorLineNum | 1 | Integer | 其他列包含类型错误的行数 |
data.typeErrorColumns | ["iswin@num"] | List | 其他列包含类型错误的行列表 |
data.repeatWithConlumnName | - | List | 显示名与属性名重复列表 |
data.repeatWithConlumnName.columnName | channel@channel_name | String | 属性字段名 |
data.repeatWithConlumnName.columnDesc | 渠道类型 | String | 属性显示名 |
data.repeatWithConlumnDesc | - | List | 显示名与显示名重复列表 |
data.repeatWithConlumnDesc.columnName | channel@channel_name | String | 属性字段名 |
data.repeatWithConlumnDesc.columnDesc | 渠道类型 | String | 属性显示名 |
错误响应示例
{
"return_code": -3004,
"return_message": "无效项目"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -3004 | String | 返回码 |
return_message | 无效项目 | String | 返回信息 |
# 新建虚拟属性
注意
若同名虚拟属性已经存在,则更新虚拟属性定义
接口URL
/open/create-sql-prop?token=xxx&projectId=110
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 110 | Integer | 是 | 项目ID |
请求Body参数
{
"sqlExpression": "get_ip_location(\"#ip\")",
"vProp" : {
"property" : {
"columnDesc": "IP地址解析的地理位置信息",
"columnName": "#vp@location_array_from_ip",
"tableType": "event",
"selectType":"array"
}
},
"sqlEventRelationType" : "relation_default",
}
$$参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
sqlExpression | get_ip_location(\"#ip\") | String | 是 | SQL表达式 |
vProp | - | Object | 是 | 虚拟属性信息 |
vProp.property | - | Object | 是 | 虚拟属性信息 |
vProp.property.columnDesc | IP地址解析的地理位置信息 | String | 否 | 字段名称 |
vProp.property.columnName | #vp@location_array_from_ip | String | 是 | 字段显示名 |
vProp.property.tableType | event | String | 是 |
表类型
|
vProp.property.selectType | array | String | 是 | 过滤值筛选框类型 |
sqlEventRelationType | relation_default | String | 否 |
解析类型,默认relation_default
|
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | String | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -3004,
"return_message": "无效项目"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -3004 | String | 返回码 |
return_message | 无效项目 | String | 返回信息 |
# 删除维度属性
接口URL
/open/delete-dict-props?token=xxx&projectId=0&tableType=event&mainColumnName=test
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
tableType | event | String | 是 |
属性类型
|
mainColumnName | test | String | 是 | 维度表所关联的主属性名称 |
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1008,
"return_message": "事件属性test已被隐藏或删除,请重新设置条件"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1008 | Integer | 返回码 |
return_message | 事件属性test已被隐藏或删除,请重新设置条件 | String | 返回信息 |
# 删除SQL虚拟属性
接口URL
/open/delete-sql-prop-by-name?token=xxx&projectId=0&tableType=event&propName=test
请求方式
POST
Content-Type
application/json
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | 查询密钥 |
projectId | 0 | Integer | 是 | 项目ID |
tableType | event | String | 是 |
属性类型
|
propName | test | String | 是 | 属性名称 |
成功响应示例
{
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
错误响应示例
{
"return_code": -1023,
"return_message": "virtual event prop test不存在"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1023 | Integer | 返回码 |
return_message | virtual event prop test不存在 | String | 返回信息 |