## apiprovicer服务接口文档 ### 1.服务功能 为厂商app提供平台原生的api调用能力 ### 2.接口说明 |接口URL|请求类型|功能说明| |---|---|--- |/application/v1/device/info|GET|根据device_key获取设备基本信息| |/application/v1//devices/{identifier}/info|GET|根据设备identifier获取设备信息| |/application/v1/devices/{identifier}/status/current|GET|获取设备当前状态| |/application/v1/devices/{identifier}/status|PUT|设置设备当前设备的状态| |/application/v1/devices/{identifier}/commands|POST|向指定设备发送命令| |/application/auth|POST|获取app认证token| ### 2.1 获取App Token _首先应用方要获取当前应用的授权访问token,为后续的接口请求提供正确的认证_ * 接口URL: `application/auth` * 请求方法: `POST` * 请求参数: `BODY` |参数|类型|是否必填|说明| |---|----|-----|----| |AppKey|字符串|Y|平台为应用分配的AppKey| Secretkey|字符串|Y|平台为应用分配的Secretkey * 接口响应: `JSON` ```json { "code": 0, "message": "", "result": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6MSwiQXBwTmFtZSI6ImNsaWVudCIsIkFwcEtleSI6IjRkMjJmZDZjOWU4YWY0MzQwM2QwZmU2MWMwYzdlNTYzODc4YTg1YWE5ZDE4MGZmNjcyNmUwOWIxYTEzOTdjOTZkN2MyNjkzZWM4NjlhZmU3MDc5ODZmZDgyNTMxYzdlZiIsIlNlY3JldEtleSI6Im5yM3preHBLRDg0UTJCV1giLCJWZW5kb3JJRCI6IjFwczlkanBzd2kwY2RzN2NvZnlua3NvMzAwZXFsNGl1IiwiZXhwIjoxNjMwOTg0MTU2LCJpYXQiOjE2MzA4OTc3NTYsImlzcyI6ImFwaXByb3ZpZGVyIn0.t0KX26p_8Q5WxzU-96Gwg5t6iuFnA8iDmUJk8bmW4Uc", "expire_at": 1630984156 } } ``` |字符|类型|说明| |---|---|---| |access_token|字符串|token字符串 expire_at|数字|精确到秒的过期时间戳 ### 2.2 根据设备device_key获取设备信息 _厂商可以通过平台为设备生成的device_key查询设备基础信息_ * 请求URL: `/application/v1/device/info` * 请求方法: `GET` * 请求参数: `Query` |参数|类型|是否必填|说明| |---|----|-----|----| |device_key|字符串|Y|设备device_key,注册流程可以得到这个数据| * 请求响应: ```json { "code": 0, "message": "", "result": null, "data": { "identifier": "1-1-relay-test", "name": "TSL-8", "description": "模块", "version": "1.0.0" } } ``` ### 2.3 根据设备identifier获取设备基本信息 * 请求URL: `/application/v1/devices/{identifier}/info` * 请求方法: `GET` * 请求参数: `Path参数` |参数|类型|是否必填|说明| |---|----|-----|----| |identifier|字符串|Y|设备的identifier,注册流程可以得到这个数据| * 请求Header: |参数|类型|是否必填|说明| |---|----|-----|----| |App-Key|字符串|Y|由平台分配的应用AppKey的值| * 请求响应: `JSON` ```json { "code": 0, "message": "", "result": null, "data": { "identifier": "1-1-relay", "name": "TSL-8", "description": "模块", "version": "1.0.0" } } ``` ### 2.4 根据设备identifier获取设备当前最新的状态值 * 请求URL: `/application/v1/devices/{identifier}/status/current` * 请求方法: `GET` * 请求参数: `Path参数` |参数|类型|是否必填|说明| |---|----|-----|----| |identifier|字符串|Y|设备的identifier,注册流程可以得到这个数据| * 请求Header: |参数|类型|是否必填|说明| |---|----|-----|----| |App-Key|字符串|Y|由平台分配的应用AppKey的值| * 请求响应: `JSON` _data字符中的具体响应内容是根据产品配置中相应的字段名称生成的,以最终配置为准,平台会以格式化的数据,返回设备的最新状态_ ```json { "code": 0, "message": "", "result": null, "data": { "device_id": 9480, "outputState": { "route": 2, "value": 0 } } } ```