停车场边缘网关接入API

更新时间:2019-09-03 10:24:15

停车场边缘解决方案使用手册>>

1、名词

  • 车辆类型
    • 白名单车辆:无需缴费,可直接通行的车辆。
    • 普通车辆:有月卡或者购买了车位,没有收费过程。
    • 临时车辆:进出车场受管控,肯定有订单。

2、规约信息

2.1 边缘和本地停车系统建立连接

  • 通信协议基于HTTP,建立双向通道(即先由IoT边缘网关发起连接,成功后再由本地系统/设备发起连接到边缘服务器, 只有双向通道都建立成功后,才能进行业务通信)。

  • 访问格式:http://:<相对url>,例如http://127.0.0.1:12345/connect

  • 时间字段类型:string-utc, 如:"1502175700"

  • 文件传输时,路径、文件名一律为英文。

  • edge 端的车行连接服务端口:10010

  • 传输的图片的格式要求:png, jpg, jpeg, JPG

2.2 订单创建

  • 不需要创建订单的情形:不需要收费的情况无需创建订单,具体例子如下:

    • 白名单车辆通行。
    • 普通车办理了月卡或者购买了车位,不需要进出车场时每次都缴费。
    • 车场免费期:有些车场中,比如停车时间不到30分钟可免费,对于这种情况,车辆进出不需要创建订单。
  • 创建订单的两种方式

    • 调用云端创建订单接口,用户通过APP扫码缴费触发
      • 用户在出车场前在场内提前缴费
      • 用户到达闸机口扫码缴费
    • 本地停车系统创建订单,并上报云端。用户到达闸机口缴现金,车场中本地停车系统生成订单,停车系统通过停车区域上报订单事件,将订单信息同步到云端,无需调用云端创建订单接口。

2.3 停车场无停车区域的情况

部分厂商的停车场中,业务相关的操作绑定在停车场上而非停车区域,例如车辆黑白名单修改,停车场下并不做停车区域的进一步划分。

边缘网关由于要支持多种停车场场景,因此API设计上包含了停车区域相关的操作。不划分区域的停车场可以将停车场看做默认的停车区域。只需要在对应停车区域相关的API参数中使用lotId代替areaId即可。

3、接口说明

3.1 连接

  • 相对url: /connect

  • method: POST

  • Content-Type:application/json

  • 描述: 由边缘网关主动发起, 等连接成功后,再由停车管理服务系统向边缘网关建立连接,只有双向连接建立成功后,边缘端和本地停车管理系统才算成功建立了连接。

  • 调用发起方:

    • 边缘网关
    • 停车系统
  • 参数:

参数 类型 必选 说明 备注
sn string 设备sn N/A
time string-utc utc时间戳 例如:1502175700
ip string ip地址 格式:192.168.1.110,目前的ip参数主要用来做连接时验证签名校验,边缘和停车系统实际使用的对端IP地址需要通过外部配置。
mac string mac地址 格式:11:22:33:44:55:66
version string 版本号 格式:major.minor.patch,连接发起方的版本标记
keepalive int 保活超时时间 单位:s,边缘侧发起请求时默认使用30s保活超时时间
signMethod string 签名算法 目前支持的有: md5/sha1/sha256
sign string 签名后的内容 需要签名的内容封装格式:"TIME{time}MAC{mac}SN{sn}IP{ip}",大括号内的是具体内容(注意,格式中的花括号{}需要保留),其外面的是名称。time要转换成string类型。
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值 0表示成功,其他非0错误值参见错误码表
message string 返回消息 连接结果的可读字符串
data dict
消息内容 该消息必须包含token字段,连接成功的响应中必选,错误情况不需要。
该字段的含义:连接成功后,被调用方会颁发身份标示信息,在后续的“心跳包活”、“业务请求”时需要携带。

示例:
请求:

{
    "sn": "1234567890",
  "time": "123456789",
  "ip": "192.168.1.110",
  "mac": "11:22:33:44:55:66",
  "keepalive": 10,
  "signMethod": "md5",
  "sign": "sdfdgdsghgfdhfghgfhjdfj"
}

连接成功响应:

{
    "code": 0,
  "message": "success",
  "data": {
      "token": "234353455456"
  }
}

参数无效响应(如IP地址格式错误等情况,message根据具体错误有所不同):

