车行开放能力接入流程

更新时间:2023-06-15 05:26:50

本文介绍如何接入车行开放能力。

接入流程说明

车行有两种设备类型:车场设备和车道设备。

若开发者需要接入车行开放能力,需在涂鸦 IoT 开发平台云开发模块下创建云项目。

  1. 登录 涂鸦 IoT 开发平台
  2. 单击左侧导航栏中的 云开发
  3. 单击 创建云项目,填写相关信息,开发方式选择 自定义开发
  4. 向涂鸦交付人员获取接入的车场品牌信息需要的配置清单,清单整理完毕后,和项目信息一起提供给交付人员。
  5. 交付人员会进行内部相关车行网关等创建,并反馈车行网关以及设备等信息。
  • 开发人员可以在涂鸦 IoT 开发平台 云开发 > 消息订阅,提前查看消息订阅技术文档。
  • 涂鸦消息按照云项目维度进行投递。开发人员可自行创建对应项目,进行消息以及数据隔离等操作。

车行功能点说明

详细情况,请参考 公区设备功能点

API 说明

通行授权管理

API 名称 接口地址
新增通行授权 POST:/v1.0/parking-control/{device_id}/pass-authorizations/{pass_authorization_id}
修改通行授权 PUT:/v1.0/parking-control/{device_id}/pass-authorizations/{pass_authorization_id}
删除通行授权 DELETE:/v1.0/parking-control/{device_id}/pass-authorizations/{pass_authorization_id}

访客车管理

API 名称 接口地址
新增访客车 POST:/v1.0/parking-control/{device_id}/visitor-cars/{visitor_car_id}
更新访客车 PUT:/v1.0/parking-control/{device_id}/visitor-cars/{visitor_car_id}
删除访客车 DELETE:/v1.0/parking-control/{device_id}/visitor-cars/{visitor_car_id}
访客车延期 PUT:/v1.0/parking-control/{device_id}/visitor-cars/{visitor_car_id}/delay

特殊车辆管理

API 名称 接口地址
新增特殊车辆 POST:/v1.0/parking-control/{device_id}/special-cars
删除特殊车辆 DELETE:/v1.0/parking-control/{device_id}/special-cars

锁/解锁车管理

API 名称 接口地址
锁车 POST:/v1.0/parking-control/{device_id}/cars/lock
解锁车 DELETE:/v1.0/parking-control/{device_id}/cars/unlock

无牌车通行

API 名称 接口地址
无牌车通行 POST:/v1.0/parking-control/{device_id}/unlicensed-cars/pass

临停车管理

API 名称 接口地址
道闸当前车辆查询 GET:/v1.0/parking-control/{device_id}/cars/current
生成待支付订单 POST:/v1.0/parking-control/{device_id}/orders/generate
支付结果通知 POST:/v1.0/parking-control/{device_id}/fees/{order_number}/pay

道闸控制

API 名称 接口地址
道闸控制 POST:/v1.0/parking-control/{device_id}/gates/control

数据同步管理

API 名称 接口地址
数据同步管理 POST:/v1.0/parking-control/{device_id}/records/sync

车行事件格式

云开发项目开启消息订阅后,可以收到车场设备端上报的事件消息。

通用指令结果上报

功能描述

通过开放接口下发指令之后,会返回指令唯一编号:snsn 执行结果会通过 Pulsar 消息推送反馈业务方。

参数说明

参数名 类型 说明 必填
bizCode String 事件业务 Code,数值:edgeCmdResult
devId String 涂鸦车场设备 ID
productKey String 产品 ID
ts Long 通行时间
bizData Object 业务数据

bizData 参数说明

参数名 类型 说明 必填
sn String 指令记录 ID
processStatus Integer 指令执行状态。
  • 1:发送中
  • 2:已发送
  • 3:执行成功
  • 4:执行失败
  • 5:指令结果未知
message String 指令执行描述,如果指令执行失败,则返回失败原因
happenTime Long 指令执行时间
cmdBizType String 指令业务类型
data Object 业务处理返回数据,Json 格式字符串
{
  "bizCode": "cmdIssueResult",
  "devId": "6c873a4652689079b7****",
  "productKey": "lowdwphf3oid****",
  "ts": 165398285****,
  "uuid": "bay1622429214496I****",
  "bizData": {
    "processStatus": 3,
    "data": "{}",
    "cmdBizType": "parking_result",
    "sn": "153154063487861****",
    "message": "",
    "happenTime": 1653982851470
  }
}

