# 设备管理服务平台 版本 | 创建时间 | 作者 | 备注信息 ---|---|---|--- v1.0|2022-01-20|zxfei| 接口文档 ## 数据类型 类型名称|类型描述|参考样例 ---|---|--- String |字符串|A、a、ab Integer|数字类型|1、12、-1 Long|长整型数字|1、12、-1 date|时间类型,单位纳秒数字|167988745573 BigDecimal|小数类型|545.256 object|对象类型|{"name":"zhang3"} arrays|数组类型|[{"name":"zhang3"},{"name":"zhang2"}] ## 设备终端接口服务 ### 服务端地址获取 **广播端口:** 54321 **请求方式:** UDP **内容类型:** application/json;charset=utf-8 **简要描述:** 设备激活 **广播参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- deviceNum|String|设备编码|是|- **请求样例:** ``` { "deviceNum":"12345678" } ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|String|数据对象|- **响应消息样例:** ``` { "msg":"获取服务端地址成功", "code":1, "data":"http://192.168.0.98:11021" } ``` ### 设备注册 **请求URL:** m/api/register **请求方式:** POST **内容类型:** application/json;charset=utf-8 **简要描述:** 设备注册,成功返回响应rabbmit连接参数 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- deviceCode|String|设备编码,唯一|是|可是编码或者mac地址,由平台创建 **请求样例:** ``` { "deviceCode":"a12345678" } ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|object|数据对象|-  content|String|加密后的内容|AES加密 **content解密参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- downTopicFilter|String|下行队列topic|- uploadTopicFilter|String|上行队列topic|- username|String|rabbmit用户名|- password|String|rabbmit密码|- host|String|ip|- port|String|端口|- virtualHost|String|虚拟机|- exchangeName|String|交换机名称|- **响应消息样例:** ``` { "code":1, "data":{ "content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA=" } } ``` ## 对外平台接口服务 ### 获取接口访问token **请求URL:** m/api/getToken **请求方式:** POST **内容类型:** application/json;charset=utf-8 **简要描述:** 获取接口访问token **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- loginName|String|平台用户名称|是|- password|String|平台用户密码|是|- **请求样例:** ``` ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|object|数据对象|-  platformList|array|平台列表|数组   id|Long|ID|-   platformName|String|平台名称,名称唯一|-   platformSn|String|平台编码,编码唯一|-  productList|array|产品列表|数组   id|Long|ID|-   productName|String|产品名称,名称唯一|-   productCode|String|产品编码,编码唯一|- **响应消息样例:** ``` ``` ### 获取平台产品列表 **请求URL:** m/api/getPlatformAndProduct **请求方式:** GET **内容类型:** application/json;charset=utf-8 **简要描述:** 查询平台产品列表数据,用于设备新增提交 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- **请求样例:** ``` ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|object|数据对象|-  platformList|array|平台列表|数组   id|Long|ID|-   platformName|String|平台名称,名称唯一|-   platformSn|String|平台编码,编码唯一|-  productList|array|产品列表|数组   id|Long|ID|-   productName|String|产品名称,名称唯一|-   productCode|String|产品编码,编码唯一|- **响应消息样例:** ``` ``` ### 新增或更新设备 **请求URL:** m/api/saveOrUpdate **请求方式:** POST **内容类型:** application/json;charset=utf-8 **简要描述:** 保存或更新设备,设备deviceCode存在更新,不存在新增 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- deviceName|String|设备名称|否|- deviceCode|String|设备编码|是|- deviceMac|String|设备的MAC地址|否|- platformId|Long|平台系统Id|是|来源接口获取平台产品列表 platformName|String|平台系统名称|是|- productId|Long|产品Id|是|来源接口获取平台产品列表 productName|String|产品名称|是|- siteCode|String|站点编号,来源基础服务平台|是|- siteName|String|站点名称|是|- deviceRemark|String|备注|是|- **请求样例:** ``` { "deviceName":"lmfrs8", "deviceCode":"yte9s3", "siteCode":"nmyc5u", "siteName":"a4vxhg", "deviceMac":"y9tuaw", "platformId":3125, "productId":362, "deviceRemark":"ah98cp", } ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|object|数据对象|- **响应消息样例:** ``` ``` ### 激活设备 **请求URL:** m/api/active **请求方式:** POST **内容类型:** application/json;charset=utf-8 **简要描述:** 激活设备 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- deviceCode|String|设备编码|是|- **请求样例:** ``` { "deviceCode":"yte9s3", } ``` **响应参数:** 参数名称 |参数类型|备注|其它 ---|---|---|--- code|Integer|结果码(-1.失败,1.成功)|- msg|String|消息|- data|object|数据对象|- **响应消息样例:** ``` ``` ## 设备消息 ### 上行消息 **topic:** uploadTopicFilter **请求方式:** rabbmitMQ **内容类型:** application/json;charset=utf-8 **简要描述:** 上行消息存放队列 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- headers|Object|消息头|是|-  data|Object|消息头数据对象|是|-   protocol|String|数据域协议类型,默认json|是|-   messageType|String|上报消息类型|是|HEART_BEAT   sign|String|签名|是|-   timestamp|String|时间戳|是|- data|byte[]|byte数组,base64编码|是|- key|String|消息唯一标识|是|- **请求样例:** ``` { "data":"YWJjZDEyMzQ=", "headers":{ "data":{ "protocol":"json", "messageType":"HEART_BEAT", "sign":"abcd1234", "timestamp":"2022-04-15 09:48:05" } }, "key":"d3635cd0597d46c88b85797c3846b04f" } ``` ### 下行消息 **topic:** downTopicFilter **请求方式:** rabbmitMQ **内容类型:** application/json;charset=utf-8 **简要描述:** 下行消息存放队列 **请求参数:** 参数名称|类型|备注|必填|其它 ---|---|---|---|--- headers|Object|消息头|是|-  data|Object|消息头数据对象|是|-   protocol|String|数据域协议类型,默认json|是|-   messageType|String|下发消息类型|是|DOWN_UPGREAD   sign|String|签名|是|-   timestamp|String|时间戳|是|- data|byte[]|byte数组,base64编码|是|- key|String|消息唯一标识|是|- **请求样例:** ``` { "data":"YWJjZDEyMzQ=", "headers":{ "data":{ "protocol":"json", "messageType":"UPGREAD", "sign":"abcd1234", "timestamp":"2022-04-15 09:48:05" } }, "key":"d3635cd0597d46c88b85797c3846b04f" } ```