# 分群查询
## 1. 分群的用户明细查询
获取某个分群下的用户明细。
> 更新记录:4.3.4版本新增,4.6版本中增加分页功能
>
> 适合单批次获取小量级数据量(根据内存限定,一般为1万),如果需要获取或者导出更多,在5.0版本中,可选用 [分群的用户用户明细导出](api-cohort-query.md#2-fen-qun-de-yong-hu-ming-xi-dao-chu) 。
### 1.1 接口地址
> 【POST】 /uba/api/cohort/users
### 1.2 请求参数示例
>[info] **4.3.4版本**
获取单个分群的用户属性数据
```java
{
// 【必填】分群code
"cohortCode":"arkfq_3",
//需要获取的用户条数
"limit":2,
//【选填】指定需要查询的用户属性列,传用户属性ID
"properties":["xwho", "distinct_id", "$imei", "$first_visit_language", "$signup_time"]
}
```
> **limit**:获取用户分群下的用户条数,默认为1000。
>
> **properties**:指定需要的用户属性列,传入用户属性ID,可以通过方舟系统或者 [元数据管理](../api-manage-project/api-meta.md)-[用户属性](../api-manage-project/api-meta.md#1-huo-qu-yong-hu-shu-xing) 接口获取用户属性列表。不指定默认查询方舟系统【元数据管理 - 用户属性】中 可见 的所有用户属性。
> **认证参数**:接口必传token和appKey两个参数,详情见[项目接口认证](../README.md)
>
>[info] **4.6 版本**
增加page和pageSize两个参数,用来支持分页查询。
```java
{
// 【必填】分群code
"cohortCode":"arkfq_3",
//需要获取的用户条数
"limit":2,
//【选填】指定需要查询的用户属性列,传用户属性ID
"properties":["xwho", "distinct_id", "$imei", "$first_visit_language", "$signup_time"],
//【选填】当前页,从1开始,不需要分页不用传值
"page":1
//【选填】每页大小,和page配合使用,值不能大于limit
"pageSize":1000,
}
```
> **limit**:获取用户分群下的用户条数,无分页参数时默认为1000。有分页时默认为分群用户数,如果指定limit值会影响总页数和最终返回的结果集。例如:limit写1代表只取了一条数据,只有1页
>
> **properties**:指定需要的用户属性列,传入用户属性ID,可以通过方舟系统或者 [元数据管理](../api-manage-project/api-meta.md)-[用户属性](../api-manage-project/api-meta.md#1-huo-qu-yong-hu-shu-xing) 接口获取用户属性列表。不指定默认查询方舟系统【元数据管理 - 用户属性】中 可见 的所有用户属性。
>
> **page**:当前页数。page为空表示不分页,page有值时取指定页结果,页数从1开始。
>
> **pageSize**:每页条数。page有值时,pageSize不能为空,且值不能大于limit。
>
> **认证参数**:接口必传token和appKey两个参数,详情见 [项目接口认证](../README.md)。
>[info] #### **5.2 版本**
可支持获取用户的标签属性
```haskell
{
// 【必填】分群code
"cohortCode":"arkfq_3",
//需要获取的用户条数
"limit":2,
//【选填】指定需要查询的用户属性列,传用户属性ID
"properties":["xwho", "distinct_id", "$imei", "$first_visit_language", "$signup_time"],
//【4.6中新增】【选填】当前页,从1开始,不需要分页则不用传值
"page":1
//【4.6中新增】【选填】每页大小,和page配合使用,值不能大于limit
"pageSize":1000,
//【选填】5.2版本新增,要获取的标签code,如果不指定则不获取任何标签内容
"tags":[
//标签参数包含code和version两个部分,version可以不指定,不指定时默认获取最新标签
{"code":"tag_3"},
{"code":"tag_4"},
{"code":"tag_6"}
]
}
```
### 1.3 返回结果示例
```java
{
//分群下总用户条数
"count":46,
//【4.6中新增】当前页
"page": 1,
//结果返回的用户条数
"size":2,
//用户详情
"users":[
{
"$imei":null,
"$first_visit_language":"zh-cn",
"distinct_id":4255875062385414000,
"$signup_time":null,
"xwho":"JSd650856937040a530ff54fdaab4e56d7d650"
},
{
"$imei":null,
"$first_visit_language":"zh-cn",
"distinct_id":-4635244755532264000,
"$signup_time":null,
"xwho":"JS1c6d11e3e67bf0dc02030d3fd393310b1c6d",
//tag.开头的为标签数据,指定标签code才会查询
"tag.tag_3":"高消费"
}
]
}
```
### 1.4 接口调用示例
```java
curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
"cohortCode":"arkfq_3",
"limit":2,
"properties":["xwho", "distinct_id", "$imei", "$first_visit_language", "$signup_time"]
}' http://127.0.0.1:4005/uba/api/cohort/users
```
## 2. 分群的用户明细导出
5.0版本中新增
适用于需要一次性导出或者获取更多(百万级以下)的分群用户明细数据的场景,返回接口使用的是流式输出。
### 2.1 接口地址
> 【POST】 /uba/api/cohort/users/export
### 2.2 请求参数
```java
{
// 【必填】分群code
"cohortCode":"arkfq_3",
//需要获取的用户条数,不传指获取全部
"limit":10000,
//【选填】指定需要查询的用户属性列,传用户属性ID
"properties":["xwho", "distinct_id", "$imei", "$first_visit_language", "$signup_time"],
}
```
> **limit**:获取用户分群下的用户条数,可传可不传,不传为全部
>
> **properties**:指定需要的用户属性列,传入用户属性ID,可以通过方舟系统或者 [元数据管理-用户属性](../api-manage-project/api-meta.md#1-huo-qu-yong-hu-shu-xing) 接口获取用户属性列表。不指定默认查询方舟系统【元数据管理 - 用户属性】中 可见 的所有用户属性。
>
> **认证参数**:接口必传token和appKey两个参数,详情见 [项目接口认证](../README.md))。
### 2.3 返回结果示例
```javascript
{"$city":"BJ","$email":"(已脱敏)","$platform":"JS","xwho":"JSa0438f992d07a31d9f079ca479cd4796a043"}
{"$city":"CS","$email":"(已脱敏)","$platform":"JS","xwho":"JS01cb9f5096f452a10b03e90b0694dee401cb"}
{"$city":"SH","$email":"(已脱敏)","$platform":"JS","xwho":"JS9e931e93f9674491b77eba3103e638cf9e93"}
{"$city":"SZ","$email":"(已脱敏)","$platform":"JS","xwho":"JS7b4dc11ab426603295ab11811d69797a7b4d"}
{"$city":null,"$email":"(已脱敏)","$platform":"JS","xwho":"JS72889204a97a39e06a220c1aa3b4fdbd7288"}
{"$city":"GZ","$email":"(已脱敏)","$platform":"JS","xwho":"JS9a99fc0dcebf31b7a75f349cac6cd2c09a99"}
```
> 1. `行为序列导出` 接口输出,因为可以支撑大数据量,为了方便客户端可以进行批次处理,json类型的输出并非是一个完整的json数组,而是一行一条json(无`[]`,按`\n`分割)
> 2. `行为序列导出`接口输出,因为可以支撑大数据量,接口response为 流式输出。如果是通过程序来调用,那么建议:
> * 建议一:避免一次性加载response到内存中,改为流式接收 response body
> * 建议二:`Http Connection` 需要增加`SocketTimeout`时长,同时修改Nginx 超时配置
### 2.4 接口调用示例
导出人群为`arkfq_98`的所有用户,输出写入到output.json 文件中
```haskell
curl -o output.json -H "Content-Type:application/json" -H "token:3edbaf427ecdda80beef322ad3c333a4" -H "appKey:31abd9593e9983ec" -X POST --data '{
"cohortCode":"arkfq_98",
"properties":["xwho","$email","$platform","$city"]
}' https://127.0.0.1:4005/uba/api/cohort/users/export
```
关于流式导出类型API的java 客户端调用示例可以参考[API-自定义查询-Java HttpClient 接口调用示例](../api-analytics/api_sql_query.md)
- 产品简介
- 快速上手
- Step 1 安装部署
- Step 2 激活系统创建项目
- Step 3 开启您的分析旅程
- 1. 集成 SDK
- 2. 可视化埋点
- 3. 创建分析模型
- 附:埋点方案设计
- 附:数据分析思路
- 产品更新日志
- V5.5 新增LTV分析功能等
- V5.3 UI 升级、分布分析重构、维度表动态更新、细节优化等
- V5.2 新增归因分析、消息中心、重构埋点方案、优化看数据体验……
- V5.1.0317 体验优化& Bug修复
- V5.1 升级可视化埋点、增强权限控制……
- Part I 产品功能说明
- 名词解释
- 指标说明
- 看板
- 5.3.3 看板 UI 重构
- 分析
- 事件分析
- 渠道分析
- 渠道相关名词解释
- 来源识别规则
- 搜索引擎
- 社交媒体
- 小程序场景值
- Session 分析
- Session 规则
- 实时分析
- 留存分析
- 转化漏斗
- 智能路径
- 归因分析
- 热图分析
- Web/H5 热图
- APP 热图
- 分布分析
- 间隔分析
- 属性分析
- LTV 分析
- 多主体分析
- 自定义查询
- 用户
- 用户分群
- 用户探查
- 用户标签
- 标签体系应用概览
- 标签体系
- 标签生命周期管理
- 标签加工
- 如何自定义SQL创建标签
- 单用户档案
- 运营
- 广告跟踪
- 微信小程序渠道追踪
- 预置广告媒介和渠道
- App 推广监测(Beta版本)
- 电子邮件(即将下线)
- 短信(即将下线)
- 消息通知(即将下线)
- 项目管理
- 项目概览
- 项目角色管理
- 项目成员管理
- 数据接入管理
- 埋点方案
- 可视化埋点
- 集成SDK接入数据
- 数据验证
- 用户数据导入
- 微信小程序全埋点事件定义
- 元数据管理
- 元事件
- 虚拟事件
- 事件属性
- 用户属性
- Session 管理
- 页面组管理
- 维度表
- 服务集成配置
- 监控告警
- 智能监控
- 自定义监控
- 平台管理
- 企业概览
- 项目管理
- 成员管理
- 安全设置
- 企业设置
- 日志管理
- 帐号设置
- Part II 技术文档
- 技术接入准备工作
- 部署环境检测工具
- 数据模型
- 数据格式
- 预置事件和属性
- App预置事件/属性
- JS 预置事件/属性
- 如何准确识别用户
- 如何设计埋点方案
- 分平台上报数据 vs 跨平台打通
- SDK 指南
- Android SDK
- 快速集成
- 全埋点模块
- 消息推送模块
- Android Hybrid模式
- SDK Gradle集成方式
- 多渠道打包
- 易观小工具
- 合规相关
- iOS SDK
- 快速集成
- 全埋点介绍
- iOS Hybrid模式
- 消息推送模块
- JS SDK
- 快速集成
- JS SDK基础版
- JS SDK插件
- uni-app SDK
- 快速集成
- 打包原生APP
- 开启移动端全埋点
- uni-app SDK标准版
- 微信小程序 SDK
- 快速集成
- 微信小程序标准版
- 微信小程序插件版
- 微信小程序通用框架版
- 支付宝小程序 SDK
- 支付宝小程序标准版
- 支付宝小程序通用框架版
- 字节跳动小程序 SDK
- 字节跳动小程序标准版
- 字节跳动小程序通用框架版
- 百度小程序 SDK
- 百度小程序标准版
- 百度小程序通用框架版
- 钉钉小程序 SDK
- 钉钉小程序标准版
- 钉钉小程序通用框架版
- QQ小程序 SDK
- QQ小程序标准版
- QQ小程序通用框架版
- 快应用 SDK
- 华为WeCode小程序
- WeCode SDK 标准版
- WeCode SDK插件
- PhoneGap SDK
- mPaaS SDK
- ReactNative SDK
- Flutter SDK
- Java SDK
- Python SDK
- PHP SDK
- C++ SDK
- C# SDK
- Node JS SDK
- Lua SDK
- Golang SDK
- SDK FAQ
- identify与alias的区别
- 爬虫数据如何识别?
- 页面停留如何获取时间?
- 如果获取SDK及更新日志
- 代码埋点和无埋点有什么区别
- Web页面中发现丢失某一个事件
- 自研 SDK 注意事项
- 页面时长统计功能
- 飞书小程序 SDK
- 飞书小程序标准版
- 飞书小程序通用框架版
- Unreal Engine SDK
- 数据验证
- 客户端埋点验证
- Debug 数据验证
- 数据入库验证
- 数据导入
- 接口导入
- JAVA工具包
- 标准json文件导入
- csv格式导入
- 数据导入FAQ
- 数据导出
- JAVA工具包
- 事件数据导出
- 用户数据导出
- 直接从Kafka中消费数据
- 使用程序访问数据库
- 脚本工具
- API
- 分析API
- 事件分析
- 留存分析
- 自定义查询
- 转化漏斗
- 属性分析
- Session分析
- 渠道分析
- 分布分析
- 用户API
- 分群查询
- 用户档案
- 分群管理
- 管理API
- 权限管理
- 元数据管理
- 埋点方案管理
- 维度表管理
- 运营API
- 广告跟踪
- APP推广监测
- 平台管理API
- 项目管理
- 成员管理
- 第三方登录
- OAuth2.0登录
- LDAP登录
- GDPR 合规
- Part III 常见问题
- License 许可
- 产品试用及采购
- 参与贡献