全部产品

调用方式

更新时间:2017-06-07 13:26:11

对 API 网关 API 接口调用是通过向 API 网关 API 的服务端地址发送HTTP GET请求,并按照接口说明在请求中加入相应请求参数来完成的;根据请求的处理情况,系统会返回处理结果。

请求结构

服务地址

API网关 API的服务接入地址为:apigateway.[RegionId].aliyuncs.com.

如:apigateway.cn-hangzhou.aliyuncs.com

通信协议

支持通过HTTP或HTTPS通道进行请求通信。为了获得更高的安全性,推荐您使用HTTPS通道发送请求。

请求方法

支持HTTP GET方法发送请求,这种方式下请求参数需要包含在请求的URL中。

请求参数

每个请求都需要指定要执行的操作,即Action参数(例如CreateApi),以及每个操作都需要包含的公共请求参数和指定操作所特有的请求参数。

字符编码

请求及返回结果都使用UTF-8字符集进行编码。

公共参数

公共请求参数

公共请求参数是指每个接口都需要使用到的请求参数。

名称 类型 是否必填 描述
Format String 返回值的类型,支持JSON与XML。默认为XML
Version String API版本号,为日期形式:YYYY-MM-DD,本版本对应为2016-07-14
AccessKeyId String 阿里云颁发给用户的访问服务所用的密钥ID
Signature String 签名结果串,关于签名的计算方法,请参见签名机制。
SignatureMethod String 签名方式,目前支持HMAC-SHA1
TimeStamp String 请求的时间戳。日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。例如,2014-11-11T12:00:00Z(为北京时间2014年11月11日20点0分0秒)
SignatureVersion String 签名算法版本,目前版本是1.0
SignatureNonce String 唯一随机数,用于防止网络重放攻击。用户在不同请求间要使用不同的随机数值

请求示例:

  1. https://apigateway.cn-hangzhou.aliyuncs.com/?Format=xml
  2. &Version=2016-07-14
  3. &Signature=Pc5WB8gokVn0xfeu%2FZV%2BiNM1dgI%3D
  4. &SignatureMethod=HMACSHA1
  5. &SignatureNonce=15215528852396
  6. &SignatureVersion=1.0
  7. &AccessKeyId=key-test
  8. &TimeStamp=2016-08-08T08:00:00Z

公共返回参数

用户发送的每次接口调用请求,无论成功与否,系统都会返回一个唯一识别码RequestId给用户。

XML返回示例:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!—结果的根结点-->
  3. <接口名称+Response>
  4. <!—返回请求标签-->
  5. <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
  6. <!—返回结果数据-->
  7. </接口名称+Response>

JSON返回示例:

  1. {
  2. "RequestId": "4C467B38-3910-447D-87BC-AC049166F216",
  3. /* 返回结果数据 */
  4. }

返回结果

调用API服务后返回数据采用统一格式,返回的HTTP状态码为2xx,代表调用成功。返回4xx或5xx的HTTP状态码代表调用失败。

调用成功返回的数据格式主要有XML和JSON两种,外部系统可以在请求时传入参数来制定返回的数据格式,默认为XML格式。

本文档中的返回示例为了便于用户查看,做了格式化处理,实际返回结果是没有进行换行、缩进等处理的。

成功结果

XML返回示例:

(XML返回结果包括请求是否成功信息和具体的业务数据)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!—结果的根结点-->
  3. <接口名称+Response>
  4. <!—返回请求标签-->
  5. <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
  6. <!—返回结果数据-->
  7. </接口名称+Response>

JSON示例:

  1. {
  2. "RequestId": "4C467B38-3910-447D-87BC-AC049166F216",
  3. /* 返回结果数据 */
  4. }

错误结果

调用接口出错后,将不会返回结果数据。调用方可根据附表<错误查询表>来定位错误原因。

当调用出错时,HTTP请求返回一个4xx或5xx的HTTP状态码。返回的消息体中是具体的错误代码及错误信息。另外还包含一个全局唯一的请求ID:RequestId和一个您该次请求访问的站点ID:HostId。在调用方找不到错误原因时,可以联系阿里云客服,并提供该HostId和RequestId,以便我们尽快帮您解决问题。

XML示例:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Error>
  3. <RequestId>8906582E-6722-409A-A6C4-0E7863B733A5</RequestId>
  4. <HostId>apigateway.cn-hangzhou.aliyuncs.com</HostId>
  5. <Code>InternalError</Code>
  6. <Message>The request processing has failed due to some unknown error.</Message>
  7. </Error>

JSON示例:

  1. {
  2. "RequestId": "8906582E-6722-409A-A6C4-0E7863B733A5",
  3. "HostId": "apigateway.cn-hangzhou.aliyuncs.com",
  4. "Code": "InternalError",
  5. "Message": "The request processing has failed due to some unknown error."
  6. }