生成待支付订单指令结果上报

外层参数指令的结果格式与通用结果格式相同,内容 data 参数如下:

data 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
orderNo String 订单 ID
feeType String 缴费类型。
  • 1:固定车
  • 2:临停
  • 3:代缴
  • 4:无牌
  • 5:未知
plateNo String 车牌号
inParkingId String 入场 ID
inboundTime Long 入场时间
startTime Long 开始计费时间
elapsedTime Long 停车时长,单位:分钟
payableAmount Integer 应收金额,单位:分
paidAmount Integer 实收金额,单位:分
discountAmount Integer 优惠金额,单位:分

数据示例

{
    "bizCode":"cmdIssueResult",
    "devId":"6c5474318446ac99f3****",
    "productKey":"4dfsdq7a1akx****",
    "ts":165398417****,
    "uuid":"bay1622429214496****",
    "bizData":{
        "processStatus":3,
        "data":"{\"discountAmount\":0,\"elapsedTime\":0,\"feeType\":2,\"gatewayId\":\"6c667a3feaf3efed20****\",\"inboundTime\":1654027371000,\"orderNo\":\"BK220531160251618p2102318191****\",\"paidAmount\":0,\"payableAmount\":0,\"plateNo\":\"浙A12345\",\"projectId\":\"164941079****\",\"sn\":\"153154673898344****\",\"startTime\":1654027371000}",
        "cmdBizType":"parking_result",
        "sn":"153154673898344****",
        "message":"",
        "happenTime":1653984172360
    }
}

当前车查询指令结果上报

外层参数指令的结果格式与通用结果格式相同,内容 data 参数如下:

data 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
plateNo String 车牌号
captureTime Long 抓拍时间

数据实例

{
  "bizCode": "cmdIssueResult",
  "devId": "6c873a4652689079b7****",
  "productKey": "lowdwphf3oid****",
  "ts": 165398285****,
  "uuid": "bay1622429214496****",
  "bizData": {
    "processStatus": 3,
    "data": "{\"captureTime\":1653968629556,\"gatewayId\":\"6c667a3feaf3efed20****\",\"plateNo\":\"浙A12346\",\"projectId\":\"164941079****\",\"sn\":\"153154063487861****\"}",
    "cmdBizType": "parking_result",
    "sn": "153154063487861****",
    "message": "",
    "happenTime": 1653982851470
  }
}

车辆通行记录上报

功能描述

车辆进出车场会自动上报一条通行记录,部分品牌车场上报会有一定延迟。

参数说明

参数名 类型 说明 必填
bizCode String 事件业务 Code,数值:parking_pass_record
devId String 涂鸦车道设备 ID
productKey String 产品 ID
ts Long 事件时间
bizData Object 业务数据

bizData 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
eventId String 上报事件 ID
plateNo String 车牌号
captureTime Long 抓拍时间
passTime Long 通行时间
passDirection String 通行方向
  • 1:进
  • 2:出
openState Integer 开闸状态
  • 1:正常
  • 2:异常
inParkingId String 车辆入场 ID
imageUrl String 抓拍图片
plateDimension Integer 车牌维度。
  • 1:临时车
  • 2:无车牌
  • 3:月租车
  • 4:白名单
  • 6:产权车
  • 99:其他车
feeDimension Integer 收费维度。
  • 1:收费
  • 2:免费
passDimension Integer 放行维度。
  • 1:手工
  • 2:远程
  • 3:自动
  • 4:异常
parkingLotId String 车场 ID
operatorId String 操作员 ID
operatorName String 操作员姓名
remark String 备注

数据示例

{
  "bizCode": "parking_pass_record",
  "bizData": {
    "passDirection":1,
    "imageId":"4738da756fa3d9e9d28f5b128b3f****",
    "plantNo":"粤B3C3A3",
    "openState":1,
    "inParkingId":"DCI8fajYxIxYgOHh4m****",
    "passTime":1627267019000,
    "feeDimension":1,
    "type":"",
    "deviceId":"bc691cd7636de3b4ddcc87960748****",
    "plateDimension":1,
    "eventId":"f5050b19a4dc496b95f0ca0e3e56****",
    "projectId":"7fb88e7ae93a042f0aa37ea709a9****",
    "gatewayId":"6c17135068e42989cf****",
    "passDimension":3,
    "operatorId":"123***",
    "operatorName":"备注***"
  },
  "devId": "6ce23ee0de009667c0****",
  "productKey": "hipg3mmwafxc****",
  "ts": 163729266****
}

