API通用约定

通用请求头

Header描述是否必须
Authorization认证信息类型:字符串Yes
Content-LengthRFC2616所定义的请求长度类型:字符串默认:无No
Content-Type文件的类型类型:字符串默认:无No
Content-MD5HTTP BODY MD5值base64编码后的值,与md5sum结果一致,无效的Content-MD5将返回错误:InvalidDegest类型:字符串示例:fbacf535f27731c9771645a39863328默认:无No
Date请求的时间戳类型:字符串,格式必须符合RFC1123的日期格式示例:Wed, 01 Mar 2012 12:00:00 GMTYes
Host请求资源的主机名,通常采用虚拟机风格描述类型:字符串示例:ncdn-eastchina1.126.netYes
x-ncdn-whitelist访问白名单信息类型:字符串(格式为:${productId} ${userName})示例:fbacf535f27731c9771645a39863328 ZhangSanNo

通用响应头

Header描述
Content-Length响应体的字节数类型:字符串
Connection到服务器的连接是否打开类型:枚举类型
Date响应的时间戳类型:字符串
Server响应的服务器名称类型: 字符串
x-ncdn-request-id唯一定位一个请求的ID号,主要用于某些情况下错误定位类型:字符串

错误码定义

错误码HTTP状态码描述
InvalidDomainId400 Bad RequestdomainId无效
InvalidPurgeId400 Bad RequestpurgeId无效
InvalidDateHeader400 Bad Request请求的Date Header无效
MissingDateHeader400 Bad Request请求的Date Header缺失
InvalidParameter400 Bad Request请求的参数无效
MissingParameter400 Bad Request请求的参数缺失
ParseRequestBodyError400 Bad Request解析请求内容错误
InvalidDomainConfig400 Bad Request加速域名配置信息错误
InvalidCacheBehaviorsConfig400 Bad Request缓存规则配置错误
InvalidVisitControlConfig400 Bad Request访问控制规则配置错误
InvalidLoggingConfig400 Bad Request日志记录配置错误
InvalidSSLConfig400 Bad RequestSSL配置错误
InvalidPurgeConfig400 Bad Request加速域名刷新规则配置错误
RequestBodyTooBig400 Bad Request请求携带内容过大
ICPNotFound400 Bad Request未找到加速域名的ICP备案信息
UnknownRequest400 Bad Request未知的请求
DisabledUser403 Forbidden用户被禁用
UserNeedBeDisabled403 Forbidden用户需要被禁用后才能继续操作
InvalidAccesskey403 ForbiddenAccesskey无效
RemoteAuthFailed403 Forbidden远程认证失败
RemoteInvalidAccesskey403 Forbidden远程认证时Accesskey无效
RemoteNoSuchUser403 Forbidden远程认证时用户不存在
RemoteParseRequestError403 Forbidden远程认证时解析请求失败
MissingAuthInfo403 Forbidden认证信息缺失
NoDomainPermission403 Forbidden没有操作该加速域名的权限
RequestTimeTooSkewed403 Forbidden请求时间戳和服务器时间戳差距过大
ExpiresTimeout403 Forbidden请求超过过期时间
NeedAdminPermission403 Forbidden当前操作需要管理员权限
ServiceNotPublic403 Forbidden当前操作需要认证
InvalidWhitelist403 Forbidden白名单信息无效
NoMoreDomainQuota403 Forbidden创建加速域名个数超过配额
UnknownError403 Forbidden未知的错误
NoSuchDomainId404 Not Found该加速域名不存在
NoSuchPurgeId404 Not Found该加速域名刷新操作不存在
DomainAlreadyDisabled409 Conflict该加速域名已经被禁用
DomainAlreadyEnabled409 Conflict该加速域名已经被启用
DomainAlreadyExist409 Conflict该加速域名已经存在
DomainIsDeleting409 Conflict该加速域名正在被删除
RemoteAuthIoError500 Internal Server Error远程认证时出现IO错误
RemoteAuthProtocalError500 Internal Server Error远程认证协议错误
RemoteUnknownError500 Internal Server Error远程认证时出现未知错误
SqlError500 Internal Server Error数据库操作错误

错误响应格式

发生错误时,服务端的响应内容如下:

HTTP/1.1 {4xx or 5xx}
Date: 2014 Jul 18 08:06:50
Content-Type: application/json;charset=utf-8
x-ncdn-request-id: ${x-ncdn-request-id}

{
    "Code": "${Code}",
    "Message": "${Message}"
}
参数描述
Code错误码类型:字符串
Message错误详细描述信息类型:字符串

文档约定

语法:接口语法描述,使用${var}的类shell语法表示变量。
请求参数:HTTP请求URL参数说明,参数列表以?开始,多个参数之间以&隔开。
请求头:HTTP Reqeust Header说明,每个接口特有的请求头在接口定义中给出。
响应头:HTTP Response Header说明。
RFC:文档中备注的RFC语义参考http://www.w3.org/Protocols/对HTTP相关RFC的解释。