标准
API标准
标准的api AEMO用途是OpenAPI规范(OAS)。更多细节,请参阅OpenAPI-Specification:https://github.com/OAI/OpenAPI-Specification。
设计原则
其余的方法使用的HTTP请求的特性使用这些设计原则:
在MarketNet或HTTPS协议提供服务
资源映射到uri的位置在一个层次结构,例如:服务主机/系统/ business_function。
层次结构的根代表web服务或API应用程序,并提供资源
下一阶段提供了特定的信息资源,
最后水平提供数据特定资源的更多细节,请参阅下面的URL格式。
提供多种有效载荷,如XML或JSON。
URL格式
API url在以下格式:
参数
描述
协议
HTTPS
web服务主机
的名称服务器托管服务或外部代理。
Business_function
API的名字——AEMO系统提供的服务,例如GeneratorRecall
资源
实体的业务功能例如/ listRecallPlans
查询字符串参数?
使用GET方法
例子:
格式示例
https://web服务主机/ business_function / APIversion /资源?查询字符串参数
互联网URL示例
https://apis.prod.www.thegroupof7.com: 9319 / ws / GeneratorRecall / 1.0 / listRecallPlans
MarketNet URL示例
https://apis.prod.marketnet.net.au: 9319 / ws / GeneratorRecall / 1.0 / listRecallPlans
头
头参数
描述
允许的值/例子
内容类型
HTTPS请求格式。
内容类型:application / json
接受
HTTPS响应格式。
接受:application / json
内容长度
内容文件的长度。发送请求时的值填充。
某某内容长度:
X-initiatingParticipantID
参与者标识
X-initiatingParticipantID: 123456
x市场
请求的市场类型适用。
x市场:气体
授权
指定包含Base64编码[1]基本HTTP身份验证用户名和密码。参与者的URM用冒号分隔符连接用户名和密码然后Base64编码。
授权:基本QFhQVC0wMDAwMzoyZWRmOGJhYS0wY2I0LTQwZjctOTIyMS0yODUxNmM4N2MxNjQ = (URM用户名“@xpt - 00003”和密码“2 edf8baa - 0 - cb4 - 40 - f7 - 9221 - 28516 - c87c164”)
方法
HTTPS方法
操作
细节
得到
检索数据
GET方法在URL的查询字符串参数。
GET方法没有content - type传入的HTTP请求。
并不是所有的AEMO api使用GET方法。
帖子
Post数据
POST方法有:
没有在URL查询字符串参数。
基本身份验证信息,用户名和密码编码和传入请求头。
HTTP请求头参数特定于API(如果有的话)。
负载的例子:
{
“ParticipantId”:“PID”,
“StartDate可以”:“2017 - 11 - 01 t00:00:00 + 10”、“EndDate”:“2017 - 11 - 02 - t00:00:00 + 10”,
:“StationId PID6”,
:“DUID AEMO1”,
:“OutagePlanId MMS_GEN_OUT1”
}
删除
删除数据
DELETE方法在URL查询字符串参数。
HTTP响应代码
HTTP响应有:
响应代码和描述,
一个成功的请求表示到200年
其他技术和有效载荷响应代码验证
可选的有效载荷
状态码
e-Hub发送一个适当的HTTP响应代码和响应负载时的任何技术验证失败。
代码
条件
描述
200年
表明一个成功的请求。
好吧
400年
无效的API URI
无法找到服务端点引用(EPR)的URI,“断层”:“SystemMessageExceptionDump”
401年
无效的证书
没有BASICAuth在HTTP请求头信息
未经授权的
“异常”:“未经授权:无效的用户名或密码”
404年
未找到资源
“异常”:“端点URI没有找到资源。端点
URI:资源”
405年
无效的方法(例如GET代替POST)
“异常”:“输入请求的HTTP方法是无效的方法通过但操作(资源名称)只接受:(vValid方法)”
422年
业务验证失败
Unprocessable实体
429年
超过节流限制
“异常”:“入站请求的数量超过了节流限制;尝试一段时间后,“
500年
e-Hub操作但下游系统不可用或畸形的负载(JSON)
“异常”:“应用程序不可用”
交通管理
从过载保护后端服务,AEMO API平台实施交通限制。细节交通限制为每个单独的API,看到单个API的政策。
连接和读取超时设置
我们建议参与者使用以下设置当调用AEMO的api。
类型
问题
推荐设置
连接超时
不能连接到e-Hub的端点(例如e-Hub基础设施不可用)。
10秒
读取超时
连接的端点,但e-Hub没有配置的时间内作出回应。
30秒
术语表
缩写/学期
解释
API网关
网关在AEMO这边提供参与者的通信选项,可通过互联网或MarketNet。它使用资源和方法推动消息网关参与者的API
API
应用程序编程接口;一组明确定义的各种软件组件之间的通信方法。
API门户
,您可以查看可用的API,查看API文档(包括OpenAPI规格)和获得邮差集合。
企业社会责任
证书签名请求一块编码文本时给一个证书颁发机构申请TLS证书。它还包含中包含公钥证书。通常,同时创建一个私有密钥,密钥对。
eHub
由门户API, API的电力和天然气的网关。
JSON
JavaScript对象表示法
密钥对
TLS使用一种叫做公开密匙加密的技术,基于密钥对的概念。密钥对由公共和私人密钥加密数据。只是可能对应的公钥与私钥进行解密。
MarketNet
AEMO的私人数据网络连接。
MSATS
零售市场结算和传输系统
美洲国家组织
OpenAPI规范
参与者API网关
接口由参与者实现AEMO API将消息的地方。
参与者ID
注册参与者标识符
有效载荷
数据发送POST请求。有效载荷部分标题后。
PID
参与者ID
私钥
秘密私钥是一个文本文件最初用来生成证书签名请求(CSR),后来以确保并验证连接。
公钥
公钥是包括作为您的TLS证书的一部分,和私钥一起工作,以确保您的数据进行加密,验证,而不是篡改。任何访问公共密钥证书(即)可以验证数字签名是真实的,而无需知道的秘密私钥。
肥皂
简单对象访问协议
的文件
OpenAPI规范(OAS)定义的API。
TLS
传输层安全、通信安全加密协议提供的API。
WSDL
Web服务描述语言
XML
可扩展标记语言