一.概述
统计数据导出分类 | 相关接口 | 使用限制 |
看板数据信息 | 无 | |
事件分析下载 |
| |
漏斗分析下载 | 单图下载每秒限速2次 | |
留存分析下载 | 单图下载每秒限速2次 | |
分群下载 |
| |
规则逻辑 | 无 |
本章节中API 的 project_id(项目UID)、dashboard_id(看板ID)、chart_id(事件分析单图ID)、funnel_id(漏斗分析单图ID)、retention_id(留存分析单图ID) 字段,均可在项目页面url中找到,如:"https://www.growingio.com/admin/projects/nxog09md/dashboard/YoX28w7R" 中的 "nxog09md" 和 "YoX28w7R" 分别是 project_id 和dashboard_id。
在项目URL中获取;
通过获取看板中的图表信息API,根据dashboard_id获取当前看板的所有图表信息,返回的信息中会包含图表ID,图表类型等信息。
在项目URL中获取;
通过获取看板列表API根据project_id获取所有看板信息。
dashboard_id获取方式
chart_id、funnel_id、retention_id的获取方式
在进行导出之前,请务必参考认证,完成接口认证获取认证码 。
统计数据导出的延迟一般为 30 分钟,比如导出早上 8 点到 9 点之间的数据时,一般需要 9:30 才能统计完毕。另外,每天凌晨因为需要运行天级别的统计任务,此时前一天的统计数据大概有 3-4 小时的延迟,建议在早上6点后进行导出任务。
二.接口定义
1.获取看板列表
https://www.growingio.com/projects/{project_uid}/dashboards.json
GET
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
project_uid | string | 是 | 项目UID。 |
响应示例
[ { "id": "Dashboard Uid", "name": "我的看板", "type": "看板类型", // normal: 普通看板, realtimeV2: 实时看板 "createdAt": "2019-01-01", "updatedAt": "2019-01-02", "scope": "看板所属", // global: 全局, project: 项目, user: 个人 "updater": "Dashboard Last Updator", "creator": "Dashboard Creator" }, ... ]
2.获取看板中的图表信息
https://www.growingio.com/projects/{project_uid}/dashboards/{dashboard_id}.json
GET
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
dashboard_id | string | 是 | 看板ID。 |
project_uid | string | 是 | 项目UID。 |
响应示例
{ "id": "Dashboard Uid", "name": "Dashboard Name", "charts": [ { "id": "Chart Uid", "name": "Chart Name", "createor": "Chart Creator", "createdAt": "Created Time" }, { "id": "Chart Uid", "name": "Chart Name", "createor": "Chart Creator", "createdAt": "Created Time" } ] }
3.获取事件分析数据
https://www.growingio.com/v2/projects/{project_uid}/charts/{chart_id}.json
GET
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
chart_id | string | 是 | 事件分析单图ID。 |
project_uid | string | 是 | 项目UID。 |
查询参数 | 类型 | 是否必传 | 说明 |
interval | integer | 否 | 数据粒度,单位为毫秒。
默认值86400000(1天)。 |
startTime | integer | 否 | 数据起始时间,unix毫秒时间戳。 需与endTime一起使用。 |
endTime | integer | 否 | 数据结束时间,unix毫秒时间戳。 需与startTime一起使用。 |
响应示例
{ "id": "Chart Uid", "name": "Chart Name", "startTime": 1462118400000, "endTime": 1462118400000, "interval": 86400000, "aggregator": { // 当大数字图时返回该字段 "values": [ 27557, // 本周期聚合值 25409 // 上周期聚合值 ] } "meta": [ { "name": "目标用户", "dimension": true}, { "name": "城市", "dimension": true }, { "name": "浏览器", "dimension": true }, { "name": "Metric 1", "metric": true }, { "name": "Metric 2", "metric": true } ], "data": [ // 线图 [目标用户, timestamp, metric1, metric2], [目标用户, timestamp, metric1, metric2] // 横向柱图 [目标用户, dimension_v1, metric1], [目标用户, dimension_v2, metric1] // 纵向柱图 [目标用户, timestamp, metric1, metrics2], [目标用户, timestamp, metric1, metrics2] // 表格 [目标用户, dimension1_v1, dimension2_v1, metric1, metric2], [目标用户, dimension1_v2, dimension2_v1, metric1, metric2] // 大数字 [目标用户, timestamp, metric1] // 气泡图 [目标用户, dimension1_v1, dimension2_v1, metric1, metric2] ] }
4.获取漏斗分析数据
URL
https://www.growingio.com/v2/projects/{project_uid}/funnels/{funnel_id}.json
请求类型
GET
请求头参数
请参考认证>公共请求参数获取。
参数说明与示例
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
funnel_id | string | 是 | 漏斗分析单图ID。 |
project_uid | string | 是 | 项目UID。 |
查询参数 | 类型 | 是否必传 | 说明 |
conversionWindow | integer | 否 | 转化周期 |
startTime | integer | 否 | 数据起始时间,unix毫秒时间错。 需与endTime一起使用。 |
endTime | integer | 否 | 数据结束时间,unix毫秒时间戳。 需与startTime一起使用。 |
响应示例
200:OK
{ "id": "Funnel Uid", "name": "Funnel Name", "conversionWindow": 1, "startTime": 1571068800000, "endTime": 1572278399999, "interval": 86400000, "meta": [ {"name":"目标用户","dimension":true}, {"name":"时间","dimension":true}, {"name":"总转化率","metric":true}, {"name":"第一步人数","metric":true}, {"name":"第一步转化率","metric":true}, ... {"name":"最后一步人数","metric":true}, {"name":"最后一步转化率","metric":true} ] "data": [ [目标用户, 时间, 总转化率, 第一步人数, ... , 最后一步转化率], [目标用户, 时间, 总转化率, 第一步人数, ... , 最后一步转化率], ... ] }
5.获取留存分析数据
https://www.growingio.com/v2/projects/{project_uid}/retentions/{retention_id}.json
请求类型
GET
请求头参数
参数说明与示例
请求参数
响应示例
路径参数 | 类型 | 是否必传 | 说明 |
retention_id | string | 是 | 留存分析单图ID。 |
project_uid | string | 是 | 项目UID。 |
查询参数 | 类型 | 是否必传 | 说明 |
range | integer | 否 | 事件范围。
|
startTime | integer | 否 | 数据起始时间,unix毫秒时间错。 需与endTime一起使用。 |
endTime | integer | 否 | 数据结束时间,unix毫秒时间戳。 需与startTime一起使用。 |
响应示例
200:OK
{ "id": "Retention Uid", "name": "Retention Name", "range": "day", "startTime": 1569686400000, "endTime": 1572278399999, "interval": 86400000, "meta": [ {"name":"目标用户","dimension":true}, {"name":"对比值","dimension":true}, {"name":"用户行为","dimension":true}, {"name":"时间","dimension":true}, {"name":"留存人数","metric":true}, {"name":"当日","metric":true}, {"name":"当日留存率","metric":true}, {"name":"次日","metric":true}, {"name":"次日留存率","metric":true}, {"name":"2日后","metric":true}, {"name":"2日后留存率","metric":true}, . . . {"name":"29日后","metric":true}, {"name":"29日后留存率","metric":true} ], "data": [ [目标用户,对比值,用户行为,时间,留存,...,29日后留存], . . ., [目标用户,对比值,用户行为,时间,留存,...,29日后留存] ] }
6.获取分群列表
https://www.growingio.com/projects/{project_uid}/segmentations.json
请求类型
GET
请求头参数
参数说明与示例
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
project_uid | string | 是 | 项目UID。 |
响应示例
[ { "id": "Segmentation Uid", "name": "Segmentation Name", "userType": 'u', "userNum": 1230, "updatedAt": "2016-08-03" }, { "id": "Segmentation Uid", "name": "Segmentation Name", "userType": 'cs1', "userNum": 1230, "updatedAt": "2016-08-03" }, ... ]
7.获取特定分群的用户列表
URL
https://www.growingio.com/projects/{project_uid}/segmentations/{segmentation_id}/users.csv
请求类型
GET
请求头参数
请参考认证>公共请求参数获取。
参数说明与示例
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
segmentation_id | string | 是 | 分群ID。 |
project_uid | string | 是 | 项目UID。 |
响应示例
以Tab分割的csv文件格式,内容为上传用户的用户属性。
200: OK
登录用户ID 登录用户变量1 12249 GrowingIO
访问用户ID 访问用户变量1 12249 GrowingIO
8.获取圈选元素定义
https://www.growingio.com/projects/{project_uid}/rules.csv
请求类型
GET
请求头参数
参数说明与示例
请求参数
路径参数 | 类型 | 是否必传 | 说明 |
project_uid | string | 是 | 项目UID。 |
响应示例
200:OK
ruleId,eventName,eventType f2503720,元素_注册按钮,clck
401: Unauthorized
{ "message": "Unauthorized", "errors": [] }
500: Internal Server Error
{ "message": "Request timeout", "errors": [ { "code": "request_timeout", "message": "Request timeout in 5000 milliseconds" } ] }