API通用约定
通用请求头
Header | 描述 | 是否必须 |
Authorization | 认证信息类型:字符串 | Yes |
Content-Length | RFC2616所定义的请求长度类型:字符串默认:无 | No |
Content-Type | 文件的类型类型:字符串默认:无 | No |
Content-MD5 | HTTP BODY MD5值base64编码后的值,与md5sum结果一致,无效的Content-MD5将返回错误:InvalidDegest类型:字符串示例:fbacf535f27731c9771645a39863328默认:无 | No |
Date | 请求的时间戳类型:字符串,格式必须符合RFC1123的日期格式示例:Wed, 01 Mar 2012 12:00:00 GMT | Yes |
Host | 请求资源的主机名,通常采用虚拟机风格描述类型:字符串示例:ncdn-eastchina1.126.net | Yes |
x-ncdn-whitelist | 访问白名单信息类型:字符串(格式为:${productId} ${userName})示例:fbacf535f27731c9771645a39863328 ZhangSan | No |
通用响应头
Header | 描述 |
Content-Length | 响应体的字节数类型:字符串 |
Connection | 到服务器的连接是否打开类型:枚举类型 |
Date | 响应的时间戳类型:字符串 |
Server | 响应的服务器名称类型: 字符串 |
x-ncdn-request-id | 唯一定位一个请求的ID号,主要用于某些情况下错误定位类型:字符串 |
错误码定义
错误码 | HTTP状态码 | 描述 |
InvalidDomainId | 400 Bad Request | domainId无效 |
InvalidPurgeId | 400 Bad Request | purgeId无效 |
InvalidDateHeader | 400 Bad Request | 请求的Date Header无效 |
MissingDateHeader | 400 Bad Request | 请求的Date Header缺失 |
InvalidParameter | 400 Bad Request | 请求的参数无效 |
MissingParameter | 400 Bad Request | 请求的参数缺失 |
ParseRequestBodyError | 400 Bad Request | 解析请求内容错误 |
InvalidDomainConfig | 400 Bad Request | 加速域名配置信息错误 |
InvalidCacheBehaviorsConfig | 400 Bad Request | 缓存规则配置错误 |
InvalidVisitControlConfig | 400 Bad Request | 访问控制规则配置错误 |
InvalidLoggingConfig | 400 Bad Request | 日志记录配置错误 |
InvalidSSLConfig | 400 Bad Request | SSL配置错误 |
InvalidPurgeConfig | 400 Bad Request | 加速域名刷新规则配置错误 |
RequestBodyTooBig | 400 Bad Request | 请求携带内容过大 |
ICPNotFound | 400 Bad Request | 未找到加速域名的ICP备案信息 |
UnknownRequest | 400 Bad Request | 未知的请求 |
DisabledUser | 403 Forbidden | 用户被禁用 |
UserNeedBeDisabled | 403 Forbidden | 用户需要被禁用后才能继续操作 |
InvalidAccesskey | 403 Forbidden | Accesskey无效 |
RemoteAuthFailed | 403 Forbidden | 远程认证失败 |
RemoteInvalidAccesskey | 403 Forbidden | 远程认证时Accesskey无效 |
RemoteNoSuchUser | 403 Forbidden | 远程认证时用户不存在 |
RemoteParseRequestError | 403 Forbidden | 远程认证时解析请求失败 |
MissingAuthInfo | 403 Forbidden | 认证信息缺失 |
NoDomainPermission | 403 Forbidden | 没有操作该加速域名的权限 |
RequestTimeTooSkewed | 403 Forbidden | 请求时间戳和服务器时间戳差距过大 |
ExpiresTimeout | 403 Forbidden | 请求超过过期时间 |
NeedAdminPermission | 403 Forbidden | 当前操作需要管理员权限 |
ServiceNotPublic | 403 Forbidden | 当前操作需要认证 |
InvalidWhitelist | 403 Forbidden | 白名单信息无效 |
NoMoreDomainQuota | 403 Forbidden | 创建加速域名个数超过配额 |
UnknownError | 403 Forbidden | 未知的错误 |
NoSuchDomainId | 404 Not Found | 该加速域名不存在 |
NoSuchPurgeId | 404 Not Found | 该加速域名刷新操作不存在 |
DomainAlreadyDisabled | 409 Conflict | 该加速域名已经被禁用 |
DomainAlreadyEnabled | 409 Conflict | 该加速域名已经被启用 |
DomainAlreadyExist | 409 Conflict | 该加速域名已经存在 |
DomainIsDeleting | 409 Conflict | 该加速域名正在被删除 |
RemoteAuthIoError | 500 Internal Server Error | 远程认证时出现IO错误 |
RemoteAuthProtocalError | 500 Internal Server Error | 远程认证协议错误 |
RemoteUnknownError | 500 Internal Server Error | 远程认证时出现未知错误 |
SqlError | 500 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的解释。 |