公共参数是指所有接口调用都需要用到的参数,包含公共请求参数和公共返回参数。
公共请求参数
公共请求参数是指每个接口都需要使用到的请求参数。
表 1. 公共请求参数表:
名称 | 类型 | 是否必须 | 描述 |
Format | String | 否 | 返回值的类型,支持JSON与XML。默认为JSON。 |
Version | String | 是 | API版本号,为日期形式:YYYY-MM-DD,本版本对应的版本号为2018-05-11。 |
AccessKeyId | String | 是 | 阿里云颁发给用户的访问服务所用的密钥ID。 |
Signature | String | 是 | 签名结果串。关于签名的计算方法,请参见签名机制。 |
SignatureMethod | String | 是 | 签名方式,目前仅支持HMAC-SHA1。 |
Timestamp | String | 是 | 请求的时间戳,为日期格式。使用UTC时间按照ISO8601标准,格式为YYYY-MM-DDThh:mm:ssZ。 例如,北京时间2013年1月10日20点0分0秒,表示为2013-01-10T12:00:00Z。 |
SignatureVersion | String | 是 | 签名算法版本,目前的版本是1.0。 |
SignatureNonce | String | 是 | 唯一随机数,用于防止网络重放攻击。 在不同请求间要使用不同的随机数值。 |
公共返回参数
用户发送的每次接口调用请求,无论成功与否,系统都会返回一个唯一识别码RequestId给用户。
请求示例
http://sgw.cn-shanghai.aliyuncs.com/
?Format=xml
&Version=2018-05-11
&Signature=Pc5WB8gokVn0xfeu%2FZV%2BiNM1dgI%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=key-test
&OwnerId=12345678
&Timestamp=2014-10-10T12:00:00Z
返回示例
调用API服务后,系统返回的数据采用统一格式,返回2xx的HTTP状态码,表示调用成功;返回4xx或5xx的HTTP状态码,表示调用失败。调用成功返回的数据格式主要有XML和JSON两种,外部系统可以在请求时传入参数来制定返回的数据格式,默认为XML格式。为了便于查看,本文档中的返回示例做了格式化处理,实际返回结果是没有进行换行、缩进等处理的。
成功结果
XML格式
<?xml version="1.0" encoding="utf-8"?> <!-结果的根结点--> <接口名称+Response> <!-返回请求标签--> <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!-返回结果数据--> </接口名称+Response>
JSON格式
{ "RequestId":"4C467B38-3910-447D-87BC-AC049166F216", /*返回结果数据*/ }
错误结果
调用接口出错后,系统将不会返回结果数据。您可以根据客户端错误码来定位错误原因。
当调用出错时,HTTP请求会返回一个4xx或5xx的HTTP状态码。返回的消息体中是具体的错误代码及错误信息,还包含一个全局唯一的请求ID(RequestId)和一个您该次请求访问的站点ID(HostId)。若无法在调用方定位错误原因,请联系阿里云客服人员,并提供该HostId和RequestId,以便我们能尽快帮您解决问题。
XML格式
<?xml version="1.0" encoding="UTF-8"?> <Error> <RequestId>8906582E-6722-409A-A6C4-0E7863B733A5</RequestId> <HostId>sgw.cn-shanghai.aliyuncs.com</HostId> <Code>GatewayInOperation</Code> <Message>The gateway is processing requests . Try again later.</Message> </Error>
JSON格式
{ "RequestId": "7463B73D-35CC-4D19-A010-6B8D65D242EF", "HostId": "sgw.cn-shanghai.aliyuncs.com", "Code": "GatewayInOperation", "Message": "The gateway is processing requests . Try again later." }