城市数字化管理平台
    城市数字化管理平台
    • 接入流程
    • 概念说明
    • 开放平台-告警接口
      • 上报告警信息
        POST
    • 开放平台-设备接口
      • 新增或修改摄像头
        POST
      • 新增或修改设备
        POST
      • 新增或修改端口
        POST
      • 新增或修改电力传感器
        POST
      • 删除摄像头
        POST
      • 删除设备
        POST
      • 删除端口
        POST
      • 删除电力传感器
        POST
      • 上报设备实时信息
        POST
      • 上报设备端口实时信息
        POST
    • 开放平台-充电记录接口
      • 新增充电记录
        POST
    • 开放平台-站点接口
      • 新增或修改站点
        POST
      • 删除站点
        POST
    • 测试调试
      • 新增维护大使
        POST
      • 新建站点
        POST
      • 登陆
        POST
    • 测试调试 Copy
      • 新增维护大使
        POST
      • 新建站点
        POST
      • 登陆
        POST
    • 数据模型
      • Schemas
        • AreaDTO
        • BaseResponse«List«AreaDTO»»
        • BaseResponse«List«CodeNameDTO»»
        • BaseResponse«List«按天统计小程序用户某月报警数-用于日历»»
        • BaseResponse«PageData«告警信息表»»
        • BaseResponse«PageData«告警处理人»»
        • BaseResponse«PageData«告警操作记录»»
        • BaseResponse«PageData«告警规则»»
        • BaseResponse«PageData«摄像头表»»
        • BaseResponse«PageData«站点表»»
        • BaseResponse«PageData«站点轮询»»
        • BaseResponse«PageData«端口状态统计»»
        • BaseResponse«PageData«设备表»»
        • BaseResponse«PageData«运营商表»»
        • BaseResponse«Set«string»»
        • BaseResponse«boolean»
        • BaseResponse«int»
        • BaseResponse«long»
        • BaseResponse«string»
        • BaseResponse«充电端口统计响应»
        • BaseResponse«告警信息表»
        • BaseResponse«告警处理人»
        • BaseResponse«告警按天统计数量及告警级别响应»
        • BaseResponse«告警统计响应»
        • BaseResponse«告警规则(带多站点名称)»
        • BaseResponse«告警规则»
        • BaseResponse«大屏统计响应»
        • BaseResponse«摄像头表»
        • BaseResponse«热力图响应»
        • BaseResponse«站点统计响应»
        • BaseResponse«站点表»
        • BaseResponse«端口状态统计»
        • BaseResponse«设备信息响应»
        • BaseResponse«运营商表»
        • CodeNameDTO
        • Coordinate«int»
        • IdRequest
        • Location
        • NameValueInteger
        • PageData«告警信息表»
        • PageData«告警处理人»
        • PageData«告警操作记录»
        • PageData«告警规则»
        • PageData«告警规则与站点关联»
        • PageData«摄像头表»
        • PageData«站点表»
        • PageData«站点轮询»
        • PageData«端口状态统计»
        • PageData«设备表»
        • PageData«运营商表»
        • QueryByStationIdReq
        • StationStatisticsReq
        • 上报告警信息请求
        • 上报设备信息请求
        • 上报设备端口信息请求
        • 与规则关联的告警处理人
        • 修改告警处理人请求
        • 修改告警规则与站点关联请求
        • 修改端口状态统计请求参数
        • 修改运营商表请求参数
        • 充电端口统计响应
        • 充电端口统计请求
        • 删除告警用户请求
        • 删除摄像头请求
        • 删除电力传感器请求
        • 删除站点请求
        • 删除端口状态统计请求参数
        • 删除设备端口请求
        • 删除设备请求
        • 删除运营商表请求参数
        • 区域查询请求参数
        • 区域统计请求参数
        • 告警信息分页查询请求参数
        • 告警信息表
        • 告警处理人
        • 告警处理人_1
        • 告警处理人_2
        • 告警按天统计数量及告警级别响应
        • 告警按天统计请求参数
        • 告警按用户统计
        • 告警操作记录
        • 告警统计响应
        • 告警规则
        • 告警规则(带多站点名称)
        • 告警规则_1
        • 告警规则_2
        • 告警规则_3
        • 告警规则_4
        • 告警规则与告警处理人关联表
        • 告警规则与告警处理人关联表_1
        • 告警规则与站点关联
        • 告警规则与站点关联_1
        • 告警规则与站点关联_2
        • 告警规则与站点关联分页查询请求
        • 告警规则与站点关联查询请求
        • 大屏统计响应
        • 大屏统计请求
        • 封装OPENID参数
        • 封装deviceId参数
        • 封装手机号参数
        • 按天统计小程序用户某月报警数-用于日历
        • 按天统计小程序用户某月报警数-用户日历请求
        • 摄像头表
        • 摄像头表分页查询请求参数
        • 新增充电记录请求
        • 新增告警处理人请求
        • 新增告警规则与站点关联请求
        • 新增或修改摄像头请求
        • 新增或修改电力传感器请求
        • 新增或修改站点请求
        • 新增或修改设备端口请求
        • 新增或修改设备请求
        • 新增端口状态统计请求参数
        • 新增运营商表请求参数
        • 查询告警信息请求
        • 查询摄像头表请求参数
        • 根据状态统计端口数请求
        • 根据设备编号查询请求参数
        • 热力图响应
        • 热力图请求
        • 租户-小猪胖胖|告警操作记录分页查询请求参数
        • 站点
        • 站点分页查询请求参数
        • 站点统计响应
        • 站点表
        • 站点轮询
        • 端口状态统计
        • 端口状态统计分页查询请求参数
        • 设备信息响应
        • 设备分页查询请求参数
        • 设备表
        • 运营商表
        • 运营商表分页查询请求参数
      • RequestBodies
        • 新增告警处理人请求Array
      • AddStationReq
      • BaseResponse«Void»

    接入流程

    一. 背景#

    本平台为充电桩管理单位提供电动自行车/汽车充电桩统一管理服务,本文档将指导充电桩运营商与本平台如何集成和对接。

    二. 对接场景#

    image.png

    三. 开发准备#

    1. 申请OperatorID#

    运营商ID,由平台统一分配。

    2. 下载运营商证书#

    证书用于签名及验签,由平台生成后给到运营商。

    四.技术规范#

    1. 平台地址#

    测试地址:
    生产环境:

    2. 接口调用方式#

    接口均为HTTP(S)协议接口,提交方法为Post。

    3. 报文格式#

    请求参数#

    参数名参数说明
    signatureType签名方式,暂时只支持SHA256withRSA
    signature签名
    operatorId运营商ID,由平台分派
    timestamp调用接口当时的时间戳
    示例:
    📌
    curl -X POST https://域名/接口
    -H 'Authorization: {signatureType:"SHA256withRSA",signature:"MNnYzdQxJanN+zU+lTgIcnU9BxGw5dKjK",operatorId:"demoOperator",timestamp:"1554208460"}'
    -H "Accept: application/json"
    -H "Content-Type: application/json"
    -d '业务参数,详细见各个接口定义'

    响应参数#

    参数名参数说明
    code响应码,0为成功,其他为失败,详细见错误码列表
    msg响应消息
    data业务数据
    示例:
    📌
    {
    "code": "",
    "msg": "",
    "data":{}
    }

    五.签名#

    1. 构造签名串#

    将OperatorID、当前时间戳组装成json字符串。
    示例:
    💡
    '{
    "operatorId": "demoOperator",
    "timestamp": 1554208460"
    }'
    注意:字段严格保持上述顺序。

    2 签名#

    利用应用证书里面的公钥进行签名
    示例代码:
    📌
    public static void main(String[] args) throws Exception {
    String key = "证书公钥";
    SignData signData = new SignData();
    signData.setOperatorId("100001");
    signData.setTimestamp("111");
    String signDataStr = JacksonUtil.toJson(signData);
    System.out.println("signDataStr:" + signDataStr);
    String sign = RSAUtils.signByPrivateKey(signDataStr.getBytes(StandardCharsets.UTF_8), key);
    System.out.println("sign:" + sign);
    }
    public static String signByPrivateKey(byte[] data, String privateKey) throws Exception {
    logger.info("用私钥对信息进行数字签名");
    byte[] keyBytes = decryptBASE64(privateKey);
    PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
    KeyFactory factory = KeyFactory.getInstance("RSA");
    PrivateKey priKey = factory.generatePrivate(keySpec);
    Signature signature = Signature.getInstance("SHA256withRSA");
    signature.initSign(priKey);
    signature.update(data);
    return encryptBASE64(signature.sign());
    }
    修改于 2024-10-31 09:01:41
    下一页
    概念说明
    Built with