2.1 曹操出行&电信两融接口协议

曹操出行&电信两融接口协议

电信请求曹操接口

请求域名

正式环境: https://cop.caocaokeji.cn
沙箱环境: https://sandbox-cop.caocaokeji.cn

参数签名 签名步骤

1.参数内加入时间戳字段(timestamp)、client _id 字段

2.参数组合完成后加入 sign _key 字段,值是平台发放的签名 key

3 . 所有的参数(包括 sign _key)根据 key 升序排序,并拼接成字符串(key1value1key2value2 ...),对字符串进行 md5 得到的值就是参数签名 4.生成的参数签名(key 为 sign)加入参数列表中。

相关环境签名对

沙箱环境 client _id: 19c967e245913549 sign _key: 233deec1aad00196f3f1be6ad028c41e

签名代码示例

public static String sign(Map <String, String > param, String signKey)
{ 
// param 是要发到曹操平台的所有参数集合(包括 client _id、timestamp) //
signKey 是曹操平台发放的 sign _key

param.put( "sign _key ", signKey); 
List infoIds = new ArrayList < >(param.entrySet());

Collections.sort(infoIds, Comparator.comparing(Map.Entry <String,
String >::getKey));

String paramStr = convert2Str(infoIds);

try { 
// 对 paramStr 进行 md5,字母小 写 String md5 = md5(paramStr); return
md5;

} catch (Exception e) { 
throw new RuntimeException(e);

} finally { 
// 签名完成后,移除签名 key

param.remove( "sign _key "); }

}

public static String convert2Str(List <Map.Entry <String, String > >
params) { StringBuilder sb = new StringBuilder(); 
for (Map.Entry <String, String > entry : params) {

sb.append(entry.getKey()).append(entry.getValue()); }

return sb.toString(); }

计价器状态同步接口

请求 URL /v2/common/taximeterinfoUpload 请求方式 http/POST

参数列表

参数名 类型 描述
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
status Integer 修改后的计价器状态 1 - 空车 2 - 载客
carnum String 车牌号
collecttime Long 采集时间
devicetime Long 设备上传时间
servertime Long 服务器上传时间

返回值

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

返回示例

{
 "msg ":  "成功 ",  "code ": 200,  "data ": {

 "sequence ":  "2893814f-1702-4362-85ce-d493cd85fbf3 ",  "version ":
 "testVersion ",

 "carnum ":  "浙 A88888 " },

 "success ": true,
}
 

错误码信息

code message 描述
200 SUCCESS 成功
1 系统错误 系统错误
2 参数错误 参数错误
62006 车辆信息不存在 车辆信息不存在

上传计价器信息 (优行提供接口地址)

请求 url

请求方式

参数列表

变量名 类型 含义 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
uniqueid String 内部唯一性标识
phone String 司机手机号
carnum String 车牌号
upLat Long 上车经度
uplng Long 上车维度
upaccuracy Long 上车精度
starttime String 用车时间
citycode String 城市编码
downLat Long 下车经度
downlng Long 下车维度
downaccuracy Long 下车精度
paytime Long 支付时间
ordermileage Long 订单里程(公里)
orderduration Integer 订单时长
ordermoney Long 订单金额

返回值

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

车辆实时位置上报(优行提供接口地址)

请求 url: 请求方式: 参数列表

参数名 参数类型 描述
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
lat Long 经度
lng Long 维度
accuracy Long 精度
collecttime Long 采集时间
devicetime Long 设备上传时间
Servertime Long 服务器上报时间

应答格式

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

异常载客(实时上传)(优行提供接口地址)

请求 url: 请求方式: 请求格式

参数名 参数类型 描述
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
total Integer 车内人数(模糊人数)
collecttime Long 采集时间
devicetime Long 设备上传时间
Servertime Long 服务器上报时间

应答格式

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

车内纠纷(实时上传)(优行提供接口地址)

请求 url: 请求方式: 请求格式

参数名 参数类型 描述
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
collecttime Long 采集时间
devicetime Long 设备上传时间
Servertime Long 服务器上报时间

应答格式

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

设备列表上报(优行提供接口地址)

请求 url: 请求方式:

请求参数列表

