1) 添加停车场固定车

1.1) 请求地址

https://api.4pyun.com/gate/1.0/parking/parking/vip

1.2) 调用方式

HTTP POST FORM 表单提交

1.3) 特殊说明

1:app_id,app_secret 用户身份id和加密密钥由平台方提供,对接方需提供公司全称然后给到商务提交给研发申请
2:api_charge_type是停车场软件白名单对应规则ID由平台分配
3:type固定传0白名单类型

1.4) 请求参数

字段名称 字段说明 类型 必填 示例
app_id 平台分配的接入应用ID string Y op1234567723122
sign 请求数据签名 string Y C65FCAC2D3FB5E2D3D4AD93DD20C8C39
merchant 停车场商户号 string Y 6262666666
plate 车牌号码 string Y 粤TXXXXX
realname 车主姓名 string Y 张三
mobile 车主联系电话 string Y 18075528XXX
id_card 车主身份证号码 string N 431028XXXXXXXXXXXX
start_time 生效时间 string Y 2020-12-31T16:00:15Z
end_time 到期时间 string Y 2020-12-31T16:00:15Z
api_charge_type 接口固定车类型ID string Y 12345
address 车主单位/住宅 string Y XXX栋XXX楼XXX公司
park_space_no 车位号 string N 负一楼003
card_id 卡ID string N 12345
type 1:月卡2:储值卡 0:免费/白名单 string Y 0
plate_color 车牌颜色: 1.蓝色, 2.黄色, 3.白色, 4.黑色, 5.绿色, -1 未知 string Y 1

1.5)请求示例

签名前字符串
1.1:签名前字符串
    str=address=XXX栋XXX楼XXX公司&api_charge_type=12345&app_id=op1234567723122&end_time=2020-12-31T16:00:15Z&merchant=62626601&mobile=1807552XXXX&park_space_no=B0001&plate=粤TXXXXX&plate_color=1&realname=张三&start_time=2020-12-31T16:00:15Z&type=0&app_secret=123

1.2:MD5(str)
    sign=975FA7F729CD413CDB24CC6AE24A63EF
     @Test
    public void testVipCreate(){
        TreeMap<String, String> map = new TreeMap<>();
        // app_id平台分配
        map.put("app_id", "op1234567723122");
        // 停车场商户号
        map.put("merchant", "62626601");
        // 停车场商户号
        map.put("plate", "粤TXXXXX");
        // 车主姓名
        map.put("realname", "张三");
        // 车主联系电话
        map.put("mobile", "1807552XXXX");
        // 生效时间
        map.put("start_time", "2020-12-31T16:00:15Z");
        // 到期时间
        map.put("end_time", "2020-12-31T16:00:15Z");
        // 接口固定车类型ID
        map.put("api_charge_type", "12345");
        // 车主单位/住宅
        map.put("address", "XXX栋XXX楼XXX公司");
        // 车位号
        map.put("park_space_no", "B0001");
        // 1:月卡2:储值卡 0:免费/白名单
        map.put("type", "0");
        // 车牌颜色: 1.蓝色, 2.黄色, 3.白色, 4.黑色, 5.绿色, -1 未知
        map.put("plate_color", "1");
        StringBuilder builder = new StringBuilder();
        for (String key : map.keySet()) {
            builder.append(key + "=" + map.get(key) + "&");
        }
        String appSecret = "123";
        String encriptStr = builder.toString() + "app_secret=" + appSecret;
        System.out.println(encriptStr);
        String sign = MD5.encryptHEX(encriptStr);
        String keyStr = builder.toString() + "sign=" + sign;
        System.out.println(keyStr);
        try {
            Form form = Form.form();
            for (String key : map.keySet()) {
                form.add(key, map.get(key));
            }
            form.add("sign", sign);
            Response response = Request.Post("https://api.4pyun.com/gate/1.0/parking/parking/vip")
                    .bodyForm(form.build(), Charset.forName("utf-8"))
                    .execute();
            HttpResponse response1 = response.returnResponse();
            System.out.println(response1.getStatusLine());
            String text = IOUtils.toString(response1.getEntity().getContent(), "utf-8");
            System.out.println(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

1.6) 请求返回结果参数说明

字段名称 字段说明 类型 必填 备注
code 请求状态码 string Y 1001:添加成功
400:参数错误
500:服务器内部错误
message 返回描述 string Y 返回描述
hint 返回错误说明 string N 返回具体错描述指导
seqno 服务器日志标示 string Y 查日志用到查问题尽量提供这个值

1.7) 请求返回结果示例:

正常返回
{
  "code": "1001",
  "data_node": "HS1-1",
  "seqno": "86213123",
  "message": "操作成功"
}
参数错误
{
    "code": "400",
    "message": "请求参数错误",
    "hint": "`merchant` Required!",
    "seqno": "94929a9b0874aa46",
    "data_node": "CN-South/HS3-2",
    "path": "POST /gate/1.0/parking/parking/vip"
}
服务器内部错误
{
    "code": "500",
    "message": "车牌已经是固定车请删除重新添加",
    "seqno": "57804ae2e859f58a",
    "data_node": "CN-South/HS3-1"
}
© 2023 Shenzhen ChinaRoad Technology Co., Ltd. © All Rights Reserved            UPDATED 2024/04/15 11:28:48

results matching ""

    No results matching ""