调用方式

最近更新时间:2020-11-02 14:33:29

一、请求结构

客户调用金山云账单的OpenAPI接口是通过向指定服务地址发送请求,并按照OpenAPI文档说明在请求中添加相应的公共参数和接口参数来完成的。

账单OpenAPI的请求结构组成如下:

  1. 服务地址

    接入地址为:bill-union.api.ksyun.com

  2. 通信协议

    支持通过 HTTP 或 HTTPS 两种方式进行请求通信,推荐使用安全性更高的 HTTPS方式发送请求。

  3. 请求方法

    支持GET请求方式。

    注意

    • 请求方式是GET,需要对所有请求参数做URL编码

二、公共参数

  • 参数说明 公共请求参数是每个账单服务都需要使用到的请求参数。
名称 类型 是否必须参数 长度限制(字符) 参数格式 描述
Action String 不确定 [a-zA-Z]+ 操作接口名,与调用的具体openAPI相关
Version String 10字符 YYYY-MM-DD 接口版本号,版本号不同接口支持的参数和返回值可能不同,账单服务接口当前只支持一个版本,即2019-07-19
X-Amz-Algorithm String 16字符 AWS4-HMAC-SHA256 签名算法,目前只支持一种,即HMAC-SHA256
X-Amz-Credential String 不确定 AccessKeyId/YYYYMMDD/region/service/AWS4_request 信任状信息,包括访问密钥ID,日期,region名称和服务名称以及结尾字符串AWS4_request
X-Amz-Date String 否(用于覆盖信任状或者date header中的日期) 16字符 ISO 8601 基本格式 YYYYMMDD'T'HHMMSS'Z',如20151101T120000Z 签名日期
X-Amz-Signature String 64字符 16进制编码表示 请求签名值
X-Amz-SignedHeaders String 不确定 [a-zA-Z0-9-;]+ 需要在签名计算中包含的请求header
https://krtpay.api.ksyun.com?Action= DescribeBillDetail&Version=2019-07-19
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=xxxx
&X-Amz-Date=20180608T064016Z
&X-Amz-SignedHeaders=host
&X-Amz-Signature=479586da3ce3eb6ab9d7d3b4d03aeae1ac1634d4

三、返回结果

调用金山云的openAPI服务,调用成功,返回的HTTP状态码(Status)为200;调用失败,返回4xx 或5xx的HTTP状态码(Status)。

金山云账单调用返回的数据格式支持xmljson两种,默认返回xml格式,可通过设置HTTP Header Accept=application/json来改变返回数据格式。

调用成功

  • xml格式示例
<!--结果的根结点-->
<接口名称+Response>
    <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
    <!--返回结果数据-->
</接口名称+Response>
  • json格式示例
{
    "RequestId": "4C467B38-3910-447D-87BC-AC049166F216"
    /*返回结果数据*/
}

调用失败

调用接口失败,不会返回结果数据;HTTP请求返回一个4xx或5xx的HTTP状态码,返回的HTTP消息体中包含具体的错误代码(code)及错误信息(message);与调用成功一样还包含请求ID(RequestId),在调用方找不到错误原因时,可以联系金山云客服,并提供RequestId,以便我们尽快帮您解决问题。

  • xml格式示例
<!--结果的根结点-->
<ErrorResponse> 
    <RequestId>e1eac1b3-1f35-44ba-abd4-7c4b7a9859f3</RequestId>
    <!--返回具体错误消息-->
    <Error>
        <!--错误来源,可省略-->
        <Type>Sender</Type>
        <!--错误代码-->
        <Code>InvalidParameterValue</Code>
        <!--错误消息-->
        <Message>An invalid or out-of-range value was supplied for the input parameter PathPrefix.</Message>
    </Error>
<ErrorResponse>
  • json格式示例
{    
    "RequestId": "68093a99-2f63-4f39-8f70-3047ab8ecb5b",
    "Error": {
        "Code": "InvalidParameterValue",
        "Message": "An invalid or out-of-range value was supplied for the input parameter PathPrefix."    
    }
}

公共错误

四、密钥

客户调用金山云的OpenAPI接口,需要对应的AccessKey和SecretKey

密钥

用户登录控制台,在左侧导航栏选择身份与管理,进入设置—AK密匙管理页面,选择新建密钥或使用已存在的密钥。请妥善管理自己的密钥信息,避免泄露

金山云,开启您的云计算之旅

免费注册