变量名 含义 必填 类型 备注
client _id 开放平台申请的 client _id String
timestamp 时间戳 Long
sign 参数签名 String
version 版本 String
sequence 全局唯一码 String
devicelist 设备列表 { "deviceId ": "1 ",//设备 ID "carNum ": "浙 a1221212 " // 车牌 },{ ....}

响应参数列表

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer 返回值,成功 200
message String 调用信息

曹操请求电信接口

验证方式与曹操相同

参数签名 签名步骤

1.参数内加入时间戳字段(timestamp)、client _id 字段 2.参数组合完成后加入 sign _key 字段,值是平台发放的签名 key

3 . 所有的参数(包括 sign _key)根据 key 升序排序,并拼接成字符串(key1value1key2value2 ...),对字符串进行 md5 得到的值就是参数签名

4.生成的参数签名(key 为 sign)加入参数列表中

请求域名

测试的:http://dev-openapi.caocaovip.com:8082
正式的:http://openapi.caocaovip.com:8080

同步车辆线上载客状态(电信提供)

请求 url:

/vehicle/status

请求方式:

http/POST

请求格式(同时兼容老版本)

字段名 类型 描述
client _id timestamp String Long String 开放平台申请的client _id 时间戳
参数签名
sign version String
sequence String 全局唯一码
carnum String 车牌
status Integer 车辆线上接单状态 0 - 空闲,1 - 在运营
collecttime Long 采集时间
devicetime Long 设备上传时间
servertime Long 服务器上传时间

返回值

字段名 类型 描述
version String 版本号
sequence String 全局唯一码
code Integer

返回值,成功 200

message String 调用信息

返回示例

{

 "message ":  " success ",  "code ": 200, 
 "data ": {

 "sequence ":  "2893814f-1702-4362-85ce-d493cd85fbf3 ",  "version ":
 "testVersion "

} }

错误码信息

code message data
200 success 数据
300 系统错误/或异常 FAIL
401 接口验证失败 FAIL
404 车辆信息不存在 FAIL

录像录音文件获取流程

分页查询设备录像文件列表

接口描述:分页查询设备录像文件列表 接口类型:get 接口 URL:/cameraDeviceInfo/RecordFileList 请求参数列表

变量名 含义 必填 类型 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
starttime String 开始时间
endtime String 结束时间
status Number 上传状态 0 表示未上传
1 表示 上传成功
channel Number 摄像头位置 0-前摄像头,1-后摄像头
pageNum Number 页码
pageSize Number 分页大小

响应参数列表

变量名 含义 类型 备注
code 返回码 response number 200
data 录像文件列表 Object {
"pageNum": "1",
"pageSize": "10",
"totalNum": "30",
"content":
[{
"filename": "deviceid_20190221151356.mp4",
"url": "https://download1-caocaovip- com.oss-cn- hangzhou.aliyuncs.com/record/deviceid/ 20190221/deviceid_20190221151356.mp 4"
"status": 0, //0 表示未上传,1 表示上传成 功
"channel": 1,//0-前摄像头,1-后摄像头
"endtime": 1432143134
"filename": "deviceid_20190221152356.mp4"
"url": "https://download1-caocaovip- com.oss-cn- hangzhou.aliyuncs.com/record/deviceid/ 20190221/deviceid_20190221152356.mp 4"
"status": 0, //0 表示未上传,1 表示上传成功
"channel": 1,//0-前摄像头,1-后摄像头 "starttime": 1231241235,
"endtime": 1432143134,
}]
}
Message String success

分页查询录音文件列表

接口描述:分页查询录音文件列表 接口类型:get

接口 URL:/cameraDeviceInfo/RecordAudioFileList 请求参数列表

变量名 含义 必填 类型 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
pageNum Number 页码
pageSize Number 分页大小

响应参数列表

变量名 含义 类型 备注
code 返回码 resopne number 200
data 录音文件列表 object {
"pageNum": "1", "pageSize": "10", "totalNum": "30",
"content":
[{
"filename": "deviceid_20190221151356.mp3",
"url": "https://download1-caocaovip- com.oss-cn- hangzhou.aliyuncs.com/record/deviceid/20 190221/deviceid_20190221151356.mp3", "status": 1,
"starttime": ,
"endtime":
},{
"filename": "deviceid_20190221152356.mp3",
"url": "https://download1-caocaovip- com.oss-cn- hangzhou.aliyuncs.com/record/deviceid/20 190221/deviceid_20190221152356.mp3", "status": 1,
"starttime": , "endtime": }]
}
Messag e String success

接口描述:此请求为查询录音录像文件是否从车载设备上传到平台

接口类型:get 接口 URL:recordFileStatus 请求参数列表

变量名 类型 必填 含义 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
channel Number 摄像头编号 0-前摄像头
1-后摄 像头
fileName String 文件名称 文件名称
type Number 文件类型 "type ":0,
0-录音文件 1-录像文件

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data object String {
"status ": 0, //0 表示未上传,1 表示上传成功 "filename ": "deviceid _20190221151356.mp4 ", "url ":
"[https://download1-caocaovip-com.oss-]{.underline}](https://download1-caocaovip-com.oss-) cn- hangzhou.aliyuncs.com/record/deviceid/201902]{.underline}](http://hangzhou.aliyuncs.com/record/deviceid/201902) 21/deviceid _20190221151356.mp4 "
}
Messag String success

发送设备录像录音文件上传到平台接口

接口描述:此接口为通知电信平台,将车载设备的录音录像文件上传到平台,并返回 对应的 url,在查看录像录音之前,需要先判断文件状态是否为已上传

接口类型:get 接口 URL:/cameraDeviceInfo/recordFilePlay 请求参数列表

变量名 含义 必填 类型 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
channel Number 摄像头编号 0-前摄像头,1-后摄 像头
fileName String 文件名称 文件名称
type Number 文件类型 "type ":0, //0-录音文 件 1-录像文件

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data object String {
"status ": 0, //0 表示未上传,1 表示上传 成功,2 表示上传失败
"filename ": "deviceid _20190221151356.mp4 ",
"url": "https://download1-caocaovip- com.oss-cn- hangzhou.aliyuncs.com/record/device
}
Message String success

车辆位置轨迹点查询

接口名称:设备轨迹查询 接口描述:设备轨迹查询,一次查询轨迹时间不能超过2 小时 接口类型:get 接口 URL:/cameraDeviceInfo/deviceTrail
请求参数列表

变量名 类型 必填 含义 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号
startTime String 开始时间
endTime String 结束时间

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data 位置信息 Object { "timestamp ": 时间戳, "lat ": 经度,"lng": 维度,
"status": 0 //如果这个点和 上个点之间终端没有上报位
置,则会出现这个字段,1 是异常, 0 是正常
},...]
Message String success

