You need to enable JavaScript to run this app.
导航

看板&报表OpenAPI(原统计数据导出)

最近更新时间2023.11.30 14:34:01

首次发布时间2021.02.23 10:41:49

1.概述

本文档提供火山引擎增长分析中统计数据导出的说明。
可导出的统计数据包括:

  • 用户看板列表,用户能看到的所有看板,包括公共看板和私有看板;

  • 指定看板中的报表信息;

  • 指定报表的数据。

2.API 公共参数

Context-path: /datafinder
Path-parameters:

ParameterTypeDescriptionRequired
app_idint应用idtrue

Response:

{
        "code": 200,
        "message": "success"
        "data": xxx
}
  • code 状态码,200 表示成功,其他非失败

  • message 成功或失败信息

  • data 结果数据,具体结构参考具体的 API 描述

3.查询用户看板列表 API

3.1 API 定义

Path:/openapi/v1/{app_id}/dashboards/all
Method: GET
Content-type: application/json
Path-parameters: 参考公共参数即可
Response:

{
    "code":200,
    "data":[
        {
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{},
            "created_at":1568171124,
            "filters":[],
            "is_default":false,
            "partners":[],
            "extra":{},
            "name":"核心数据总览",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6735243691952177675",
            "status":1
        }
    ],
    "message":"success"
}

字段含义说明:
data 返回的是一个JSON list,针对关键字段进行说明

FieldTypeDescription
namestring看板名称
dashboard_idstring看板的ID

3.2 OpenAPI SDK 使用样例

bc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口

调用(Python):

例如,获取app_id= 164314的用户看板
res = bc.data_finder('/openapi/v1/164314/dashboards/all', method='get')
print(res.content)

返回结果:

{
    "code":200,
    "data":[
        {
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{

            },
            "created_at":1568171124,
            "filters":[

            ],
            "is_default":false,
            "partners":[
                "数据漫游者1",
                "数据漫游者2",
                "数据漫游者3",
                "数据漫游者4",
                "数据漫游者5",
                "数据漫游者6",
                "数据漫游者7",
                "数据漫游者8",
                "数据漫游者9",
                "数据漫游者10",
                "数据漫游者11",
                "数据漫游者12",
                "数据漫游者13"
            ],
            "extra":{

            },
            "name":"核心数据总览",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6735243691952177675",
            "status":1
        },
        {
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{

            },
            "created_at":1568707880,
            "filters":[

            ],
            "is_default":false,
            "partners":[
                "数据漫游者1",
                "数据漫游者2",
                "数据漫游者3",
                "数据漫游者4",
                "数据漫游者5",
                "数据漫游者6",
                "数据漫游者7",
                "数据漫游者8",
                "数据漫游者9",
                "数据漫游者10",
                "数据漫游者11",
                "数据漫游者12",
                "数据漫游者13",
                "数据漫游者14",
                "数据漫游者15",
                "数据漫游者16",
                "数据漫游者17",
                "数据漫游者18",
                "数据漫游者19",
                "数据漫游者20",
                "数据漫游者21",
                "数据漫游者22",
                "数据漫游者23",
                "数据漫游者24",
                "数据漫游者25",
                "数据漫游者26",
                "数据漫游者27",
                "数据漫游者28",
                "数据漫游者29"
            ],
            "extra":{

            },
            "name":"啦啦啦",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6737549040994484743",
            "status":1
        },
        {
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{

            },
            "created_at":1582698954,
            "filters":[

            ],
            "is_default":false,
            "partners":[
                "数据漫游者1",
                "数据漫游者2",
                "数据漫游者3",
                "数据漫游者4",
                "数据漫游者5",
                "数据漫游者6",
                "数据漫游者7",
                "数据漫游者8",
                "数据漫游者9",
                "数据漫游者10",
                "数据漫游者11",
                "数据漫游者12",
                "数据漫游者13",
                "数据漫游者14",
                "数据漫游者15",
                "数据漫游者16",
                "数据漫游者17",
                "数据漫游者18"
            ],
            "extra":{

            },
            "name":"tes333",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6797640248915395086",
            "status":1
        }
    ],
    "message":"success"
}
4.查询看板信息 API

4.1 API 定义

Path:/openapi/v1/{app_id}/dashboards/{dashboard_id}
Method: GET
Content-type: application/json
Path-parameters:

ParameterTypeDescriptionRequired
dashboard_idstring看板IDtrue

Response:

{
    "code":200,
    "data":{
        "6737549040994484743":{
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{},
            "created_at":1568707880,
            "filters":[],
            "is_default":false,
            "partners":[],
            "extra":{},
            "name":"啦啦啦",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6737549040994484743",
            "status":1
        }
    },
    "message":"success"
}

