接口调用说明
## 1、数据同步接口
> 数据同步指数据要保证数据的完整性和逻辑性,双方系统的数据需保持一致的数据,例如人员信息、卡号、部门、班级等。
>
> 数据同步接口,由对接方调用乐陪方的全量同步接口,且全量数据推送完成后,乐陪方自动开启增量同步推送。
> **++注意:必须全量同步一次后,才会开启增量同步推送。++**
>
> <span style="color:red;">增量数据推送过程中,如对接方返回异常、超过5s、非正常code,均会记录推送失败,此时数据转存为待补发状态。</span>
>
> 补发数据可由对接方主动调用接口,乐陪方将待补发数据主动推送给对接方。
>
> 数据在推送过程,数据为顺序发送,也就是下一个请求的推送等待上一次请求返回结果后才会推送。
>
> ++同步接口数据,会按照定义好的模块顺序发送数据。如果数据模块存在关联,不建议使用物理主外键,使用逻辑外键。主外键关联数据请注意处理逻辑。++
### 1.1 接口地址前缀
**测试接口地址**
``` http
http://work.lepayedu.com:28002/jcpt-inter
```
**生产接口地址**
``` http
待补
```
### 1.2 全量同步接口
> 全量同步接口,由对接方主动调用(通知系统发送数据)后,由乐陪方主动推送数据,数据量按100条/批次推送。批次推送过程中返回结果异常,批次数据将转存为待补发状态。获取补发数据时推送数据最大为100条。
> 接口调用有时间间隔限制,5分钟请求一次。
**接口地址**
``` http
/api/third/gbinter/postFullSync
```
**请求方式**
> POST请求,Content-Type: application/json
**请求参数JSON对象**
| 字段名称 | 字段类型 | 是否必传| 字段描述 |
| ----------- | -------- | --------| ---------------------------------- |
| timestamp | int |是 | 时间戳(秒) |
| schoolId | string |是 | 乐陪的学校ID |
| appId | string |是 | 乐陪的APPID |
| encryptData | string |是 | 加密数据(AES-256-CBC后base64编码) |
***解密后的encryptData对象数据格式***
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
| -----------| ---------- | -------- | ---------------------------------- |
| timestamp | int |是 | 时间戳(秒) |
| schoolId | string |是 | 乐陪的学校ID |
| appId | string |是 | 乐陪的APPID |
| dataModel | array |否 | 模块名,不传则全量同步所有模块数据 |
**响应参数**
```json
{
"code":200,
"message":"success"
}
说明:正常情况下返回的成功json串,code为200即成功,非200即失败。
```
### 1.3 数据补发接口
> 通过全量接口产生的待补发数据,最大记录数100条,一次推送最大100条数据。
> 增量数据在发送过程中,返回结果异常,数据条数一般为1条,一次推送一条数据。
> 通过补发接口通知乐陪系统补发数据,会按补发数据产生的时间顺序,按推送次数顺序推送。推送中再次返回结果异常,不会累积,但是下次继续补发会继续推送。
> 接口调用有时间间隔限制,5分钟请求一次。
**接口地址**
``` http
/api/third/gbinter/postSupplementSync
```
**请求方式**
> POST请求,Content-Type: application/json
**请求参数JSON对象**
| 字段名称 | 字段类型 | 是否必传| 字段描述 |
| ----------- | -------- | --------| ---------------------------------- |
| timestamp | int |是 | 时间戳(秒) |
| schoolId | string |是 | 乐陪的学校ID |
| appId | string |是 | 乐陪的APPID |
| encryptData | string |是 | 加密数据(AES-256-CBC后base64编码) |
***加密的encryptData对象数据格式***
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
| -----------| ---------- | -------- | ---------------------------------- |
| timestamp | int |是 | 时间戳(秒) |
| schoolId | string |是 | 乐陪的学校ID |
| appId | string |是 | 乐陪的APPID |
| dataModel | array |否 | 模块名,不传则补发所有异常推送的模块数据 |
**响应参数**
```json
{
"code":200,
"message":"success"
}
说明:正常情况下返回的成功json串,code为200即成功,非200即失败。
```
## 2、非数据同步接口
> 非数据同步指不需要保证数据完整性与一致性,由乐陪方推送给对接方,无补发机制,例如门禁记录、消费记录等。
>
> 此类型接口数据由乐陪配置授权后,即可及时产生推送