摄像头信息查询

摄像头 设备号,品牌型号,厂家,内存容量,分辨率 接口名称:摄像头信息查询 接口描述:摄像头信息查询 接口类型:get

接口 URL:/cameraDeviceInfo/baseInfo 请求参数列表

变量名 类型 必填 含义 备注
client _id String 开放平台申请的 client _id
timestamp Long 时间戳
sign String 参数签名
version String 版本
sequence String 全局唯一码
carnum String 车牌号

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data 位置信息 Object { "deviceId ": "20190221151356 ", "cameraModel ": " ", //厂商型号
"factory ": " ",//工厂名称 "memoryCapacity ": 0,//内存容量 "resolution ":
"4CIF " //分辨率, }, ... ]
Message String success

计价器数据(查询接口)(带内部唯一性标识)

接口名称:查询计价器计价信息 接口描述:查询计价器计价信息,一次查询时间不能超过 24 小时 接口类型:get 接口 URL:/taximeter/query 请求参数列表

变量名 含义 必填 类型 备注
client _id 开放平台申请的 client _id String
timestamp 时间戳 Long
sign 参数签名 String
version 版本 String
sequence 全局唯一码 String
carnum 车牌号 String
pageNum 页码 Number
pageSize 分页大小 Number
starttime 开始时间 String
endtime 结束时间 String

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data object 计价器信息:
{
"pageNum": "1", "pageSize": "10", "totalNum": "30", "content":[{
"status": 1, //0 表示未连接,1 表示已连接
"price": 32,//元
"duration": 654, //毫秒 "mileage": 13,//公里
"time": 123456789,//统计时间 (毫秒)
"operationState": 0 //0 表示不 在运营状态,1 表示在运营状态 "starttime": 13,//开始时间 "stoptime": 123456789,//结束 时间
"waittime": 0 //等待时间
}, {
"status": 1, //0 表示未连接,1 表示已连接
"price": 32,//元
"duration": 654, //毫秒 "mileage": 13, //公里
"time": 123456789,//统计时间 (毫秒)
"operationState": 0 //0 表示不 在运营状态,1 表示在运营状态 "starttime": 13,//开始时间 "stoptime": 123456789,//结束 时间
"waittime": 0 //等待时间
}]
}
 |

| Message | | String | success |

日志(查询接口)

接口名称:平台操作日志分页查询 接口描述:平台操作日志分页查询,一次日志查询时间不能超过 24 小时

接口类型:get 接口 URL:/cameraDeviceInfo/deviceGeneralPageQry 请求参数列表

变量名 含义 必填 类型 备注
client_id 开放平台申请的 client_id String
timestamp 时间戳 Long
sign 参数签名 String
version 版本 String
sequence 全局唯一码 String
carnum 车牌号 String
phone 手机号码 String 司机的手机号码
userName 姓名 String 司机的姓名
pageNum 页码 Number
pageSize 分页大小 Number
startTime 开始时间 Long 开始时间
endTime 结束时间 Long 结束时间

响应参数列表

变量名 含义 类型 备注
code 返回码 Number 200
data object 设备信息列表:
{
"pageNum": "1", "pageSize": "10", "totalNum": "30", "content":
[{
"deviceId": "1",//设备 ID "alarmType": 0,//类型
"desc": "摄像头异常",//描述 "alarmTime": 1,//时间 "driverId":
1212,//司机 "driverName": "test",//司机姓名
"carNum": "浙 a1221212", "companyName": "testcompany",//公司
名称 "state": 0 //状态
},{....}]
}

| Message | | String | success |

设备列表查询(查询接口)

接口名称:设备列表查询 接口描述:设备列表查询

接口类型:get 接口 URL:/cameraDeviceInfo/deviceCaoCaoPageQry 请求参数列表

变量名 含义 必填 类型 备注
client _id 开放平台申请的 client _id String
timestamp 时间戳 Long
sign 参数签名 String
version 版本 String
sequence 全局唯一码 String
pageNum 页码 Number
pageSize 分页大小 Number

响应参数列表

变量名 含义 类型 备注
code 返回码 number 200
data object 设备信息列表:
{
"pageNum": "1", "pageSize": "10", "totalNum": "30",
"content":
[{
"deviceId": "1",//设备 ID "carNum": "浙 a1221212" //车 牌
},{....}]
}
Message String success