1 开放平台说明
- SolarMAN OpenAPI开放平台为认证用户提供标准化RESTful数据调用服务.
- 平台接口基于http/https协议,使用OAuth2.0认证机制.
- 使用GET/POST,具体见接口定义,参数为utf-8编码,urlencode处理
- 数据均使用utf-8编码
- 支持返回json格式
- 返回数据结构:主体内容,code:错误码,msg:错误内容
- 除了获取和延长ACCESS_TOKEN接口,其他接口调用时需要在http header中的添加Authorization,其Value为ACCESS_TOKEN的值
1.1 平台术语
| 应用 | 开放平台基本元素,用户通过创建好的应用才能调用平台API | | —- | —- | | APP_ID | 应用的唯一标识ID | | APP_SECRET | 应用的认证密钥,需要妥善保管,不能泄露 | | ACCESS_TOKEN | 认证成功后的授权令牌,用于请求服务器数据. | | REFRESH_TOKEN | 更新令牌,用于延长ACCESS_TOKEN有效期 |
1.2 接入流程
注册成为小麦智电或小麦商家版的用户
在申请API登录要素时,请提供 【用户联系方式】:以邮箱为主,以及其他可以辅助认证身份的内容(如solarman账号) 【客户类型】:个人,设备商,安装运维商、分销商、投资商 【使用目的描述】:明确使用场景
邮件给到您的对接人,抄送 ting.xiao##igen-tech.com 请将##替换为@ 符号
注册成为SOLARMAN的开发者(联系商务),创建应用APP,生成APP_ID以及APP_SECRET,提交业务审核
- 开发者根据开发文档进行业务开发并测试
- 正式环境对接接口
1.3 调用限制
- 默认所有的常规接口调用限制
单OpenApi账号调用接口的每10秒请求数最大限制:300
- 针对设备控制类接口调用限制(3.7接口、3.9接口)
1.4 调用地址
环境 | 请求地址 |
---|---|
正式环境 | https://api.solarmanpv.com |
1.5 快速指南
1.5.1 通过OpenAPI处理“小麦智电”平台的数据
1.5.1.1 获取电站及其设备数据
前提条件(满足任意一项即可)
(1)账号已在小麦智电Web/App或 OpenAPI 创建了电站并添加了采集器,且数据能够正常查看;
(2)账号已在小麦智电Web/App接收了商家授权的电站 ,且数据能够正常查看。
调用指南
调用指南仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦智电”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号下电站列表
通过此接口,您可以获取当前账号下的电站列表,获知每个电站的Plant ID。
(1)接口编码:4.4
(2)注意事项:
header字段authorization必传,传值时需要拼上token_type前缀“bearer ”(请注意,bearer后有一个空格)
- 示例:
- 获取到的TOKEN值:FFFFFFFFF
- 最终Header的authorization字段值为:
'Authorization: bearer FFFFFFFFF'
- 示例:
分页参数不传时默认查询第一页
Step 3:获取电站的实时数据
在获知电站 Plant ID 的情况下,您可以通过此接口查询到电站的实时数据,如:电站发电功率、电站并网功率等。
(1)接口编码:4.5
(2)注意事项:
- stationId必传,只能传与用户相匹配的电站ID
Step 4:获取电站下设备列表
在获知电站 Plant ID 的情况下,您可以通过此接口查询到电站下的设备列表,获知每个设备的SN与Device ID。
(1)接口编码:4.2
(2)注意事项:
- 字段deviceType不传时默认查询所有类型的设备数据,传值时查询指定类型的设备
- 设备类型参见API文档 7.枚举类型说明
Step 5:获取设备的实时数据
在获知设备 SN 与 Device ID 的情况下,您可以通过此接口查询到设备的实时数据,如:逆变器交流输出总功率、组件发电功率、电池充电功率等。
(1)接口编码:3.3
(2)注意事项:
调用指南
调用示例仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦智电”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:创建电站
通过此接口,您可以在账号下创建电站。
(1)接口编码:4.8
(2)注意事项:
- 所有必传字段必须传值
- gridInterconnectionType ,type 参见API文档 6.枚举类型说明
- 字段currency参见 API文档 9.字典信息-货币
1.5.1.3 添加设备
前提条件(满足任意一项即可)
(1)账号已在小麦智电Web/App或 OpenAPI 创建了电站;
(2)账号已在小麦智电Web/App接收了商家授权的电站 ,且拥有添加设备的权限。
调用指南
调用示例仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦智电”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号下电站列表
通过此接口,您可以获取当前账号下的电站列表,获知每个电站的Plant ID。
(1)接口编码:4.4
(2)注意事项:
header字段authorization必传,传值时需要拼上token_type前缀“bearer ”(请注意,bearer后有一个空格)
- 示例:
- 获取到的TOKEN值:FFFFFFFFF
- 最终Header的authorization字段值为:
'Authorization: bearer FFFFFFFFF'
- 示例:
分页参数不传时默认查询第一页
Step 3:添加设备至电站下
通过此接口,结合上面获取到的电站 Plant ID ,您可以将指定的设备添加至电站下。
(1)接口编码:4.13
(2)注意事项:
- isAuto 字段必传, 当isAuto =true时标识该网关下子设备在上传数据时自动与电站建立关联关系。当isAuto=false时标识只建立该网关与电站的关系,子设备需要手动添加,调用子设备添加接口(暂不支持),如有需求请联系商务。
1.5.2 通过OpenAPI处理“小麦商家版”平台的数据
1.5.2.1 获取运维版本中的电站及其设备数据
前提条件(满足任意一项即可)
(1)账号已在小麦商家版Web/App或 OpenAPI 创建了电站并添加了采集器,且能够正常查看电站及设备数据;
(2)账号已在小麦商家版Web/App接收了商家或用户授权的电站 ,且能够正常查看电站及设备数据。
调用指南
调用指南仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:第一次获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦商家版”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号的商家关系
在已有Token的情况下,需要通过此接口获取当前账号在商家版的商家关系,您需要记录下商家的OrgID。
(1)接口编码:2.2
(2)注意事项:
- 返回值中的companyId代表orgId
- 一个账号可以属于多个公司,请根据实际需求选择需要的orgId
Step 3:第二次获取Token
第二次获取Token时,将上面拿到的OrgID提交至接口,您将会重新获取到一个带有此商家信息的Token,后面使用该Token调用OpenAPI内的其他接口时,将返回该账号在此商家下的数据。
(1)接口编码:2.1
(2)注意事项:
- 获取商家Token时,字段orgId必传,不然获取到的是用户Token
Step 4:获取账号下电站列表
通过此接口,您可以获取当前账号下的电站列表,获知每个电站的Plant ID。
(1)接口编码:4.4
(2)注意事项:
header字段authorization必传,传值时需要拼上token_type前缀“bearer ”(请注意,bearer后有一个空格)
- 示例:
- 获取到的TOKEN值:FFFFFFFFF
- 最终Header的authorization字段值为:
'Authorization: bearer FFFFFFFFF'
- 示例:
分页参数不传时默认查询第一页
Step 5:获取电站的实时数据
在获知电站 Plant ID 的情况下,您可以通过此接口查询到电站的实时数据,如:电站发电功率、电站并网功率等。
(1)接口编码:4.5
(2)注意事项:
- stationId必传,只能传与用户相匹配的电站ID
Step 6:获取电站下设备列表
在获知电站 Plant ID 的情况下,您可以通过此接口查询到电站下的设备列表,获知每个设备的SN与Device ID。
(1)接口编码:4.2
(2)注意事项:
- 字段deviceType不传时默认查询所有类型的设备数据,传值时查询指定类型的设备
- 设备类型参见API文档 6.枚举类型说明
Step 7:获取设备的实时数据
在获知设备 SN 与 Device ID 的情况下,您可以通过此接口查询到设备的实时数据,如:逆变器交流输出总功率、组件发电功率、电池充电功率等。
(1)接口编码:3.3
(2)注意事项:
- 字段deviceSn必传
1.5.2.2 获取设备库板块中的设备数据
前提条件
账号已在小麦商家版Web设备库中倒入了采集器,且能够正常查看设备数据
调用指南
调用指南仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:第一次获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦商家版”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号的商家关系
在已有Token的情况下,需要通过此接口获取当前账号在商家版的商家关系,您需要记录下商家的OrgID。
(1)接口编码:2.2
(2)注意事项:
- 返回值中的companyId代表orgId
- 一个账号可以属于多个公司,请根据实际需求选择需要的orgId
Step 3:第二次获取Token
第二次获取Token时,将上面拿到的OrgID提交至接口,您将会重新获取到一个带有此商家信息的Token,后面使用该Token调用OpenAPI内的其他接口时,将返回该账号在此商家下的数据。
(1)接口编码:2.1
(2)注意事项:
- 获取商家Token时,字段orgId必传,不然获取到的是用户Token
Step 4:获取账号下设备列表
通过此接口,您将可以获取到该账号在商家版-设备库中倒入的设备列表,获知每个设备的SN与Device ID。
(1)接口编码:3.5
(2)注意事项:
header字段authorization必传,传值时需要拼上token_type前缀“bearer ”(请注意,bearer后有一个空格)
- 示例:
- 获取到的TOKEN值:FFFFFFFFF
- 最终Header的authorization字段值为:
'Authorization: bearer FFFFFFFFF'
- 示例:
分页参数不传时默认查询第一页
Step 5:获取设备的实时数据
在获知设备 SN 与 Device ID 的情况下,您可以通过此接口查询到设备的实时数据,如:逆变器交流输出总功率、组件发电功率、电池充电功率等。
(1)接口编码:3.3
(2)注意事项:
- 字段deviceSn必传
1.5.2.3 创建电站
前提条件
已通过小麦商家版Web/App或 OpenAPI 创建账号,且具有创建电站的权限
调用指南
调用指南仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:第一次获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦商家版”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号的商家关系
在已有Token的情况下,需要通过此接口获取当前账号在商家版的商家关系,您需要记录下商家的OrgID。
(1)接口编码:2.2
(2)注意事项:
- 返回值中的companyId代表orgId
- 一个账号可以属于多个公司,请根据实际需求选择需要的orgId
Step 3:第二次获取Token
第二次获取Token时,将上面拿到的OrgID提交至接口,您将会重新获取到一个带有此商家信息的Token,后面使用该Token调用OpenAPI内的其他接口时,将返回该账号在此商家下的数据。
(1)接口编码:2.1
(2)注意事项:
- 获取商家Token时,字段orgId必传,不然获取到的是用户Token
Step 4:创建电站
通过此接口,您可以在账号下创建电站。
(1)接口编码:4.8
(2)注意事项:
- 所有必传字段必须传值
- gridInterconnectionType ,type 参见API文档 6.枚举类型说明
- 字段currency参见 API文档 8.字典信息-货币
1.5.2.4 添加设备
前提条件(满足任意一项即可)
(1)账号已在小麦商家版Web/App或 OpenAPI 创建了电站,且具有添加设备的权限;
(2)账号已在小麦商家版Web/App接收了商家或用户授权的电站 ,且拥有添加设备的权限。
调用指南
调用指南仅对流程图中标记出来的部分场景进行演示,如需了解其他接口的用法请查阅下文具体的说明文档
Step 1:第一次获取Token
使用OpenAPI前,您需要通过您的开发者信息与“小麦商家版”平台的账号来换取OpenAPI的调用Token,Token将会是你调用OpenAPI内其他所有接口的唯一凭证与必要条件。
(1)接口编码:2.1
(2)注意事项:
- APPID参数是query参数需要放置在URL上
- password字段需要先使用SHA256加密后再传参
- 多次调用获取token不会导致原有的token失效。token有效期为两个月,过期失效。重置密码,修改用户角色时原有token也会失效。
- 测试环境的APPID不可以调用生产环境API
- 必须通过“小麦智电”平台的账号才能正常获取Token,请根据账号实际绑定情况入参mobile / email / username 中的一项,并带上password 。
Step 2:获取账号的商家关系
在已有Token的情况下,需要通过此接口获取当前账号在商家版的商家关系,您需要记录下商家的OrgID。
(1)接口编码:2.2
(2)注意事项:
- 返回值中的companyId代表orgId
- 一个账号可以属于多个公司,请根据实际需求选择需要的orgId
Step 3:第二次获取Token
第二次获取Token时,将上面拿到的OrgID提交至接口,您将会重新获取到一个带有此商家信息的Token,后面使用该Token调用OpenAPI内的其他接口时,将返回该账号在此商家下的数据。
(1)接口编码:2.1
(2)注意事项:
- 获取商家Token时,字段orgId必传,不然获取到的是用户Token
Step 4:获取账号下电站列表
通过此接口,您可以获取当前账号下的电站列表,获知每个电站的Plant ID。
(1)接口编码:4.4
(2)注意事项:
header字段authorization必传,传值时需要拼上token_type前缀“bearer ”(请注意,bearer后有一个空格)
- 示例:
- 获取到的TOKEN值:FFFFFFFFF
- 最终Header的authorization字段值为:
'Authorization: bearer FFFFFFFFF'
- 示例:
分页参数不传时默认查询第一页
Step 5:添加设备至电站下
通过此接口,结合上面获取到的电站 Plant ID ,您可以将指定的设备添加至电站下。
(1)接口编码:4.13
(2)注意事项:
- isAuto 字段必传, 当isAuto =true时标识该网关下子设备在上传数据时自动与电站建立关联关系。当isAuto=false时标识只建立该网关与电站的关系,子设备需要手动添加,调用子设备添加接口(暂不支持),如有需求请联系商务。
1.6 建议
能力 | 建议调用频率 | 建议存储 |
---|---|---|