OpenAPI概览
目的
本文档为平台接口调用规范,为客户端及第三方开发和测试提供参考。如本文档有遗漏或者不能满足您的需求,请联系计算服务运营人员进行反馈。
接口设计
本文档定义了平台提供的OpenAPI接口,提供给用户调用。
调用机制
资源权限
本接口根据平台用户名和密码做权限设定,第三方平台需获取到授权该平台的orgId,才可正常调用API,请联系计算服务运营管理员进行授权。
第三方发起的平台用户注册申请,用户名请依据规则进行注册:第三方标识_用户名,如:xxx_test。
支持协议
接口均使用https协议进行访问,确保数据加密传输,不被用户获取。
认证机制
采用基于token的用户认证机制,用户调用接口前需要先进行登录获取token凭证,在调用其他所有接口时需要携带token凭证。
除认证授权接口,需要在其他所有接口的HTTP的请求头信息中设置字段token。
接口格式
接口定义中的URL仅为调用接口的主要标识,在实际调用中需要补全前缀和后缀。
如接口名称为GET /ac/openapi/v2/user,则实际接口格式为https://xxx.xxx.xxx/ac/openapi/v2/user
,其中xxx.xxx.xxx为服务器地址。
如接口名称为GET /jm_usermanagement/api/userquotas/queues,则实际接口格式为https://xxx.xxx.xxx/jm_usermanagement/api/userquotas/queues
,其中xxx.xxx.xxx为服务器地址。
返回结果
这里的返回结果专指在HTTP响应的状态码(Status Code)为200时的响应信息。
所有返回结果默认均使用JSON格式,接口中定义的对象都将转换为JSON格式,字符编码格式为UTF-8。HTTP响应头设置Content-Type:application/json;charset=UTF-8。
标准正确格式为:{"code":"0","msg":"success","data":Json对象或列表};
标准错误格式为:{"code":非零值,"msg":"xxx","data":""};
其中code为错误码,msg为错误信息,data为返回值,格式为JSON对象、列表或字符串,code、msg、data均不能为null。
多语化信息在客户端处理。返回结果的多语化信息根据请求头信息中的字段Accept-Language: zh-CN,zh;q=0.8,zh;q=0.6的值确定,默认返回中文。
若作业管理接口返回为:{
"msg": " token is expired",
"code": "10008",
"data": null
}
,则代表token过期或失效,请重新获取token。
错误处理
客户端首先需要判断HTTP响应的状态码(Status Code),如果为404、500等状态,则按照浏览器等常用HTTP客户端的惯例处理。
返回状态码为200时,表示服务器处理正常,此时再判断返回结果,根据具体接口的返回值中的错误码code进行处理,具体请参考各接口的错误码说明。
如果返回结果与上节描述的格式不一致,即非JSON格式,应以错误处理。如果返回结果的对象中缺少某个属性,则应以该属性的值为空串处理。