# API 列表
接入地址
地区 | 地址 |
中国 | https://app.api.fogcloud.io |
欧洲 | https://api-eu.fogcloud.io |
# 1. 验证 ble 身份
- 接口说明:
认证蓝牙设备身份,用于蓝牙设备配网时的身份验证
- 接口地址:
POST /openapi/v1/auth/ble/products/{product_key}/identity
- 请求体:
字段名 | 类型 | 说明 |
cipher | string | 设备生成的密文 |
device_name | string | 设备 device_name |
product_key | string | 产品唯一标识 |
random | string | 配网中生成的随机字符串 |
- 返回参数:
字段名 | 类型 | 说明 |
ble_key | string | 用于设备和 app 之间的通信加密 |
- 请求示例:
POST /openapi/v1/auth/ble/products/020e5412/identity
{ "cipher": "string", "device_name": "string", "product_key": "string", "random": "string" }
- 返回示例:
{ "code": 0, "message": "SUCCESS", "data": { "ble_key": "string" } }
# 2. 分配一型一密认证设备身份信息
- 接口说明:
用于设备一型一密动态接入时,验证设备身份并分配设备三元组信息。注意:该接口分配的三元组需要提前创建。
- 接口地址:
POST /openapi/v1/auth/register/device
- 请求体:
字段名 | 类型 | 说明 |
product_key | string | 产品唯一标识 |
random | string | 随机字符串,长度 5~20 字节 |
mac | string | 设备唯一标识,建议使用设备 mac 地址 |
sign_method | string | 签名使用的 hmac 算法:hmacsha1, hmacmd5 |
sign | string | hmac 算法生成的签名 |
- 返回参数:
字段名 | 类型 | 说明 |
product_key | string | 设备三元组信息:产品标识 |
device_name | string | 设备三元组信息:设备标识 |
device_secret | string | 设备三元组信息:设备密钥 |
- 签名计算方式:
使用sign_method
字段的hmac
算法,product_secret
作为秘钥,对固定格式字符串进行签名,并将得到的字节码转为 hex 字符串即可。 被签名的字符串固定格式为:"mac${mac}productKey${product_key}random${random}"
- 签名示例:
一个设备的请求参数为:
{ "product_key": "5a2cb046", "mac": "00aa9ea12", "sign_method": "hmacsha1", "random": "123fadff" }
product_secret
为:"567bf9c3ac1cc983265a3099efd9477c"
需要计算签名的字符串为:"mac00aa9ea12productKey5a2cb046random123fadff"
使用 hmacsha1 算法计算签名的伪代码:hmacsha1("567bf9c3ac1cc983265a3099efd9477c", "mac00aa9ea12productKey5a2cb046random123fadff").toHexString()
最后计算得到的签名为:"7aa0b6ffd103e6facd952c5088beb1b5ecfb305c"
- 请求示例:
GET /openapi/v1/auth/register/device
{ "product_key": "string", "random": "string", "mac": "string", "sign_method": "hmacsha1", "sign": "string" }
- 返回示例:
{ "code": 0, "message": "SUCCESS", "data": { "product_key": "string", "device_name": "string", "device_secret": "string" } }
# 3. 生成一型一密认证设备身份信息
- 接口说明:
用于设备一型一密动态接入时,验证设备身份并生成设备三元组信息。可以指定 device_name。
- 接口地址:
POST /openapi/v1/auth/generator/device
- 请求体:
字段名 | 类型 | 说明 |
product_key | string | 产品标识 |
random | string | 随机字符串,长度 5~20 个字节 |
device_name | string | 设备标识,长度 6~20 个字节,仅支持英文数字字符 |
sign_method | string | 签名使用的 hmac 算法:hmacsha1, hmacmd5 |
sign | string | hmac 算法生成的签名 |
- 返回参数:
字段名 | 类型 | 说明 |
product_key | string | 设备三元组信息:产品标识 |
device_name | string | 设备三元组信息:设备标识 |
device_secret | string | 设备三元组信息:设备密钥 |
- 签名计算方式:
使用sign_method
字段的hmac
算法,product_secret
作为秘钥,对固定格式字符串进行签名,并将得到的字节码转为 hex 字符串即可。 被签名的字符串固定格式为:"deviceName${device_name}productKey${product_key}random${random}"
- 签名示例:
一个设备的请求参数为:
{ "product_key": "5a2cb046", "device_name": "00aa9ea12", "sign_method": "hmacsha1", "random": "123fadff" }
product_secret
为:"567bf9c3ac1cc983265a3099efd9477c"
需要计算签名的字符串为:"deviceName00aa9ea12productKey5a2cb046random123fadff"
使用 hmacsha1 算法计算签名的伪代码:hmacsha1("567bf9c3ac1cc983265a3099efd9477c", "deviceName00aa9ea12productKey5a2cb046random123fadff").toHexString()
最后计算得到的签名为:"733786f4e1a2a6c0e13aebfc3e228ec463971f43"
- 请求示例:
GET /openapi/v1/auth/generator/device
{ "product_key": "string", "device_name": "string", "random": "string", "sign_method": "hmacsha1", "sign": "string" }
- 返回示例:
{ "code": 0, "message": "SUCCESS", "data": { "product_key": "string", "device_name": "string", "device_secret": "string" } }