API总述
API功能描述
名称 | 描述 |
---|---|
域名列表 | 用于查询账号里拥有的域名 |
域名查询 | 用于查询域名是否可注册 |
域名询价 | 查询域名的价格(含首年注册价、续费价、转入价) |
域名注册 | 用于购买一个未被注册的域名 |
域名注册(使用信息模板) | 用于携带模板购买一个未被注册的域名 |
域名注册(使用信息模板)(异步) | 用于携带模板异步购买一个未被注册的域名 |
域名续费 | 用于对已购买的域名进行续费 |
域名过户 | 用于对已购买的域名进行过户 |
域名过户(使用信息模板) | 使用已经通过实名认证的模板对已购买的域名进行过户 |
修改域名联系人 | 用于对已购买的域名修改联系人信息 |
设置隐私保护开关 | 用于对已购买的域名设置是否需要启用隐私保护 |
设置自定义DNS | 用于对已购买的域名进行域名解析 |
上传实名认证资料 | 对未实名认证的域名上传实名认证资料 |
查询实名认证状态 | 用于查询域名的实名认证状态 |
查询域名详情 | 用于查询已购买域名的详情信息 |
查询域名解析记录列表 | 查询某个域名的解析记录列表(带分页) |
添加域名解析记录 | 对一个已购域名添加一条解析记录 |
删除域名解析记录 | 删除一条解析记录 |
更新域名解析记录 | 更新一条解析记录(只能更新记录类型,记录内容和ttl) |
查询信息模板列表 | 查询用户拥有的信息模板,支持筛选 |
创建信息模板 | 创建新的信息模板 |
查询信息模板 | 查询指定信息模板,包含模板ID、所有者、联系人、实名认证状态等 |
修改信息模板 | 修改指定的信息模板,已经提交或通过实名认证的模板不能修改 |
删除信息模板 | 删除指定的信息模板 |
信息模板实名认证 | 信息模板提交实名认证 |
调用方式
概述
域名API的设计采用了Restful风格,每个API功能(也可以称之为资源)都使用URI(Universal Resource Identifier)来唯一确定。对资源的请求方式是通过向资源对应的URI发送标准的 HTTP 请求,比如 GET、PUT、POST等,同时,请求需要遵守签名算法,并包含约定的请求参数。
通用约定
- 所有编码都采用UTF-8。
- 日期格式采用yyyy-MM-dd方式,如2016-05-10。
- 时间格式采用UTC格式:yyyy-MM-ddTHH:mm:ssZ, 如2016-05-10T06:08:17Z。
-
Content-type为application/json; charset=UTF-8。
- object类型的key必须使用双引号(")括起来。
- object类型的key必须使用lowerCamelCase表示。
公共请求头
头域(Header) | 是否必须 | 说明 |
---|---|---|
Authorization | 必须 | 包含Access Key与请求签名 |
Host | 必须 | 包含API的域名,例如:bcd.baidubce.com |
x-bce-date | 必须 | 表示时间的字符串,符合时间格式要求 |
Content-Type | 可选 | application/json; charset=utf-8 |
x-bce-content-sha256 | 可选 | 表示内容部分的SHA256签名的十六进制字符串。这里内容指HTTP Request Payload Body。即Content部分在被HTTP encode之前的原始数据 |
说明:
公共头域将在每个建站API中出现,是必需的头域,其中x-bce-content-sha256头域只出现在POST和PUT请求中。
公共响应头
头域(Header) | 说明 |
---|---|
Content-Type | 只支持JSON格式,application/json; charset=utf-8 |
x-bce-request-id | BCD后端生成,并自动设置到响应头域中 |
响应状态码
返回的响应状态码遵循RFC 2616 section 6.1.1。
- 1xx: Informational - Request received, continuing process.
- 2xx: Success - The action was successfully received, understood, and accepted.
- 3xx: Redirection - Further action must be taken in order to complete the request.
- 4xx: Client Error - The request contains bad syntax or cannot be fulfilled.
- 5xx: Server Error - The server failed to fulfill an apparently valid request.
通用错误返回格式
当调用接口出错时,将返回通用的错误格式。Http的返回状态码为4xx或5xx,返回的消息体将包括全局唯一的请求、错误代码以及错误信息。调用方可根据错误码以及错误信息定位问题,当无法定位到错误原因时,可以发工单联系百度技术人员,并提供requestid以便于快速地帮助您解决问题。
消息体定义
参数名 | 类型 | 说明 |
---|---|---|
requestId | String | 请求的唯一标识 |
code | String | 错误类型代码 |
message | String | 错误的信息说明 |
错误返回示例
{
"requestId": "47e0ef1a-9bf2-11e1-9279-0100e8cf109a",
"code":"MoneyNotEnough",
"message":"Money not enough to complete the current request"
}
公共错误码
Code | Message | HTTP Status Code | 说明 |
---|---|---|---|
AccessForbidden | The resource which you accessed is forbidden. | 403 | 目前该API是基于白名单授权的,您的BCE账号未被加入白名单,请通过工单联系我们将您的账号加入白名单 |
BceValidationException | [param]:[param]=[Validation criteria] | 400 | 无效的[param]参数 |
MoneyNotEnough | Money not enough to complete the current request | 400 | 余额不足以完成当前的请求操作 |
SignatureDoesNotMatch | The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. Consult the service documentation for details | 400 | Authorization头域中附带的签名和服务端验证不一致 |
InvalidAccessKeyId | The Access Key ID you provided does not exist in our records | 403 | Access Key ID不存在 |
ServiceInternalError | Service internal error occurred | 500 | 内部服务发生错误 |
签名认证
域名API会对每个访问的请求进行身份认证,以保障用户的安全。安全认证采用Access Key与请求签名机制。Access Key由Access Key ID和Secret Access Key组成,均为字符串,由百度智能云官方颁发给用户。其中Access Key ID用于标识用户身份,Access Key Secret 是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。
对于每个HTTP请求,用户需要使用下文所描述的方式生成一个签名字符串,并将认证字符串放在HTTP请求的Authorization头域里。
签名字符串格式
bce-auth-v{version}/{accessKeyId}/{timestamp}/{expireTime}/{signedHeaders}/{signature}
其中:
- version是正整数,目前取值为1。
- timestamp是生成签名时的时间。时间格式符合通用约定
- expireTime表示签名有效期限,单位为秒,从timestamp所指定的时间开始计算。
- signedHeaders是签名算法中涉及到的头域列表。头域名字之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。当signedHeaders为空时表示取默认值。
- signature是256位签名的十六进制表示,由64个小写字母组成,生成方式由如下签名生成算法给出。
签名生成算法
有关签名生成算法的具体介绍,请参看鉴权认证机制。