# 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"
    }
}
更新时间: 2023/3/16 下午6:19:02