# API调用说明
# API调用说明
接口名称:
···
接口说明:
···
请求地址:
···
请求方式:
GET/POST(HTTPS)
请求类型:
Content-Type: application/json
请求头:
···
请求参数:
···
返回参数:
···
请求示例:
···
返回示例:
···
接口名称:接口的名称
接口说明:接口的详细介绍
请求地址:接口的请求地址
请求方式:标明接口调用的HTTP方法,区分GET/POST请求。所有的请求都为HTTPS协议
请求类型:发送HTTP请求时需要选择的类型
请求头:发送HTTP请求时需要放在Headers里面的参数字段
请求参数:标明请求参数示例及说明
返回参数:标明返回参数示例及说明。所有接口的返回结果里都有state、msg、msgCN、msgEN。开发者需根据state是否为0判断是否调用成功(state意义可查看全局错误码)。msg、msgCN、msgEN仅作参考,后续可能会有变动,因此不可作为是否调用成功的判据
请求示例:POST请求时,会标明需要放在Body里的参数示例。所有的请求都会标明JavaSdk的调用示例
返回示例:标明返回示例
# 以哪种方式调用API
我们支持以下两种方式调用API:
- 使用HTTP请求调用
- 使用Java SDK调用(即将开放,敬请期待)
# HTTP请求示例
1.HTTP请求需在Headers头里包含以下字段:
token:调用获取Token获得。
corp-id:详见查看权限信息。
xb-timestamp:时间戳,长整型。
xb-sign-method:加密方式,固定sha256。
xb-sign:见下文。
2.HTTP请求sign生成规则示例:
签名算法:固定sha256。
签名内容:由7部分组成,按顺序为:签名算法 + 请求类型(大写)+ accessKeyId + 时间戳(当前请求时间,长整型)+ 请求url(去掉域名及/符号)+ 请求体(get或post请求对应参数内容)+ accessKeySecret。
以获取班级清单接口为例:
- 签名算法:sha256
- 请求类型:POST
- accessKeyId:accessKeyId
- 时间戳:1595229375367
- 请求url:open-erpOpenApiGetClassList
- 请求体:{"pageIndex":1,"pageSize":2,"schoolId":13957,"beginDate":"2021-04-01","endDate":"2021-04-30"}
- accessKeySecret:accessKeySecret
根据以上内容,可拼接出加密前的字符串:
sha256POSTaccessKeyId1595229375367open-erpOpenApiGetClassList{"pageIndex":1,"pageSize":2,"schoolId":13957,"beginDate":"2021-04-01","endDate":"2021-04-30"}accessKeySecret
以sha256加密后:
7a26a679b9fe89e373804d6800d1f5b88a25e173fb587db901249db82ce26ce0
如果请求类型为POST,请求体则为body内的所有字符,需精简成json串
2.演示使用Postman请求班级清单接口:
# 关于Token持续时间
Token申请成功后,持续时间为2小时,持续时间内可重复使用。
# 关于接口调用频率限制
出于系统保护的考虑,我们对接口的调用做了频率限制。默认情况下,调用每个学校的接口都有一定的频率限制,当超过此限制时,调用对应接口会收到相应错误码。
以下是当前默认的频率限制,校宝教培管理系统后台可能会根据运营情况调整此阈值:
- 调用每个学校的接口频率不可超过20次/秒,否则返回错误码9500