字段含义说明:
data 返回的是一个JSON 对象,格式是:"{dashboard_id}":{dashboard_info},针对看板信息的关键字段进行说明

FieldTypeDescription
namestring看板名称

4.2 OpenAPI SDK 样例

bc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口

调用(Python):

# 例如,app_id= 164314 dashboard= 6737549040994484743
bc.data_finder('/openapi/v1/164314/dashboards/6737549040994484743', method='get')
print(res.content)

返回结果:

{
    "code":200,
    "data":{
        "6737549040994484743":{
            "is_core":false,
            "creator":"数据漫游者",
            "partner_info":{

            },
            "created_at":1568707880,
            "filters":[

            ],
            "is_default":false,
            "partners":[
                "数据漫游者1",
                "数据漫游者2"
            ],
            "extra":{

            },
            "name":"啦啦啦",
            "is_public":true,
            "is_subscribed":false,
            "app_id":164314,
            "dashboard_id":"6737549040994484743",
            "status":1
        }
    },
    "message":"success"
}
5.查询看板中的报表信息 API

5.1 API 定义

Path:/openapi/v1/{app_id}/dashboards/{dashboard_id}/reports
Method: GET
Content-type: application/json
Path-parameters:

ParameterTypeDescriptionRequired
dashboard_idstring看板IDtrue

Response:

{
    "code":200,
    "data":{
        "7017737980265628173":{
            "available":3,
            "denied":0,
            "layout":Array[3],
            "reports":[
                {
                    "app_id":"164314",
                    "creator":"",
                    "dsls":Array[1],
                    "is_preset":true,
                    "partner_info":{

                    },
                    "partners":[

                    ],
                    "report_id":"7017737978126696967",
                    "report_name":"\u6d3b\u8dc3vs\u65b0\u7528\u6237",
                    "report_type":"event_analysis"
                },
                Object{...},
                Object{...}
            ],
            "total":3
        }
    },
    "message":"success"
}

字段含义说明

FieldTypeDescription
reportsJSON 对象数组看板下的多个报表信息
reports[].dslsJSON 对象数组报表的DSL信息
reports[].report_idstring报表的ID
reports[].report_namestring报表的名称
reports[].report_typestring报表类型。

说明

返回的report_type为rich_text(富文本)或者embed(嵌入式)时,报表详情内容已包含在返回的reports[].dsls信息中,无需再通过report_id进一步查询此类报表详情。

5.2 OpenAPI SDK 样例

bc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口

调用(Python):

# 例如,app_id= 164314 dashboard=6737549040994484743
res = bc. data_finder('/openapi/v1/164314/dashboards/6737549040994484743/reports', method='get')
print(res.content)

返回结果:

6.查询报表信息与数据 API

6.1 API 定义

Path:/openapi/v1/{app_id}/reports/{report_id}
Method: GET / POST
Content-type: application/json
Path-parameters:

ParameterTypeDescriptionRequired
report_idstring报表IDtrue

注意

  • 私有化4.4版本后开始支持SQL自定义查询的结果。
  • 当报表类型为rich_text(富文本)或者embed(嵌入式)时,报表详情信息已包含在reports[].dsls中,无需再使用report_id来查询报表信息与数据,如果使用此种方式查询会报错。

Query-parameters:

ParameterTypeDescriptionRequired
countint数量limit,最大支持1000条。false
filter_idint全局过滤器id,如果使用该id将忽略body中的global_filter节点(私有化4.4版本后支持)false

Body:
当Http Method为POST时,可以使用body参数。

{
    "global_filter": {
        "param_filters": {},
        "profile_filters": [],
        "period": {},
        "property_logic": "and",
        "replace_info": null
    }
}

Response:

{
        "code": 200,
        "message": "success"
        "data":  {
            "dsls": [{
                 "data": [{}],
                 "mp_scene": {},
                 "qr_codes": []
                }
            ],
        }
}

字段含义说明

FieldTypeDescription
data.dsls[].dataJSON 对象数组报表中的信息
data.dsls[].mp_sceneJSON 对象场景信息
data.dsls[].qr_codes数组二维码信息

6.2 OpenAPI SDK 样例

bc 为创建的 RangersClient, 其初始化请参考 “OpenAPI SDK 使用说明”, 各语言的 SDK 都提供了类似的接口

调用(Python):

# 例如,app_id= 165108 report_id= 6761676584756707854
res = bc.data_finder('/openapi/v1/165108/reports/{}'.format('6761676584756707854'), method='get', params={"count":30})
print(res.content)

返回结果:
data.dsls[].data为报表中的数据
data.dsls[].mp_scene为场景信息
data.dsls[].qr_codes为二维码信息

6.3 从前端配置获取全局过滤器配置