开放平台接入方式

请求方式

  • 请求方式: HTTP POST
  • 请求头:Content-Type: application/json;charset=utf8
  • 请求URL: 在每个接口对应文档可见

请求数据

  • 请求参数为 json 格式,有几个必填的参数
    {
      "dataId":"",
      "tenantId":"",
      "token":"",
      "gatewaySN":"",
      "timestamp":""
    }
    其中 token 字段,是用户把数据进行加密后的数据。
    token = MD5(dataId +”|”+tenantId+”|”+timeStamp +”|”+gatewaySN +”|”+appSecret)
字段 备注
dataId 每次调用接口的唯一GUID
tenantId 企业在开发平台申请系统接入的TenantId
timeStamp 当前时间格式( yyyy-MM-dd HH:mm:ss)
gatewaySN 网关设备的编号
appSecret 企业在开发平台申请系统接入的AppSecret

token 如何加密

  • 加密算法:MD5
  • 加密说明:用户发送/接收到数据,使用MD5加密数据中的字段生成TOKEN
  • 加密示例:字符串 123456789ABCDabcd 加密后为 345c1014a498d52cc5b3bd581bf9c9fd
  • 代码:
String tenantId= 企业在开发平台申请系统接入的TenantId;
String appSecret= 企业在开发平台申请系统接入的AppSecret;
String dataId = 每次调用接口的唯一GUID;
String timeStamp = 当前时间格式( yyyy-MM-dd HH:mm:ss);
String gatewaySN = 网关设备的编号;
String data = dataId +”|”+tenantId+”|”+timeStamp +”|”+gatewaySN +”|”+appSecret;
String token = MD5(data); //Token每次调用接口都需要根据数据生成

public static string Md5(string data)
{
    using var md5 = MD5.Create();
    byte[] inputBytes = Encoding.UTF8.GetBytes(data);
    byte[] hashedBytes = md5.ComputeHash(inputBytes);

    // 将哈希值转换为十六进制字符串
    StringBuilder builder = new StringBuilder();
    foreach (byte b in hashedBytes)
    {
        builder.Append(b.ToString("x2"));
    }
    string hashedString = builder.ToString().ToLower();
    return hashedString;
}

接口响应数据

  • 成功示例

    {
      "id":"",
      "code":"0",
      "data":"{}",
      "message":"success"
    }
  • 失败示例

    {
      "id":"",
      "code":"错误编号",
      "data":"{}",
      "message":"失败提示信息"
    }

响应参数说明

类型参数 说明
id 用户请求时发送的 dataId
code 参考 [错误编码说明]
message 操作结果的详细说明
data 用户请求时发送的原始数据

错误编码说明

编码 说明
0 请求成功
500 系统内部错误,请联系平台管理员处理
1000 参数验证失败
1001 Token 验证失败
1002 Timestamp 与当前时间误差过大,建议在五分钟内
1010 接口调用速度过快
1011 一代设备不能使用二代设备接口
作者:阮德明  创建时间:2025-06-05 16:10
最后编辑:阮德明  更新时间:2025-11-17 16:50