临停车辆缴费记录上报

功能描述

临停车辆支付订单之后,车场会上报一条支付记录。

参数说明

参数名 类型 说明 必填
bizCode String 事件业务 Code,数值:parking_fee
devId String 涂鸦车场设备 ID
productKey String 产品 ID
ts Long 事件时间
bizData Object 业务数据

bizData 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
eventId String 上报事件 ID
feeType Integer 缴费类型。
  • 1:固定车
  • 2:临停
  • 3:代缴
  • 4:无牌
  • 5:未知
beginTime Long 开始时间
endTime Long 结束时间
payTime Long 缴费时间
payMode Integer 缴费方式。
  • 1:支付宝
  • 2:微信
  • 3:银行卡
  • 4:现金
  • 5:其他
chargeTotal Long 应收金额
discountAmount Long 折扣金额
fee Long 实收金额
inParkingId String 车辆入场 ID
orderNo String 订单 ID

数据示例

{
  "bizCode":"parking_fee",
  "bizData":{
    "beginTime":1653530742000,
    "chargeTotal":1000,
    "discountAmount":100,
    "endTime":1653617142000,
    "eventId":"12345",
    "fee":900,
    "feeType":2,
    "gatewayId":"6c667a3feaf3efed20****",
    "inParkingId":"6c5474318446ac99f3****",
    "orderNo":"12345",
    "payMode":1,
    "payTime":1653617142000
  },
  "devId":"6c5474318446ac99f3****",
  "productKey":"4dfsdq7a1akx****",
  "ts":1653638320172,
  "uuid":"bay1622429214496****"
}

车牌纠正记录上报

功能描述

某些特殊场景下,车场可能会出现车牌识别错误情况,如:灯光较暗、易混号码等。此时,需要车场工作人员手动订正车牌号,订正之后车场会上报该记录。

参数说明

参数名 类型 说明 必填
bizCode String 事件业务 Code,数值:parking_plate_correction
devId String 涂鸦车场设备 ID
productKey String 产品 ID
ts Long 事件时间
bizData Object 业务数据

bizData 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
eventId String 上报事件 ID
originalPlateNo String 原始车牌号
newPlateNo String 新车牌号
modifyTime Long 修改时间
inParkingId String 入场 ID
operatorId String 操作员 ID
operatorName String 操作员姓名
remark String 备注

数据示例

{
  "bizCode": "parking_plate_correction",
  "bizData": {
    "gatewayId":"002dj00118fe34d9****",
    "eventId":"159169336****",
    "originalPlateNo":"浙A1***5",
    "newPlateNo":"浙A1***6",
    "inParkingId":"123***",
    "modifyTime":1233,
    "operatorId":"123***",
    "operatorName":"备注***"
  },
  "devId": "6ce23ee0de009667c0****",
  "productKey": "hipg3mmwafxc****",
  "ts": 163729266****
}

车场信息上报

功能描述

车场上报车场的基础信息,车位总数,已使用的车位数。

参数说明

参数名 类型 说明 必填
bizCode String 事件业务 Code,数值:parking_lot_info
devId String 涂鸦车场设备 ID
productKey String 产品 ID
ts Long 事件时间
bizData Object 业务数据

bizData 参数说明

参数名 类型 说明 必填
gatewayId String 网关 ID
eventId String 上报事件 ID
parkingId String 品牌车场 ID
parkingName String 品牌车场名称
totalSpaceNum Integer 总车位数量
usedSpaceNum Integer 已经使用的车位数量

数据示例

{
  "bizCode": "parking_lot_info",
  "bizData": {
    "gatewayId":"002dj00118fe34d9****",
    "eventId":"159169336****",
    "parkingId":"123***",
    "parkingName":"测试车场",
    "inParkingId":"123***",
    "totalSpaceNum":1000,
    "usedSpaceNum":20
  },
  "devId": "6ce23ee0de009667c0****",
  "productKey": "hipg3mmwafxc****",
  "ts": 1637292665405
}