You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
合作与生态
支持与服务
开发者
了解我们
导航

原始数据导出 API(SaaS)

更新时间:2023.04.23 20:40:20

1.概述

本文档为为SaaS产品原始数据自定义导出的使用文档;
私有化版本可以查看私有化文档-原始数据导出 API
通过该文档为T+1离线的方式导出原始数据,如果需要实时数据可以查看数据分发

特别说明:云原生版本暂不支持数据导出。

为了保证您和用户的数据安全,应用原始数据导出的接口权限默认是关闭的。
在开始使用之前,您需要联系客服开通数据导出功能。
开通原始数据导出功能后,系统会每天自动执行任务,导出前一天数据并上传文件系统,您可以通过该开放接口获取和导出开通之日之后的原始数据。
根据数据时间(当天时间为T),接口分为:
(1)T-7 至 T-1数据导出,对应api为【3.获取数据文件清单API】,数据会由系统定时为您导出,需要注意的是如果数据导出功能开通时间在T-7之后,则只能获取自功能开通之日起的数据;
(2)历史 至 T-8数据导出,对应api为【4.提交自定义数据导出API】和【5.获取自定义导出数据清单API】,需要您使用【4.提交自定义数据导出API】提交对应日期的数据导出任务,系统会为您自动导出,导出速率约为1天可以导出单个应用1个月的数据,等待数据导出完成后,使用【5.获取自定义导出数据清单API】获取数据文件地址,需要注意的是,最远支持导出T-450的历史数据。

2.API 公共参数

Context-path: /datarangers
Path-parameters:

ParameterTypeDescriptionRequired
app_idint应用的app_idtrue
begin_datestringyyyy-MM-dd,需要导出数据的开始日期true
end_datestringyyyy-MM-dd,需要导出数据的结束日期。true

Response:

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

  • message 成功或失败信息

  • data 结果数据,为一个json object array

3.获取数据文件清单 API

3.1 API 定义

Path:/openapi/v2/{app_id}/date/{begin_date}/{end_date}/downloads
Method: GET
Content-type: application/json
Path-parameters:

ParameterTypeDescriptionRequired
begin_datestringyyyy-MM-dd,需要导出数据的开始日期,只支持最近7天true
end_datestringyyyy-MM-dd,需要导出数据的结束日期,只支持最近7天true

3.2 OpenAPI SDK 使用样例

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

调用(Python):

# 这是 Python 示例
res = bc.data_rangers('/openapi/v2/{appid}/date/{begin_date}/{end_date}/downloads', method='get')
print(res.content)

返回结果:

{
        "code": 200,
        "data": [{
                "date": "2021-10-10",
                "urls": ["http://xxxx/xxxx.txt.gz"],
                "row_count": 10,
                "expire_time": "2021-11-09"
        }, {
                "date": "2021-10-11",
                "urls": ["http://xxxx/xxxx.txt.gz"],
                "row_count": 200,
                "expire_time": "2021-11-10"
        }],
        "message": "success"
}
4.提交自定义数据导出 API

该接口支持自定义数据导出,需注意以下几点:

  1. 开始日期不能早于450天之前;

  2. 结束日期不能是最近7天(最近7天由定时任务导出),如当前日期为2021-06-24,则结束日期必须小于2021-06-17;

  3. 起始日期和结束日期间隔不能超过365天;

  4. 可以提交多个导出请求,但是请求之间日期不能重合;

  5. 导出任务会按照提交时间依次执行,数据导出之后,文件会保存30天,您在提交导出任务之后,可以使用【获取自定义导出数据文件清单API】每天检查下对应数据是否完成导出。

4.1 API 定义

Path:/openapi/v1/{appid}/date/{begin_date}/{end_date}/exports
Method: Type: POST
Content-type: application/json
Path-parameters:

ParameterTypeRequired
begin_datestringyyyy-MM-dd,需要导出数据的开始日期,不能早于2020-01-01
end_datestringyyyy-MM-dd,需要导出数据的结束日期,开始结束日期间隔不能超过365天

Body:

4.2 OpenAPI SDK 使用样例

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

调用(Python):

# 这是 Python 示例
res = bc.data_rangers('/openapi/v1/{appid}/date/{begin_date}/{end_date}/exports', method='post', body='')
print(res.content)

返回结果:

{
        "code": 200,
        "message": "success"
}
5.获取自定义导出数据文件清单 API

该接口返回自定义导出数据的文件清单,需注意一下几点:

  1. 同一个app_id多次提交的自定义导出数据,该接口会一次返回所有导出成功的数据文件清单;

  2. 需在发起请求后的30天内及时取出文件,过期的数据不会在接口返回。

5.1 API 定义

Path:/openapi/v1/{app_id}/exports
Method: GET
Content-type: application/json
Path-parameters: 无特殊参数,参考公共参数即可

Response:

参数类型说明
codeint接口返回状态,200为成功
datestring数据文件的对应的日期
namestringapp_launch为应用启动,origin_event为行为日志
urlslist文件的下载地址列表
row_countint文件中包含的条数
expire_timestring数据失效时间
messagestring接口返回的消息

5.2 OpenAPI SDK 使用样例

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

res = bc.data_rangers('/openapi/v1/{app_id}/exports', method='get')
print(res.content)

返回结果:

{
        "code": 200,
        "data": [{
                "date": "2020-02-10",
                "name": "app_launch",
                "urls": ["http://xxxx/obj/dptob-nj-dataexoort/xxxx.csv.gz"],
                "row_count": 10,
                "expire_time": "2020-03-10 12:00:00"
        }, {
                "date": "2020-02-10",
                "name": "origin_event",
                "urls": ["http://xxxx/obj/dptob-nj-dataexoort/xxxx.csv.gz"],
                "row_count": 302,
                "expire_time": "2020-03-10 12:00:00"
        }],
        "message": "success"
}
6.下载数据文件

使用3或者5结果返回的urls,依次下载原始数据文件,可以并发下载,建议最多5个线程。
建议每日定时获取前一天的数据。

附:数据文件字段说明

下载后的原始数据文件为csv.gz文件,可以直接导入hdfs,编码为utf-8。
文件字段字段如下:

字段说明数据类型
app_name应用名称string
event事件名称string
params事件属性(客户端上报的params字段)map<string, string>
header_custom自定义的公共属性map<string, string>
local_time_ms事件触发时间(客户端时间)bigint
server_time事件上报到服务器端的时间,unixtime格式int
user_unique_id用户唯一idstring
ssidSSIDstring
bddid设备idstring
udidimeistring
session_id会话idstring
app_package应用包名string
app_channel应用渠道string
app_version应用版本string
app_install_id安装idstring
app_language语言string
ab_versionab测试版本string
client_ipip地址,原device_idstring
device_timezone时区int
device_model设备型号string
device_brand设备品牌string
os_name操作系统string
os_version操作系统版本string
os_is_jailbroken设备是否越狱int
network_type网络类型string
network_carrier运营商string
screen_resolution分辨率string
screen_density像素密度string
screen_density_dpi像素密度dpibigint
push_os推送的osstring
push_sdk推送的sdk列表string
tea_event_index一个session中事件的发生顺序bigint