# 硬件考勤


# 创建考勤机

# 接口名称 :

CreateDevices

# 接口说明 :

将硬件系统中的考勤机创建到校宝智慧校园中

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Ocp/v2/CreateDevices (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

POST

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
list 创建考勤机模型
deviceId string └ 厂商设备Id,必填,最多1000字符
name string └ 设备名称,必填,最多100字符
type integer └ 考勤机类型,必填,1表示日常考勤
state integer └ 考勤机状态,必填,1表示正常,2表示禁用,3表示删除
serialNumber string └ 设备编码,选填,最多1000字符

返回参数:

参数名 类型 说明
data array 返回数据信息
id integer └ 校宝智慧校园设备Id
deviceId string └ 厂商设备Id
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求正文:

[
  {
    "deviceId": "@string",
    "name": "@string",
    "type": 1,
    "state": 1,
    "serialNumber": "@string"
  }
]

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

OcpApi api = new OcpApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.createDevices(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": [
    {
      "id": "@integer(60, 100)",
      "deviceId": "@string"
    }
  ],
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 更新考勤机

# 接口名称 :

UpdateDevices

# 接口说明 :

更新已创建到校宝智慧校园中的考勤机信息

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Ocp/v2/UpdateDevices (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

POST

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
list 更新考勤机模型
id integer └ 校宝智慧校园设备Id,必填
deviceId string └ 厂商设备Id,必填,最多1000字符
name string └ 设备名称,必填,最多100字符
type integer └ 考勤机类型,必填,1表示日常考勤
state integer └ 考勤机状态,必填,1表示正常,2表示禁用,3表示删除
serialNumber string └ 设备编码,选填,最多1000字符

返回参数:

参数名 类型 说明
data boolean 返回数据信息
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求正文:

[
  {
    "id": "@integer(60, 100)",
    "deviceId": "@string",
    "name": "@string",
    "type": 1,
    "state": 1,
    "serialNumber": "@string"
  }
]

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

OcpApi api = new OcpApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.updateDevices(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": "@boolean",
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 删除考勤机

# 接口名称 :

DeleteDevices

# 接口说明 :

删除已创建到校宝智慧校园中的考勤机信息

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Ocp/v2/DeleteDevices (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

POST

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
req 删除考勤机模型
ids array └ 校宝智慧校园设备Ids

返回参数:

参数名 类型 说明
data boolean 返回数据信息
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求正文:

{
  "ids": [
    "@integer(60, 100)"
  ]
}

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

OcpApi api = new OcpApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.deleteDevices(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": "@boolean",
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 获取考勤机列表

# 接口名称 :

GetDeviceList

# 接口说明 :

获取已创建到校宝智慧校园中的考勤机列表

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Ocp/v2/GetDeviceList (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

GET

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

返回参数:

参数名 类型 说明
data array 返回数据信息
id integer └ 校宝智慧校园设备Id
deviceId string └ 厂商设备Id
name string └ 设备名称
type integer └ 考勤机类型,1表示日常考勤
state integer └ 考勤机状态,1表示正常,2表示禁用,3表示删除
serialNumber string └ 设备编码
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

OcpApi api = new OcpApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.getDeviceList(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": [
    {
      "id": "@integer(60, 100)",
      "deviceId": "@string",
      "name": "@string",
      "type": 1,
      "state": 1,
      "serialNumber": "@string"
    }
  ],
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 创建学生考勤机打卡记录

# 接口名称 :

CreateAttendanceData

# 接口说明 :

将学生在考勤机中的打卡记录,同步到校宝智慧校园中

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Ocp/v2/CreateAttendanceData (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

POST

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
list 学生考勤机打卡记录列表模型
studentInfoId integer └ 学生Id,必填
deviceId integer └ 校宝智慧校园设备Id,必填
inOrOut integer └ 考勤门禁进出类型,必填,1表示进门,2表示出门,3表示未知
passTime datetime └ 考勤通过时间,必填,时间格式示例:2020-01-01 00:00:00
ocpCreateAt datetime └ 一卡通流水入库时间,必填,时间格式示例:2020-01-01 00:00:00
passPhoto string └ 考勤照片url,选填

返回参数:

参数名 类型 说明
data boolean 返回数据信息
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求正文:

[
  {
    "studentInfoId": "@integer(60, 100)",
    "deviceId": "@integer(60, 100)",
    "inOrOut": 1,
    "passTime": "@datetime",
    "ocpCreateAt": "@datetime",
    "passPhoto": "@string"
  }
]

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

OcpApi api = new OcpApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.createAttendanceData(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": "@boolean",
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 获取学生请假记录(进出校用)

# 接口名称 :

GetStudentLeaveRecordList

# 接口说明 :

通过时间范围,获取允许学生进出校的请假记录

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Attendance/v2/GetStudentLeaveRecordList (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

GET

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
beginTime datetime 开始时间,必填,时间格式示例:2020-01-01 00:00:00
endTime datetime 结束时间,必填,时间格式示例:2020-01-01 00:00:00
pageIndex integer 页码,选填,如果不填,默认为1
pageSize integer 页容量,选填,如果不填,默认为1000,最大为1000

返回参数:

参数名 类型 说明
data object 返回数据信息
totalCount integer └ 总记录数
currentIndex integer └ 当前页码
itemCount integer └ 返回的记录数
list array └ 返回数据列表
leaveRecordId integer └└ 请假记录Id
studentInfoId integer └└ 学生Id
beginTime datetime └└ 请假开始时间。时间格式示例:2020-01-01 00:00:00
endTime datetime └└ 请假结束时间。时间格式示例:2020-01-01 00:00:00
reason string └└ 请假理由
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

AttendanceApi api = new AttendanceApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.getStudentLeaveRecordList(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": {
    "totalCount": "@integer(60, 100)",
    "currentIndex": "@integer(60, 100)",
    "itemCount": "@integer(60, 100)",
    "list": [
      {
        "leaveRecordId": "@integer(60, 100)",
        "studentInfoId": "@integer(60, 100)",
        "beginTime": "@datetime",
        "endTime": "@datetime",
        "reason": "@string"
      }
    ]
  },
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}

# 获取学生销假记录(进出校用)

# 接口名称 :

GetStudentCancelLeaveRecordList

# 接口说明 :

通过时间范围,获取允许学生进出校的销假记录

请求地址:

HTTP:https://openplatform-api.xiaobao100.com/open-platform/Attendance/v2/GetStudentCancelLeaveRecordList (opens new window)

Java:https://openplatform-api.xiaobao100.com (opens new window)

请求方式:

GET

请求类型:

Content-Type: application/json

请求头:

"token":"@string"
"corp-id":"@string"
"xb-timestamp":"@integer"
"xb-sign-method":"sha256"
"xb-sign":"@string"

请求参数:

参数名 是否必填 参数类型 参数描述
beginTime datetime 开始时间,必填,时间格式示例:2020-01-01 00:00:00
endTime datetime 结束时间,必填,时间格式示例:2020-01-01 00:00:00
pageIndex integer 页码,选填,如果不填,默认为1
pageSize integer 页容量,选填,如果不填,默认为1000,最大为1000

返回参数:

参数名 类型 说明
data object 返回数据信息
totalCount integer └ 总记录数
currentIndex integer └ 当前页码
itemCount integer └ 返回的记录数
list array └ 返回数据列表
leaveRecordId integer └└ 请假记录Id
studentInfoId integer └└ 学生Id
reason string └└ 销假理由
msgCN string 中文异常信息
msgEN string 英文异常信息
state integer 返回码
msg string 描述信息

请求示例(Java SDK):

TokenApi tokenApi = new TokenApi(String apiUrl);
TokenDTO dto = new TokenDTO();
dto.setAccessKeyId(String accessKeyId);
dto.setAccessKeySecret(String accessKeySecret);
String token = tokenApi.getToken(dto);

AttendanceApi api = new AttendanceApi(String apiUrl, String accesskeyId, String accessKeySecret, String token, String corpId);
api.getStudentCancelLeaveRecordList(parameter [, parameter1, parameter2...])

返回示例:

{
  "data": {
    "totalCount": "@integer(60, 100)",
    "currentIndex": "@integer(60, 100)",
    "itemCount": "@integer(60, 100)",
    "list": [
      {
        "leaveRecordId": "@integer(60, 100)",
        "studentInfoId": "@integer(60, 100)",
        "reason": "@string"
      }
    ]
  },
  "msgCN": "@string",
  "msgEN": "@string",
  "state": 0,
  "msg": "@string"
}