设备端FogCloud接口
token说明
所有标明jwt认证的接口,需要在请求header中添加Authorization头域,值为:jwt token,如下示例:
Authorization: jwt eyJhbGciOiJ...
ErrorCode说明
- 所有接口里,成功的code为0,其他code请参考接口说明。
- jwt认证相关code:
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 | 参数错误:缺少参数或者参数类型错误等 |
注意事项
无
关联参考
无