设备端FogCloud接口

token说明

所有标明jwt认证的接口,需要在请求header中添加Authorization头域,值为:jwt token,如下示例:

Authorization: jwt eyJhbGciOiJ...

ErrorCode说明

Code 说明
27054 没有提供认证信息或者认证信息里包含空格
1200 签名过期
1201 解析签名出错
1202 无效的token
1204 无效的payload,如:无法解析出设备信息等
1205 无效的签名,如:解析出的设备ID找不到对应设备等
1206 设备被禁掉,请联系厂家

设备激活

POST device/activate/

设备配网成功后,立即由设备端发起调用该接口进行设备的激活。

请求参数

参数名 类型 必须 说明
product_id string 产品唯一标识
mac string 设备MAC地址
devicepw string 设备端产生的随机数作为设备密码
mxchipsn string 庆科模块串号(给未来分析模块来源统计提供依据)

返回值

{
    "meta": {
        "message": "Device Activate Success.",
        "code": 0
    },
    "data": {
        "deviceid": "37db31de-c8c6-11e5-a467-6036dd3ffa97",
        "is_virtual": false
    }
}

字段说明

返回值字段 字段类型 字段说明
deviceid string 设备ID
is_virtual string True表示虚拟设备

错误码

错误代码 错误说明
27010 参数错误:缺少参数或者参数类型错误等
27020 无效产品ID,找不到对应产品

注意事项

如果设备被权限回收后再次激活将会更新设备密钥,同时status置为激活状态。注意该情况下原绑定用户将不做任何处理

{
    "meta": {
        "message": "Device ReActivate Success.",
        "code": 0
    },
    "data": {
        "deviceid": "ed66d81e-d2c3-11e5-a739-00163e0204c0"
    }
}

关联参考


设备回收授权(jwt认证)

POST device/recoverydevicegrant/

设备端发起调用该接口进行设备的注销:注销设备,解绑所有用户,同时设备应被恢复出厂设置(由固件控制)。

请求参数

返回结果

{
    "meta": {
        "message": "Recovery Device Grant Success.",
        "code": 0
    },
    "data": {'RecoveryDeviceGrant': True}
}

字段说明

错误代码

注意事项

该项操作将设备置为不启用状态,绑定用户置为删除状态。

关联参考

设备生成验证码(jwt认证)

POST device/generatedevicevercode/

设备本地生成UUID验证码,存于云端,接口需通过设备端jwt验证

请求参数

参数名 类型 必须 说明
callback boolean True:需要把操作结果通知mqtt

返回结果 成功

{
    "meta": {
        "message": "Generate Device Vercode Success.",
        "code": 0
    },
    "data": {
        "vercode": "492f0f70-d2cb-11e5-a739-00163e0204c0"
    }
}

字段说明

返回值字段 字段类型 字段说明
vercode string 设备绑定生成码

错误代码

错误代码 错误说明
27061 设备已经绑定超级用户

注意事项

关联参考


检查设备超级用户绑定(jwt认证)

GET device/checkdevicesuperuser/

检查设备是否绑定了超级用户。

请求参数

返回结果

{
    "meta": {
        "message": "Check Device Superuser Success.",
        "code": 0
    },
    "data": {
        "CheckDeviceSuperUser": false
    }
}

字段说明

返回值字段 字段类型 字段说明
CheckDeviceSuperUser boolean 是否有超级用户绑定

错误代码

注意事项

关联参考


获取设备授权

POST device/token-auth/

根据device Id及device PW(明文)获取设备的授权,从而产生access token。

请求参数

参数名 类型 必须 说明
deviceid string 设备注册时产生的id
password string 设备端产生的随机数作为设备密码

返回结果

{
    "meta": {
        "message": "device jwt response success.",
        "code": 0
    },
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
         }
}

字段说明

返回值字段 字段类型 字段说明
token string 由devicePW和device id生成的access token.

错误代码

错误代码 错误说明
27010 参数错误:deviceid或者password错误
27030 设备ID错误
27031 设备被禁用,联系厂家
27032 设备密码错误

注意事项

关联参考


刷新设备授权

POST device/token-refresh/

token 获取后,更新token以获取设备的重新控制

请求参数

参数名 类型 必须 说明
token string 设备授权时产生的token
注意:该token需要添加到request的body中,而不是header。

返回结果 成功

{
    "meta": {
        "message": "device jwt response success.",
        "code": 0
    },
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    }
}

返回结果 失败

{
    "meta": {
        "message": "Refresh has expired.",
        "code": 27051
    },
    "data": {}
}

字段说明

返回值字段 字段类型 字段说明
token string jwt token

错误代码

错误代码 错误说明
27010 参数中没有token或者token中没有设备ID
27050 解析签名出错
27051 token过期
27052 token错误

注意事项

关联参考


验证设备授权

POST device/token-verify/

设备Token 验证授权,当设备token 过期时说明不能对设备进行控制,一般设置Token 有效时间内有效,调用token-verify接口。

请求参数

参数名 类型 必须 说明
token string 设备授权时产生的token
注意:该token需要添加到request的body中,而不是header。

返回结果 成功

{
    "meta": {
        "message": "device jwt response success.",
        "code": 0
    },
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        }
}

返回结果 失败

{
    "meta": {
        "message": "Error decoding signature.",
        "code": 27050
    },
    "data": {}
}

字段说明

返回值字段 字段类型 字段说明
token string jwt token

错误代码

错误代码 错误说明
27010 参数中没有token或者token中没有设备ID
27050 解析签名出错
27051 token过期
27052 token错误

注意事项

关联参考


设备端状态发送(jwt认证)

POST device/sendevent/

设备发送状态信息到云端

请求参数

参数名 类型 必须 说明
payload string 发送的信息
format string 信息的格式(json)

返回结果

{
    "meta": {
        "message": "Device Push Status Success.",
        "code": 0
    },
    "data": {
        "push_status": true
    }
}

字段说明

返回值字段 字段类型 字段说明
push_status boolean 消息是否已发至MQTT

错误代码

错误代码 错误说明
27010 参数错误:缺少参数或者参数类型错误等

注意事项

关联参考


更新设备在线离线状态(jwt认证)

P0ST device/syncstatus/

设备重启后,调用该接口将设备当前版本信息主动更新上报至云端

请求参数

参数名 类型 必须 说明
productid string 产品ID,为36位uuid字符串
wifi string 模块型号 3165 3162
firmware string 固件版本号
mico string 为mico做分段ota使用,记录mico版本号。

返回结果

{
  "meta": {
    "message": "Device Status Update succeed",
    "code": 0
  },
  "data": {}
}

字段说明

返回值字段 字段类型 字段说明

错误代码

错误代码 错误说明
27060 找不到设备对应的Mqtt Client,联系FogCloud客服
27010 参数错误:缺少参数或者参数类型错误等

注意事项

关联参考