{
    "code": 2,
  "message": "......"
}

签名验证错误响应:

{
    "code": 3,
  "message": "Signature is invalid"
}

3.2 停车场-车位上报

  • 相对url: /report/parkingLot/parkingSpaceNum

  • method: POST

  • Content-Type:application/json

  • 描述:上报停车场车位总量,由停车管理服务系统发起。和边缘网关成功建立连接后,主动上报该事件给边缘网关。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 停车服务的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
totalNum int 车位总数
remainNum int 剩余空闲的车位个数
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
    "token": "123456789",
  "lotId": "车场Id",
  "totalNum": 100,
  "remainNum": 50
}

响应:

{
    "code": 0,
    "message": ""
}

3.3 查询停车区域列表

  • 相对url: /query/parkingLot/areaList

  • method: GET

  • 描述:查询所有停车区域列表

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 停车服务的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
type int 查询类型 0:全量,1:一级区域。
对于停车场本身只有一个区域的情形,返回的区域列表中唯一的区域就是停车场ID。
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
lotId="车场ID"
type=0

响应:

{
    "code": 0,
    "message": "",
    "data": {
        "areaList":[
            {"areaId": "area_id_1", "areaName": "xxx", "totalNum": 100, "remainNum": 50},
            {"areaId": "area_id_2", "areaName": "xxx", "totalNum": 100, "remainNum": 50}
            ...
        ]
    }
}

3.4 查询道闸列表

  • 相对url: /query/parkingLot/barrierGateList

  • method: GET

  • 描述:查询所有道闸列表

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
lotId="车场ID"

响应:

