创建导出任务
UBI SDK 提供数据导出机制,方便接入方批量获取 UBI SDK 平台上托管的数据。
我们支持定期将数据导出到 阿里云 OSS,接入方需要提前提供如下信息,供百姓车联将数据写入目标存储:
- OSS endpoint
- OSS Bucket
- RAM Access Key & Access Secret
- 导出路径
注意
目前没有后台管理界面或接口,让接入方自助设置数据导出相关的配置。如有需要,请通过电话或邮箱联系百姓车联。
接入方可以复用用于保存行程原始数据的 OSS 存储,仅需指定导出路径与文件格式即可。目前仅导出支持JSON Lines 格式的数据。
定期导出的数据会被写到 导出路径/导出类型/日期/任务id/
路径下,例如 /path/to/exported_data/20220105/1516735090342891520/
。一份数据由多个分片文件 (part-*) 组成,分片文件的格式为用户申请定期导出时指定的文件格式。
全部数据导出完成后,UBI SDK 平台会创建路径为 导出路径/日期/任务id/_SUCCESS
的空文件以标识该份数据已被成功导出。
接口概览
导出任务包含以下4种类型:
导出类型 | 接口地址 | 说明 |
---|---|---|
用户列表 | GET /v1/export/users |
包含在UBI Dashboard创建的用户,和通过UBI SDK上传过行程的用户 |
行程数据 | GET /v1/export/trips |
指定时间段内,用户上传的行程明细数据 |
危险行为 | GET /v1/export/event |
用户上传的行程中,识别出的危险行为数据 |
驾驶分 | GET /v1/export/safety-score |
根据特定时间段内,对用户的驾驶行为进行综合分析,汇总得出的驾驶分 |
注意
-
导出接口均为异步操作,接口只返回
job_id
。可以通过job_id
调用任务状态接口,查看当前任务执行是否成功。 -
导出接口均返回T-1的数据。如果是5月1号创建任务,导出的数据中不包含5月1号当天的数据。
-
行程数据可能会迟到。比如5月1号驾驶的行程,因为网络原因,直到5月10号才上传到服务端。那么在5月10号之前,导出任务的数据都不会包含该行程。
接口响应
HTTP 状态码 | 类型 | 说明 |
---|---|---|
200 | ExportResponse | 导出返回 |
400 | ErrorResult | 请求参数不合法 |
500 | ErrorResult | 系统错误 |
ExportResponse
包含以下字段:
名称 | 类型 | 说明 |
---|---|---|
jobId | string | 导出任务的唯一标识 |
当HTTP状态码等于200时,返回的消息体会包含jobId
。例:
1 2 3 |
|
后续可以轮询任务状态接口,查看任务执行状态。
接口详情
用户列表
1 |
|
包含在UBI Dashboard创建的用户,和通过UBI SDK上传过行程的用户。
-
文件示例:
1 2 3
{"app_id": "110877749", "status": 1, "org_user_id": "1"} {"app_id": "110877749", "status": 1, "org_user_id": "2"} {"app_id": "110877749", "status": 1, "org_user_id": "3"}
-
字段说明:
字段名 | 字段类型 | 描述 |
---|---|---|
app_id | string | APP ID |
status | string | 用户状态(1 : 正常; 99 : 注销) |
org_user_id | string | 接入方的用户账户体系下的用户唯一标识 |
行程数据
1 |
|
参数:
位置 | 名称 | 类型 | 说明 | 是否必填 |
---|---|---|---|---|
Query | startTime | string | 开始日期,格式YYYY-mm-dd ,例2022-01-01 |
是 |
导出从开始日期(startTime
)至今,用户上传的行程数据。
- 文件示例:
1 2 |
|
- 字段说明:
字段名 | 字段类型 | 描述 |
---|---|---|
org_user_id | string | 接入方的用户账户体系下的用户唯一标识 |
trip_id | string | 行程唯一标识 |
start_time | string | 行程开始时间 |
end_time | string | 行程结束时间 |
start_poi | string | 行程开始地理位置 |
end_poi | string | 行程结束地理位置 |
score | float | 行程评分 |
auto_start | string | 是否是自动开始(1 :是;0 :否) |
auto_end | string | 是否是自动结束(1 :是;0 :否) |
start_point | string | 行程起点经纬度 |
end_point | string | 行程终点经纬度 |
route_oss_key | string | 行程轨迹文件的oss路径 |
digest_oss_key | string | 行为摘要文件的oss路径 |
event_count | string | 危险行为数量 |
coordinates | string | gps坐标系类型(GCJ02 , WGS84 ) |
duration_in_seconds | string | 驾驶时长(单位:秒) |
max_speed_in_kilometers_per_hour | string | 最高速度(单位:km/h) |
avg_speed_in_kilometers_per_hour | string | 平均速度(单位:km/h) |
mileage_in_meters | string | 行驶里程(单位:米) |
危险行为
1 |
|
导出从指定日期至今,所有的危险行为数据。
参数:
位置 | 名称 | 类型 | 说明 | 是否必填 |
---|---|---|---|---|
Query | startTime | string | 行程开始日期,格式YYYY-mm-dd ,例2022-01-01 |
是 |
导出从开始日期(startTime
)以来的,用户上传的行程中的危险行为数据。
如果某条行程中没有危险行为,导出的数据中就不会有该行程。
- 文件示例:
1 2 |
|
- 字段说明:
字段名 | 字段类型 | 描述 |
---|---|---|
org_user_id | string | 接入方的用户账户体系下的用户唯一标识 |
trip_id | string | 行程唯一标识 |
start_time | datetime | 行程开始时间 |
end_time | datetime | 行程结束时间 |
total_mileage_in_meters | BIGINT | 行驶总里程(单位米) |
duration_in_seconds | string | 驾驶时长(单位秒) |
left_turn_num | bigint | 急左转次数 |
right_turn_num | bigint | 急右转次数 |
throttle_num | bigint | 急加速次数 |
brake_num | bigint | 急刹车次数 |
phone_call_num | bigint | 打电话次数 |
speeding_num | bigint | 超速次数 |
night_driving_num | bigint | 夜间行车次数 |
tired_driving_num | bigint | 疲劳驾驶次数 |
phone_play_num | bigint | 玩手机次数 |
phone_call_duration | bigint | 打电话持续时长(秒) |
speeding_duration | bigint | 超速持续时长(秒) |
night_driving_duration | bigint | 夜间行车持续时长(秒) |
tired_driving_duration | bigint | 疲劳驾驶持续时长(秒) |
phone_play_duration | bigint | 玩手机持续时长(秒) |
驾驶分
1 |
|
导出从指定日期至今,每个用户的安全驾驶分数据。如果用户没有上传过行程,也没有在UBI Dashboard中被手动加入,就不会有该用户的数据。
参数:
位置 | 名称 | 类型 | 说明 | 是否必填 |
---|---|---|---|---|
Query | startTime | string | 行程开始时间 | 是 |
- 文件示例:
1 2 3 4
{"org_user_id": "100001", "safety_score": "90.0", "interval": "90"} {"org_user_id": "100002", "safety_score": "100.0", "interval": "90"} {"org_user_id": "100003", "safety_score": "70.0", "interval": "90"} {"org_user_id": "100004", "safety_score": "80.0", "interval": "90"}
- 字段说明:
字段名 | 字段类型 | 描述 |
---|---|---|
org_user_id | string | 接入方的用户账户体系下的用户唯一标识 |
safety_score | double | 驾驶分, 0-100 |
interval | int | 计算的周期范围(单位: 天) |