# 元数据管理 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 | 返回信息 | 