{
    "code": 0,
    "message": """data": {
        "barrierGateList":[
            {"areaId": "mmm", "barrierGateId": "xxx", "barrierGateName": "yyy", "direction": 0/1}, // 0表示进库,1表示出库
            {"areaId": "mmm", "barrierGateId": "xxx", "barrierGateName": "yyy", "direction": 0/1},
            {"areaId": "mmm", "barrierGateId": "xxx", "barrierGateName": "yyy", "direction": 0/1},
            ...
        ]
    }
}

3.5 查询车辆信息

  • 相对url: /query/vehicleInfo

  • method: GET

  • 描述:查询车辆信息

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
numberPlate string 车牌号
  • 返回值
参数 二级参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容 具体内容查看示例
userId string 用户ID
userName string 用户名字
numberPlate string 车牌号
phoneNumber string 手机号
lockStartTime utc-string 锁车起始时间 内容为空或者无字段时,则不锁车
lockEndTime utc-string 锁车截止时间 内容为空或者无字段时,则不锁车
areaId string 停车区域ID 内容为空或者无字段时,则该车未在停车位上
spaceId string 停车位ID 内容为空或者无字段时,则该车未在停车位上
permission list 通信权限

示例
请求:

token="1234567890"
lotId="车场ID"
numberPlate="车牌号"

响应:

{

   "code": 0,
   "message": "",
   "data":{
        "userId": "用户ID",
       "userName": "用户名",
      "phoneNumber": "手机号",
         "numberPlate": "浙A5566",
      "lockStartTime": "锁车起始时间",
      "lockEndTime": "锁车截止时间",
      "areaId": "停车区域ID",
      "spaceId": "停车位ID""permission":[
              {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"},
            {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"},
            {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"}
            ...
         ]
       }
   }
}

3.6 查询车辆列表

  • 相对url: /query/vehicleList

  • method: GET

  • 描述: 获取车辆列表数据。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车管理系统下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容 具体内容查看示例

示例
请求:

token="123456789"
lotId="车场ID"

响应:

{
    "code": 0,
  "message": "success",
  "data": {
      "numberPlateList":[
        "浙A5566""浙A5567""浙A5568",
      ...
    ]
  }
}

3.7 同步车辆信息

  • 相对url: /sync/vehicleInfo

  • method: POST

  • Content-Type:application/json

  • 描述:新增\修改\删除车辆信息。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
changeType enum 0: 添加用户
1: 删除用户
2: 修改用户
numberPlate string 车牌号
userId string 用户ID changeType为0 或者2时有效
userName string 用户名字 changeType为0 或者2时有效
phoneNumber srting 手机号 changeType为0 或者2时有效
lockStartTime utc-string 锁车起始时间 内容为空或者无字段时,则不锁车(changeType为0或2时才有效)
lockEndTime utc-string 锁车截止时间 内容为空或者无字段时,则不锁车(changeType为0或2时才有效)
permission list 通行权限 changeType为0 或者2时有效
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{

   "token": "1234567890",
   "lotId": "停车场ID",
   "changeType": 0,
   "userId": "用户ID",
   "userName": "用户名",
   "numberPlate": "浙A5566",
   "phoneNumber": "手机号",
   "lockStartTime": "锁车起始时间",
   "lockEndTime": "锁车截止时间",
   "permission":[
      {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"},
      {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"},
      {"barrierGateId": "barrierGateId_1", "lockStartTime": "起始时间", "lockEndTime": "截止时间"}
      ...
   ]
}

响应

{
    "code": 0,
    "message": ""
}

3.8 校正车牌

  • 相对url: /correct/numberPlate

  • method: POST

  • Content-Type:application/json

  • 描述: 校正车牌。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车服务下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID
numberPlate string 正确的车牌号
recordId string 要矫正的本地记录号 通过道闸上报通行事件时上报到云端,校正车牌时携带该参数定位要矫正的车牌。
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
   "lotId": "asdfghjkl",
   "numberPlate": "浙A5566",
   "recordId": "xyz123"
}

响应:

{
   "code": 0,
   "message": ""
}

3.9 上报变更的车辆信息

  • 相对url: /change/vehicleInfo

  • method: POST

  • Content-Type:application/json

  • 描述: 上报车量信息。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
lotId string 车场ID


changeType


enum
变更类型:
0: 添加用户
1: 删除用户
2: 修改用户
numberPlate string 车牌号
userId string 用户ID changeType为0 或者2时有效
userName string 用户姓名 changeType为0 或者2时有效
lockStartTime string 有效期起始时间 changeType为0 或者2时有效。当缺失该字段或者字段内容为空,则不锁定车辆
lockEndTime string 有效期截止时间
permission list 通行权限
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

{

   "token": "1234567890",
   "lotId": "停车场ID""changeType": 0,
   "userId": "用户ID",
   "userName": "用户名",
   "numberPlate": "浙A5566",
   "phoneNumber": "手机号",
   "lockStartTime": "锁车起始时间",
   "lockEndTime": "锁车截止时间",
   "permission":[
      {"barrierGateId": "barrierGateId_1", "startTime": "起始时间", "endTime": "截止时间"},
      {"barrierGateId": "barrierGateId_1", "startTime": "起始时间", "endTime": "截止时间"},
      {"barrierGateId": "barrierGateId_1", "startTime": "起始时间", "endTime": "截止时间"}
      ...
   ]
}

响应:

{
   "code": 0,
   "message": ""
}

3.10 上报停车场中停车区域的车位数量

  • 相对url: /report/parkingLot/parkingAreaList/parkingSpaceNum

  • method: POST

  • Content-Type:application/json

  • 描述:上报所有停车区中每个区域的车位总量和余量。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 停车服务的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
lotId string 停车场ID
areaList list 发生变更的停车区域信息列表 最少包含一条区域更新信息
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
    "token": "123456789",
  "lotId": "停车场id",
  "areaList":[
      {"areaId": "area_id_1", "totalNum": 100"remainNum": 50},
            {"areaId": "area_id_2", "totalNum": 70"remainNum": 20},
        ...
   ]
}

响应:

{
    "code": 0,
    "message": ""
}

3.11 上报停车场中停车区域的静态信息

  • 相对url: /report/parkingLot/parkingAreaList/staticInfo

  • method: POST

  • Content-Type:application/json

  • 描述:上报静态信息。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 停车服务的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
lotId string 停车场ID
areaList list 发生变更的停车区域信息列表 最少包含一条区域更新信息
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
    "token": "123456789",
  "lotId": "停车场Id"
  "areaList":[
      {"areaId": "area_id_1", "areaName": "name1"},
            {"areaId": "area_id_2", "areaName": "name2"},
        ...
   ]
}

响应:

{
    "code": 0,
    "message": ""
}

3.12 查询停车区域的车位列表

  • 相对url: /query/parkingArea/parkingSpaceList

  • method: GET

  • 描述:查询指定区域中的所有车位。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
areaId="qwertyuiop"

响应:

{
    "code": 0,
    "message": "",
    "data":{
        "parkingSpaceList":[
            "parkingSpaceId_1",
            "parkingSpaceId_2",
            ...
        ]
    }
}

3.13 查询停车区域的上下级

  • 相对url: /query/parkingArea/parentAndChildren

  • method: GET

  • 描述:查询指定停车区域的父区域和子区域列表。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
areaId="qwertyuiop"

响应:

{
    "code": 0,
    "message": "",
    "data":{
        "parentAreaId": "父级区域",
        "childrenList":[
            "areaid",
            "areaid",
            ...
        ]
    }
}

3.14 停车区域-车辆黑名单增\删

  • 相对url: /adddel/parkingArea/VehicleBlacklist

  • method: POST

  • Content-Type:application/json

  • 描述:在指定的停车区域中将给定车辆号牌增加到黑名单或从黑名单删除。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
mode enum 0:添加
1:删除
numberPlate string 车牌号
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
    "token": "123456789",
  "areaId": "qwertyuiop",
  "mode": 0,
  "numberPlate": "浙A5566"
}

响应:

{
    "code": 0,
    "message": ""
}

3.15 停车区域-查询车辆黑名单

  • 相对url: /query/parkingArea/VehicleBlacklist

  • method: GET

  • 描述:查询指定停车区域中的黑名单车牌列表。

  • 调用发起方:边缘网关

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
areaId="qwertyuiop"

响应:

{
    "code": 0,
    "message": "",
    "data": {
        "numberPlateList":[
        "浙A5566",
        "浙A5567",
        "浙A5568",
        ...
        ]
    }

}

3.16 停车区域-车辆白名单增\删

  • 相对url: /adddel/parkingArea/VehicleWhitelist

  • method: POST

  • Content-Type:application/json

  • 描述:在指定的停车区域中将给定车辆号牌增加到白名单或从白名单删除。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
mode enum 0:添加
1:删除
numberPlate string 车牌号
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
    "token": "123456789",
  "areaId": "qwertyuiop",
  "mode": 0,
  "numberPlate": "浙A5566"
}

响应:

{
    "code": 0,
    "message": ""
}

3.17 停车区域-查询车辆白名单

  • 相对url: /query/parkingArea/VehicleWhitelist

  • method: GET

  • 描述:查询指定区域中的白名单车牌列表。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车系统下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
  • 返回值:
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:

token="123456789"
areaId="qwertyuiop"

响应:

{
    "code": 0,
    "message": "",
    "data": {
        "numberPlateList":[
        "浙A5566",
        "浙A5567",
        "浙A5568",
        ...
        ]
    }
}

3.18 停车区域-上报通行订单

  • 相对url: /report/parkingArea/passOrder

  • method: POST

  • Content-Type:multipart/form-data

  • 描述: 上报通行订单事件。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
numberPlate string 车牌号
inBarrierGateId string 入场道闸ID
inTime string-utc 入场时间
inNumberPlateImage file 入场抓拍照片
outBarrierGateId string
出场道闸ID
outTime string-utc
出场时间
outNumberPlateImage file
出场抓拍照片
expenseAmount float 收费金额
orderNumber string 订单号


orderStatus


enum
支付状态:
0: 支付完成
1: 未支付
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:(ps: 请求文本中省略了图片信息)

{
    "token": "1234567890",
    "areaId": "停车区域ID",
    "numberPlate": "浙A5566",
    "inBarrierGateId":"入场道闸ID",
    "inTime": "入场时间",
     "outBarrierGateId": "出场道闸ID",
    "outTime": "出场时间",
    "expenseAmount": "支付金额",
    "orderNumber": "订单号",
    "orderStatus": 0
}

响应:

{
   "code": 0,
   "message": ""
}

3.19 支付确认

  • 相对url: /confirm/passOrder

  • method: POST

  • Content-Type:application/json

  • 描述:“支付订单”的确认信息。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车服务下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
orderNumber string 订单号
payResult enum 0:支付完成
1:免费
2:本地支付
3:取消订单
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
   "areaId": "asdfghjkl",
   "orderNumber": "asdfghjk",
   "payResult": 0
}

响应:

{
   "code": 0,
   "message": ""
}

3.20 创建订单

  • 相对url: /new/passOrder

  • method: POST

  • Content-Type:application/json

  • 描述: 边缘网关接收到云端的创建订单请求,下发到本地停车系统。

  • 调用发起方:边缘网关

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
numberPlate string 车牌号
inBarrierGateId string 入场道闸ID
inTime string-utc 入场时间
outBarrierGateId string
出场道闸ID 场内支付情况无该字段
outTime string-utc
出场时间 场内支付情况无该字段


orderStatus


enum
支付状态:
0: 支付完成
1: 未支付
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
   "areaId": "停车区域ID",
   "numberPlate": "浙A5566",
   "inBarrierGateId":"入场道闸ID",
   "inTime": "入场时间",
    "outBarrierGateId": "出场道闸ID",
   "outTime": "出场时间",
   "orderStatus": 0
}

响应:

{
   "code": 0,
   "message": ""
}

3.21 停车区域-上报黑名单变更

  • 相对url: /report/parkingArea/VehicleBlacklist

  • method: POST

  • Content-Type:application/json

  • 描述: 停车区域的黑名单中有车牌增加或者删除时上报事件。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
mode enum 0:增加
1:删除
numberPlate string 车牌号
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
   "areaId": "停车区域ID",
   "mode":0,
   "numberPlate": "浙A5566"
}

响应:

{
   "code": 0,
   "message": ""
}


3.22 停车区域-上报白名单变更

  • 相对url: /report/parkingArea/VehicleWhitelist

  • method: POST

  • Content-Type:application/json

  • 描述: 停车区域的白名单中有车牌增加或者删除时上报事件。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
areaId string 停车区域ID
mode enum 0:增加
1:删除
numberPlate string 车牌号
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
   "areaId": "停车区域ID",
   "mode":0,
   "numberPlate": "浙A5566"
}

响应:

{
   "code": 0,
   "message": ""
}

3.23 道闸-上报运行状态

  • 相对url: /report/barrierGate/runState

  • method: POST

  • Content-Type:application/json

  • 描述: 上报道闸状态。Ps: http 连接成功后,Edge端默认所有道闸是运行正常。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由edge下发,在规定的时间内未收到心跳,则token失效。
barrierGateId string 道闸ID
state enum 道闸状态 0: 异常
1: 正常
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
      "barrierGateId": "zxcvbnm",
   "state": 0
}

响应:

{
   "code": 0,
   "message": ""
}

3.24 道闸-上报开关状态

  • 相对url: /report/barrierGate/switchState

  • method: POST

  • Content-Type:application/json

  • 描述: 上报道闸状态。Ps: http 连接成功后,边缘网关默认所有道闸都是关闭的。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
barrierGateId string 道闸ID
state
enum 道闸状态:
0: 道闸关
1: 道闸开
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
     "barrierGateId": "zxcvbnm",
   "state": 0
}

响应:

{
   "code": 0,
   "message": ""
}

3.25 道闸-远程开关闸

  • 相对url: /manager/barrierGate/remoteOnOff

  • method: POST

  • Content-Type:application/json

  • 描述: 设置道闸状态。

  • 调用发起方:边缘网关

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车服务管理系统下发,在规定的时间内未收到心跳,则token失效。
barrierGateId string 道闸ID


onOff
enum 开关:
0: 道闸关
1: 道闸开
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:

{
   "token": "1234567890",
     "barrierGateId": "zxcvbnm",
   "onOff": 0
}

响应:

{

   "code": 0,
   "message": ""
}

3.26 道闸-上报通行事件

  • 相对url: /report/barrierGate/passEvent

  • method: POST

  • Content-Type:multipart/form-data

  • 描述: 车辆进出车场时上报车辆通行事件。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
recordId string 停车系统进出闸时本地的记录ID 该记录号将在校正车牌时使用。
barrierGateId string 道闸ID
inOut enum 0:入场
1:出场
numberPlate string 车牌号
numberPlateImage file 车牌图片
orderNumber string 订单号 出场时,有有效的订单填写,其他情况无需填写
openType enum 0:正常抬杠
1:异常抬杠
permissionType enum 0:普通车辆
1:临时车辆
2:白名单车辆
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:(ps:请求文本中省略了图片信息)

{
   "token": "1234567890",
   "recordId": "xyz123",
   "barrierGateId": "",
   "inOut": 0,
   "numberPlate": "浙A5566",
   "orderNumber": "订单号",
   "openType": 0,
   "permissionType": 0  
}

响应:

{
   "code": 0,
   "message": ""
}

3.27 道闸-识别非法车辆

  • 相对url: /report/barrierGate/illegalVehicle

  • method: POST

  • Content-Type:multipart/form-data

  • 描述:在道闸识别到非法车辆时上报该事件。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
barrierGateId string 道闸ID
type enum 0:锁定的车辆
1:黑名单车辆
numberPlate string 车牌号
numberPlateImage file 车牌照片
inOut enum 0:进场
1:出场
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:(ps: 请求文本中省略了图片信息)

{
   "token": "1234567890",
      "barrierGateId": "zxcvbnm",
   "type":0,
   "numberPlate": "浙A5566",
   "inOut": 0
}

响应:

{
   "code": 0,
   "message": ""
}


3.28 上报车位状态

  • 相对url: /report/parkingSpaceState

  • method: POST

  • Content-Type:application/json

  • 描述: 上报车位的占用状态。

  • 调用发起方:停车系统

  • 参数:

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由边缘网关下发,在规定的时间内未收到心跳,则token失效。
spaceId string 停车位ID
spaceState enum 0:无车
1:有车
numberPlate string 车牌号 spaceState为1时有效
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息

示例
请求:(ps: 请求文本中省略了图片信息)

{
   "token": "1234567890",
   "spaceId": "asdfghjkl",
   "sapceState": 1,
   "numberPlate": "浙A5566"
}

响应:

{
   "code": 0,
   "message": ""
}

3.29 查询车位状态

  • 相对url: /query/parkingSpaceState

  • method: GET

  • Content-Type:application/json

  • 描述: 查询车位的占用状态。

  • 调用发起方:边缘网关

  • 参数

参数 类型 必选 说明 备注
token string 设备的标识信息 在建立连接时,由停车服务下发,在规定的时间内未收到心跳,则token失效。
spaceId string 停车位ID
  • 返回值
参数 类型 必选 说明 备注
code int 返回值
message string 返回消息
data dict 消息内容

示例
请求:(ps: 请求文本中省略了图片信息)

token="1234567890"
spaceId="asdfghjkl"

响应:

{
   "code": 0,
   "message": "",
   "data":{
       "spaceState": 1,   // 0表无车, 1表示有车
      "numberPlate": "浙A5566"  //spaceState 为1时有效
   }
}

3.30 心跳

  • 相对url: /keepalive

  • method: POST

  • Content-Type:application/json

  • 描述: http client 端发起。每个业务通信都可当作一次心跳,只有链路出现空闲的时候,则发送心跳,若对端长时间未收到心跳,则认为设备掉线,即当前链路通道失效,需要重新做connect操作。

  • 调用发起方:边缘网关,停车系统

  • 参数:

参数 类型 说明 备注
token string 设备的标识信息 在建立连接时,由对端下发,在规定的时间内未收到心跳,则token失效。
  • 返回值
    {
     "code": 0,
     "message": ""
    }
    

4、错误码表

错误码 说明
0 成功
1 token无效
2 请求参数无效或非法
3 连接时签名验证失败
6 停车场系统地址非法:部署时会将所有停车场设备的IP地址配置在云端,如果边缘侧收到非配置地址中的停车系统连接请求,则返回该错误码
7 无效的设备,边缘侧调用本地系统服务,或者本地系统上报事件的参数中,包含的设备ID无效。
8 道闸运行状态“异常”:若上报道闸的业务数据,则该错误
99 未知错误

5、发布历史

v2.0.0 2019-08-30

  • 【新增】停车场无停车区域时API的使用方法。

  • 【新增】增加API文档发布版本编号和修改历史描述。

  • 【新增】增加连接错误返回值描述例子。

  • 【修复】连接失败response中不需要data字段,修改data必选为可选,只有在连接成功的response时才需要该字段。

  • 【修复】连接请求中版本号含义描述。

  • 【优化】补充错误码含义描述。

  • 【优化】增加边缘端连接本地系统时的默认保活时间30s。

  • 【删除】去掉用不到的错误码4(查询信息不存在)。

v1.0.0 2019-08-16

  • 停车场边缘网关接入API第一个版本。

  • 支持停车场、停车区域、道闸和车位。

results matching ""

    No results matching ""