支持设备
-
✓
所有能控云产品(CT电表、红外读表器、P1电表、智能插座、Linky读表器等)
-
✓
所有使用能控云WIFI 模块产品(储能机、逆变器、电池等)
安全鉴权与加密流程
所有开放接口调用均需通过严格的签名验证,确保通信安全与数据完整性。
1. 获取接入凭证
联系 AECC 官方获取专属接入凭证:
-
•
companyCode:
企业唯一识别码(用于请求头身份标识)
-
•
key:
接口签名密钥(仅用于本地签名生成,严禁在网络中明文传输)
2. 构造待签名字符串
按以下固定规则拼接签名原文,顺序错误将导致验签失败:
-
业务参数排序:将所有业务请求参数(不包含
time 和 sign)的参数名,按 Unicode 编码升序 排列,拼接为 key=value&key=value 格式。
-
追加时间与密钥:在排序后的字符串末尾,固定追加
time={UTC+0秒级时间戳}&key={分配的密钥}。
datalogSn=SXDID888888&deviceSn=SXDID888888XXXXXX&time=1723720871&key=2a1891544dbcf8e8b45b36d03187485a
3. 生成签名值
使用标准 MD5 算法对拼接完成的待签名字符串进行哈希运算,输出结果必须转换为 全小写 字符串,作为 sign 参数值。
4. 发起 API 请求
-
•
Header:
必须携带
companyCode: {企业识别码} 与 Accept-Language: en-US。
-
•
Body:
除业务参数外,必须包含
time(与签名生成时完全一致的 UTC+0 秒级时间戳)和 sign(MD5 签名值)。
⚠️ 安全须知:
签名有效期与时间戳强绑定,服务端会校验时间戳有效性,请勿缓存签名复用;密钥泄露需立即联系官方重置。
核心接口调用示例
以下提供两个高频核心接口的完整调用示例,覆盖签名生成、请求构造与响应解析全流程。
POST
/openApi/price/setEnergyMode
该接口用于配置储能设备的运行模式(智能/自定义/关闭),并获取下发至采集器的加密控制报文。
请求体
请求示例
{
"energyMode": "2",
"aiMode": "0",
"customTimes": "00:00,12:00,1000&13:00,15:00,-2000",
"batRatedCapacity": "1",
"batRatedChargingPower": "1000",
"dataTime": "2025-06-26",
"priceCompany": "Germany",
"time": "1732756652",
"sign": "c3757db87150d5efbb45009d9253d375"
}
响应字段说明
-
•
packet:
十六进制控制报文,需按设备协议二次加密并计算 CRC16 校验后下发至采集器。
-
•
powerTimes:
时段策略数组,包含各时间段的充放电功率指令。
POST
/openApi/price/getPriceChart
该接口用于获取指定区域、指定日期的分时电价信息,为智能调控策略提供数据支撑。
请求体
请求示例
{
"dataTime": "2024-09-07",
"priceCompany": "Germany",
"mode": "0",
"time": "1725677116",
"sign": "e07b26034722d166e7f059cb728ab3fd"
}
响应字段说明
-
•
priceArr:
24小时电价数组,单位为 EUR/MWh。
-
•
pricesDayList:
时段明细列表,包含每个时间段的起止时间、电价数值及峰谷平标识。
GET
/api/v1/devices
获取所有设备列表。返回设备信息,包括ID、名称、状态和类型。
请求参数
响应示例
{
"code": 200,
"message": "success",
"data": {
"devices": [
{
"id": 1,
"name": "Device 1",
"status": "online",
"type": "sensor"
}
],
"total": 10,
"page": 1
}
}
POST
/api/v1/devices
创建新设备。需要设备名称、类型和配置信息。
请求体
请求示例
{
"name": "New Device",
"type": "sensor",
"config": {
"interval": 60,
"unit": "celsius"
}
}
响应示例
{
"code": 201,
"message": "Device created successfully",
"data": {
"id": 123,
"name": "New Device",
"status": "offline"
}
}
PUT
/api/v1/devices/{id}
更新设备信息。用提供的信息替换所有设备数据。
路径参数
请求示例
{
"name": "Updated Device",
"type": "actuator",
"config": {
"mode": "auto"
}
}
响应示例
{
"code": 200,
"message": "Device updated successfully",
"data": {
"id": 123,
"name": "Updated Device",
"type": "actuator"
}
}
DELETE
/api/v1/devices/{id}
根据ID删除设备。此操作无法撤销。
路径参数
响应示例
{
"code": 200,
"message": "Device deleted successfully"
}
PATCH
/api/v1/devices/{id}/status
部分更新设备状态。仅更新指定字段,不影响其他数据。
请求体
请求示例
{
"status": "online"
}
响应示例
{
"code": 200,
"message": "Device status updated",
"data": {
"id": 123,
"status": "online",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
👉
联系我们获得完整文档或支持
👈