用户群规则
规则描述部分是可嵌套的结构,较为复杂,此处单独进行描述。
在 添加 用户群时,会用到规则描述。
rules_relation_node: 规则之间的逻辑关系
rule_node: 规则节点,分三种
filter_realtion_node: 同一事件的筛选条件的逻辑关系
filter_node: 事件或事件型指标的数据约束
分群 API
以下接口的 request 和 response 都是 application/json 格式
公共字段 字段名、字段含义、字段类型及可选值:
字段名 |
字段含义 |
字段类型 |
是否必填 |
可选值 |
其他说明 |
name |
用户群英文名 |
string |
否 |
|
创建时不填写则不校验(默认给个不冲突的 name),如果填写了则会进行重名校验 |
cname |
用户群中文名 |
string |
是 |
|
|
comment |
用户群备注 |
string |
否 |
|
|
cron |
调度周期 |
string |
否 |
|
cron 表达式 如:0 0 0 ? * 表示每天 0 点计算,如果是单次用户群则可缺省 |
is_routine |
是否是例行用户群 |
boolean |
否 |
|
如果是例行用户群,则上面的 cron 必填 |
app_push_list |
app push 配置列表 |
list |
否 |
|
|
base_time |
用户群计算的基准时间 |
string |
否 |
|
创建时不需填写(填写也无效)格式如:"2019-03-05 00:00:00" |
unit |
用户群更新周期 |
string |
是 |
DAY |
目前只支持 DAY |
data_type |
用户群数据类型 |
string |
是 |
BOOL |
|
source_type |
用户群类型 |
string |
是 |
1 |
规则创建的用户群 |
limit |
人群数量限制 |
integer |
否 |
100 |
设置人群数量限制,会在计算用户群时随机取 limit 数值的人群 |
获取用户群列表
GET /v2/user_groups 获取用户群列表
[
{
"id": 0,
"name": "string",
"cname": "string",
"user_name": "string",
"create_time": "string", // 创建时间
"data_type": "BOOL",
"unit": "HOUR",
"source_type": 0,
"is_routine": true,
"status": "PENDING",
"comment": "string",
"cron": "string",
"app_push_list": [
0
],
"rule_content_list": [ // 规则创建的用户群信息, list size 为 1
{
"type": "string",
"relation": "string",
"rules": [
{}
]
}
],
"failed_partition_count": 0, // 失败的 partition 数, Type:int
"last_succeed_partition": { // 最后一次计算成功的 partition 信息,如果没有则不传
"base_time": "string",
"finished_time": "string", // 计算的结束时间
"user_count": 0, // 计算的用户数
"status": "SUCCEED", // partition 的状态
"rule_content_list": [
{
"type": "string",
"relation": "string",
"rules": [
{}
]
}
]
},
"last_partition_info": {
"base_time": "string",
"start_time": "string",
"finished_time": "string",
"user_count": 0,
"status": "NEW",
"next_partition_base_time": "string" // 下次计算的 base_time,单次用户群不返回
}
}
]
执行用户群
POST /v2/user_groups/{id}/execute 执行用户群
- Request(In Path):
- base_time_list:Partition 的 base_time。 Type :List<String>,可缺省。缺省计算最近一次 Partition
- Response 200
{}
获取用户群信息
GET /v2/user_groups/{id} 获取用户群信息
{
"id": 0,
"name": "string",
"cname": "string",
"user_name": "string",
"create_time": "string", // 创建时间
"data_type": "BOOL",
"unit": "HOUR",
"source_type": 0,
"is_routine": true,
"status": "PENDING",
"comment": "string",
"cron": "string",
"app_push_list": [
0
],
"rule_content_list": [ // 规则创建的用户群信息,list size 为 1
{
"type": "string",
"relation": "string",
"rules": [
{}
]
}
],
"failed_partition_count": 0, // 失败的 partition 数,Type:int
"last_succeed_partition": { // 最后一次计算成功的 partition 信息,如果没有则不传
"base_time": "string",
"finished_time": "string", // 计算的结束时间
"user_count": 0, // 计算的用户数
"status": "SUCCEED", // partition 的状态
"rule_content_list": [
{
"type": "string",
"relation": "string",
"rules": [
{}
]
}
]
},
"last_partition_info": {
"base_time": "string",
"start_time": "string",
"finished_time": "string",
"user_count": 0,
"status": "NEW",
"next_partition_base_time": "string" // 下次计算的 base_time,单次用户群不返回
}
}
删除用户群
DELETE /v2/user_groups/{id} 删除用户群
{}
检查用户群执行状态
GET /v2/user_groups/{id}/status 检查用户群执行状态
- Request(In Path):
- base_time_list:用户群的 Partition 对应的 base_time,Type:List<String>,缺省则返回最新一个 Partition 的状态
- Response 200
[
{
"base_time": "string",
"user_count": 0, // 对应 partition 的人数
"status": "NEW", // partition 的状态
"start_time": "string", // partition 计算开始时间
"finished_time": "string" // partition 计算结束时间
}
]