You need to enable JavaScript to run this app.
导航
看板&报表OpenAPI(原统计数据导出)
最近更新时间:2024.07.16 17:04:27首次发布时间:2021.02.23 10:41:49

1.概述

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

  • 用户看板列表,用户能看到的所有看板,包括公共看板和私有看板;
  • 指定看板中的报表信息;
  • 指定报表的数据。

2.API 公共参数

Context-path: /datafinder
Path-parameters:

Parameter

Type

Description

Required

app_id

int

应用id

true

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,针对关键字段进行说明

Field

Type

Description

name

string

看板名称

dashboard_id

string

看板的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:

Parameter

Type

Description

Required

dashboard_id

string

看板ID

true

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},针对看板信息的关键字段进行说明

Field

Type

Description

name

string

看板名称

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:

Parameter

Type

Description

Required

dashboard_id

string

看板ID

true

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"
}

字段含义说明

Field

Type

Description

reports

JSON 对象数组

看板下的多个报表信息

reports[].dsls

JSON 对象数组

报表的DSL信息

reports[].report_id

string

报表的ID

reports[].report_name

string

报表的名称

reports[].report_type

string

报表类型。

说明

返回的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:

Parameter

Type

Description

Required

report_id

string

报表ID

true

注意

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

Query-parameters:

Parameter

Type

Description

Required

count

int

数量limit,最大支持1000条。

false

filter_id

int

全局过滤器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
    }
}

注意

  • 使用report api接口时,如果过滤条件param_filters中包含日期范围,日期范围以传入的为准。 但是如果设置了"granularity": “month” 时,会自动补齐当月的数据,例如,时间过滤条件设置为2024-01-01到2024-03-05,"granularity": “month” 时的返回结果为2024-01-01到2024-03-31的数据。
  • 如果您希望获取天级数据结果,您需要用"granularity": “day”并配合过滤条件来进行日期范围限制。

Response:

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

字段含义说明

Field

Type

Description

data.dsls[].data

JSON 对象数组

报表中的信息

data.dsls[].mp_scene

JSON 对象

场景信息

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 从前端配置获取全局过滤器配置

图片
图片