1. MixIOT V8接口说明

MixIOT V8 API由apiproxy服务提供。

MixIOT V8 API支持HTTP、Websocket两种方式调用

  • HTTP为短连接, 常用来查询历史数据。
  • Websocket为长连接,常用来订阅实时数据、事件消息等。

术语说明

术语 说明
app_id 授权编号:可在授权应用中获取,每个授权应用的编号都唯一
app_secret 授权密钥: 每个授权应用对应唯一的密钥,为了保证数据的安全,密钥务必不能泄漏
access_token access_token 是第三方访问apiproxy接口信息的重要凭据,由app_idapp_secret产生。

1.1. 接口地址

如,你的物联网平台为 test.mixyun.com, 以下用{你的物联网平台地址}替代:

  • HTTP接口地址:
    • http://{你的物联网平台地址}/apiproxy/api
    • https://{你的物联网平台地址}/apiproxy/api (HTTP的加密版本)
  • Websocket接口地址:
    • ws://{你的物联网平台地址}/apiproxy/ws/api
    • wss://{你的物联网平台地址}/apiproxy/ws/api (WebSocket的加密版本)

1.2. 接口使用步骤

1.2.1. Step1 配置API授权

  1. 打开应用”API管理”

  2. 添加API授权

    输入授权名称,ip白名单,点击“点击生成密钥”,确定保存

  3. 获取app_idapp_secret


    app_id 即 授权编号 SGN3221654000001
    app_secret 即 密钥 13c09a6d-522e-c78f-1fb3-f7c3f7f626d7

1.2.2. Step2 获取 access_token

请求参数说明:

参数名称 是否必选 数据类型 描述
action string 指令:get_access_token
actionid string 指令编号
app_id string 授权编号
app_secret string 授权密钥

Request Body:RAW

{
    "action": "get_access_token",
    "actionid": "",
    "app_id": "SGN3221654000001",
    "app_secret": "13c09a6d-522e-c78f-1fb3-f7c3f7f626d7"
}

响应参数说明:

参数名称 是否必选 数据类型 描述
resp string 请求指令
code int code码,参见下文code码说明
msg string 错误提示语
access_token string 获取到的凭证
expires_in int 凭证的有效时间(秒)

Response:

{
    "resp": "get_access_token",
    "actionid": "",
    "code": 200,
    "msg": "成功",
    "result": {
        "access_token": "U0dONDEyNTc3NDkwMDAwNSNhM2I5ZTg5MS1hYzI5LWYwM2EtNTk2YS1iZWFmYjg1ZGQ1M2QjMjAyNC0wMS0xNyAxNjo0MToxOS4zNDE0Mjk4MjEgKzA4MDAgQ1NUIG09KzQ3NTI1MjguODgwNTE4ODQx",
        "expires_in": 7200
    }
}

获取access_token,下文用{access_token} 替代

注意事项

  1. 开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用get_access_token接口,否则会受到频率拦截) 。当access_token失效或过期时,需要重新获取。
  2. access_token的有效期通过返回的expires_in来传达, 正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token
  3. 某些情况下,服务可能会使access_token提前失效,所以为了保证第三方服务的稳定性,开发者应该实现access_token失效时重新获取的逻辑

code码说明

错误码 描述
200 请求成功
40001 授权编号或密钥不正确
40002 调用太频繁,已限制调用
40003 调用接口的IP地址不在白名单中
40004 token不合法
40005 token已失效,请重新获取

Postman示例如下:

1.2.3. Step3 调用接口

1.2.3.1. HTTP方式

请求接口时,在Header请求头中发送: Authorization:Bearer ${access_token}

Postman示例如下:

1.2.3.2. Websocket方式

请求接口时,客户端连接上服务器后,请求ping接口发送access_token校验

示例:{"action": "ping", "Authorization": "Bearer {access_token}"}

1.3. 接口使用示例

1.3.1. HTTP方式

如,我们需获取设备OBJ3271849805135 最新一条设备数据,参见接口 获取最新一条马赛克

Postman示例如下:

1.3.2. Websocket方式

Websocket在线模拟请求工具

如,我们需订阅 设备OBJ3271849805135 最新实时数据

{"action": "sub_agent_event","event": {"event": "recv_fv", "object_id":"OBJ3565414500036"}}

文档更新时间: 2024-01-18 12:28   作者:技术支持