SEIUE Open APIs (3.0)

Download OpenAPI specification:Download

接口调用约定同旧版文档 。 希悦统一采用 OAuth 授权协议,授权所需 ClientId 和 ClientSecret 以及 SchoolID 可以向希悦的工作人员索要,并请稳妥保管。 除了授权相关 API,所有的接口都必须指定学校,需要通过 X-School-Id HTTP 头来传递当前学校 ID。

Calendar

空间日程

Authorizations:
日程
path Parameters
id
required
integer

此处 ID 为 place_id

query Parameters
start_time
required
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

日程开始时间

end_time
required
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

日程结束时间

expand
string

扩展:address - 日程地址 | initiators - 日程事件发起人

Responses

Response samples

Content type
application/json
[
  • {
    }
]

用户日程

Authorizations:
日程
path Parameters
id
required
integer

此处 ID 为 place_id

query Parameters
start_time
required
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

日程开始时间

end_time
required
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

日程结束时间

expand
string

扩展:address - 日程地址 | initiators - 日程事件发起人

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Card

用户绑定校园卡接口

该接口需要 card.bindcard.write 的权限

Authorizations:
电子班牌电子班牌
Request Body schema: application/json
username
required
string (用户账号)
password
required
string (用户密码)
card_id
required
string (校园卡号)
rid
integer (用户身份 ID,即 reflection_id)

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "card_id": "string",
  • "rid": 0
}

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "reflection_id": 0,
  • "card_id": "string",
  • "status": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "reflection": {
    },
  • "id": 0
}

读取卡片显示学生资料

该接口需要 card.read 的权限

Authorizations:
电子班牌
path Parameters
id
required
string

此处 ID,是 card_id

Responses

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "reflection_id": 0,
  • "card_id": "string",
  • "status": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "reflection": {
    },
  • "id": 0
}

CustomGroup

获取群组列表

该接口需要 custom_group.read 的 Scope 权限。

Authorizations:
自定义群组
query Parameters
id_in
string
type
string

群组类型, 对应 CustomGroupType.machine_name

member_id
integer
member_id_in
string
status
string (GroupStatusEnum)
Enum: "normal" "archived" "leaved" "draft"
name
string
with_trashed
boolean

是否包含软删除的群组

updated_at_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

格式:yyyy-mm-dd hh:mm:ss

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
expand
string

支持:

  • members: 群组成员
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取群组类型

该接口需要 custom_group.read 的 Scope 权限。

Authorizations:
自定义群组
query Parameters
id_in
string
is_custom
boolean
machine_name
string

群组类型的标志

expand
string

支持

  • roles: 改类型群组的角色定义

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Place

根据学校获取物联设备列表

该接口需要 place.read 的权限。

Authorizations:
场地
query Parameters
name_like
string

名称检索

place_id_in
string

空间ID检索

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

根据学校获取空间列表

该接口需要 place.read 的权限。

Authorizations:
场地
query Parameters
expand
string

获取关联数据,支持 building 和 category

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Message

对外开放的写消息接口

该接口需要 message.send 的权限。

Class SendMessageApi

Authorizations:
消息
Request Body schema: application/json
title
required
string (消息标题)
content
required
string (消息内容)
receiver_ids
required
Array of integers (接受人ID)
type
required
string (事件类型)
url
string (跳转url)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "content": "string",
  • "receiver_ids": [
    ],
  • "type": "string",
  • "url": "string"
}

Response samples

Content type
application/json
"string"

Netdisk

创建文件 meta 信息

scope: netdisk.write

Authorizations:
网盘
Request Body schema: application/json
netdisk_owner_id
required
integer (如果是附件上传(非网盘业务),该值传 0)
parent_id
integer (父节点 id ,如为根节点或附件上传,为 0 ,默认为 0)
is_dir
boolean
name
required
string
path
string (默认为 / (根目录))
type
string (NetdiskFileTypeEnum)
Enum: "doc" "photo" "audio" "video" "slide" "sheet" "other"
mime
required
string
size
required
integer
hash
string (文件哈希(md5),由前端根据文件内容计算给出)
status
string (NetdiskFileStatusEnum)
Enum: "uploading" "normal" "trashed"

Responses

Request samples

Content type
application/json
{
  • "netdisk_owner_id": 0,
  • "parent_id": 0,
  • "is_dir": true,
  • "name": "string",
  • "path": "string",
  • "type": "doc",
  • "mime": "string",
  • "size": 0,
  • "hash": "string",
  • "status": "uploading"
}

Response samples

Content type
application/json
{
  • "netdisk_owner_id": 0,
  • "parent_id": 0,
  • "is_dir": true,
  • "name": "string",
  • "path": "string",
  • "type": "doc",
  • "mime": "string",
  • "size": 0,
  • "hash": "string",
  • "creator_rid": 0,
  • "creator_uid": 0,
  • "share_sum": 0,
  • "download_sum": 0,
  • "status": "uploading",
  • "id": 0,
  • "school_id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

获取指定文件的上传 policy

scope: netdisk.write

Authorizations:
网盘
path Parameters
id
required
integer

文件 ID

Responses

Response samples

Content type
application/json
{
  • "access_key_id": "string",
  • "expire": "string",
  • "callback_url": "string",
  • "callback": "string",
  • "host": "string",
  • "object_key": "string",
  • "policy": "string",
  • "signature": "string"
}

获取文件下载地址或直接下载文件

scope:

  • 当获取网盘文件时为 netdisk.write
  • 当获取附件时不需要权限
Authorizations:
网盘
path Parameters
id
required
string

如果是网盘文件,该值为 NetdiskFile.id ;如果为附件文件(如任务附件),该值为 NetdiskFile.hash

query Parameters
redirect
boolean

重定向,自动下载文件,默认为是。否为获取下载地址

download
boolean

下载模式,默认为否(表示在线预览)

processor
string

文件处理器,目前仅支持图片处理。使用 - 连接处理器与相关参数,使用 _ 连接多个处理器。 quality-Q-80 zoom-fill-h-200-w-100 avatar-100-100 quality-Q-80_zoom-fill-h-200-w-100

Responses

Response samples

Content type
application/json
"string"

OAuth

根据 OAuth AccessToken 获取用户信息

对于多身份用户, 需要通过 X-Reflection-Id 传递用户 ID 以便能够获取正确的用户信息,其值可以通过 passport 跳转的回调地址中的 active_reflection_id 参数取到。

query Parameters
expand
string

expand 扩展字段,请按需加载资源;graduates_in 代表届别,grade 代表年级。

?expand=graduates_in,grade

Responses

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "name": "string",
  • "role": "teacher",
  • "department_names": [
    ],
  • "pinyin": "string",
  • "gender": { },
  • "user_id": 0,
  • "usin": "string",
  • "ename": "string",
  • "email": "string",
  • "phone": "string",
  • "idcard": "string",
  • "photo": "string",
  • "status": "normal",
  • "archived_type_id": 0,
  • "archived_type": { },
  • "outer_id": "string",
  • "deleted_at": "string",
  • "id": 0
}

根据 OAuth AccessToken 获取用户角色信息

query Parameters
expand
string

expand 扩展字段,请按需加载资源;permissions 代表角色授权信息;relations 代表角色可管理的各组特定资源。

?expand=relations,permissions

Responses

Response samples

Content type
application/json
[
  • {
    }
]

申请 OAuth AccessToken

请求时 需添加请求头(Header) Content-Type:application/json

Request Body schema: application/json
grant_type
required
string (授权类型,目前支持 password, client_credentials, refresh_token, seiue:phone_code, seiue:auth_ticket)
client_id
required
string (OAuth 应用 client_id)
client_secret
required
string (OAuth 应用 client_id 对应的密钥)
username
string (password 授权类型时使用的用户名)
password
string (password 授权类型时使用的用户密码)
refresh_token
string (refresh_token 授权类型时使用的 token)
scope
string (指定 access token 需要的权限 scope,多个空格分隔。)

为了访问特定学校的数据,需要指定 school.<school_id> 的 scope,以获得访问该学校数据的权限。

其他具体 scope 的值见具体 API 的说明。

Responses

Request samples

Content type
application/json
{
  • "grant_type": "string",
  • "client_id": "string",
  • "client_secret": "string",
  • "username": "string",
  • "password": "string",
  • "refresh_token": "string",
  • "scope": "string"
}

Response samples

Content type
application/json
{
  • "token_type": "string",
  • "expires_in": 0,
  • "access_token": "string",
  • "refresh_token": "string"
}

Permission

列出用户拥有的所有权限组和权限

权限组可关联资源类型和资源 id

Authorizations:
权限
path Parameters
rid
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取有指定权限用户 ids

Authorizations:
权限
path Parameters
perm
required
string
query Parameters
resource_type
string (PermissionGroupResourceTypeEnum)
Enum: "reflection" "admin_class" "class"

指定资源类型

resource_id_in
string

指定资源的 ids ,多个用逗号分隔,且关系。如多个用户 id ,3001,3002

Responses

Response samples

Content type
application/json
[
  • 0
]

Reflection

验证用户密码

该接口需要 reflection.password 的 Scope 权限访问,每个账号 10 分钟内,只有三次失败机会。

Authorizations:
用户
Request Body schema: application/json
identity
required
string (账号或绑定的手机号)
password
required
string (待验证的密码)

Responses

Request samples

Content type
application/json
{
  • "identity": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "name": "string",
  • "role": "teacher",
  • "department_names": [
    ],
  • "pinyin": "string",
  • "gender": { },
  • "user_id": 0,
  • "usin": "string",
  • "ename": "string",
  • "email": "string",
  • "phone": "string",
  • "idcard": "string",
  • "photo": "string",
  • "status": "normal",
  • "archived_type_id": 0,
  • "archived_type": { },
  • "outer_id": "string",
  • "deleted_at": "string",
  • "id": 0
}

创建单个用户 - 本接口需要 `reflection.write_all` 的 Scope 权限访问 - 如果 account 账户已存在 将报 422 错误

Authorizations:
用户
Request Body schema: application/json
school_id
integer (学校 ID)
name
required
string (姓名)
account
required
string (账号)
role
required
string (RoleEnum)
Enum: "teacher" "guardian" "staff" "student" "shadow"
pinyin
string (姓名拼音)
性别:男 - m | 女 - f (null) or GenderEnum (string) (性别:男 - m | 女 - f)
user_id
integer or null (所属用户 ID)
usin
string or null (学工号)
ename
string or null (英文名称)
email
string or null (电子邮箱)
phone
string or null (手机号码)
idcard
string or null (身份证号)
photo
string or null (头像)
状态:正常 - normal | 归档 - archived (null) or StatusEnum (string) (状态:正常 - normal | 归档 - archived)
archived_type_id
integer or null (归档类型 ID)
归档类型 (null) or Term (object) (归档类型)
outer_id
required
string (关联的外部系统数据的 ID)
password
string or null (用户密码)

Responses

Request samples

Content type
application/json
{
  • "school_id": 0,
  • "name": "string",
  • "account": "string",
  • "role": "teacher",
  • "pinyin": "string",
  • "gender": { },
  • "user_id": 0,
  • "usin": "string",
  • "ename": "string",
  • "email": "string",
  • "phone": "string",
  • "idcard": "string",
  • "photo": "string",
  • "status": { },
  • "archived_type_id": 0,
  • "archived_type": { },
  • "outer_id": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "name": "string",
  • "role": "teacher",
  • "department_names": [
    ],
  • "pinyin": "string",
  • "gender": { },
  • "user_id": 0,
  • "usin": "string",
  • "ename": "string",
  • "email": "string",
  • "phone": "string",
  • "idcard": "string",
  • "photo": "string",
  • "status": "normal",
  • "archived_type_id": 0,
  • "archived_type": { },
  • "outer_id": "string",
  • "deleted_at": "string",
  • "id": 0
}

用户身份 - 获取用户数据

该接口需要 reflection.read_basicreflection.read_all 的 Scope 权限访问。前者能够访问基础字段,后者能够访问所有字段。

Authorizations:
用户用户
query Parameters
expand
string

扩展信息,多个用逗号隔开, 支持: archived_type:归档信息

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

sort
string

排序字段, 如果想降序排序,需要在字段前加-, 例如 按id升序 id, id降序降序-id

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新人员身份信息, 可用于实现增量更新。 格式:yyyy-mm-dd hh:mm:ss

with_trashed
boolean

是否包含软删除的记录

Responses

Response samples

Content type
application/json
[
  • {
    }
]

删除单个用户 - 本接口需要 `reflection.write_all` 的 Scope 权限访问

Authorizations:
用户
path Parameters
id
required
integer

Responses

用户身份 - 获取校外人员信息

该接口需要 staff.read_basicstaff.read_all 的 Scope 权限访问。前者能够访问基础字段,后者能够访问所有字段。

Authorizations:
用户用户
query Parameters
expand
string

扩展信息,多个用逗号隔开, 支持: archived_type:归档信息

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

sort
string

排序字段, 如果想降序排序,需要在字段前加-, 例如 按id升序 id, id降序降序-id

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新人员身份信息, 可用于实现增量更新。 格式:yyyy-mm-dd hh:mm:ss

with_trashed
boolean

是否包含软删除的记录

Responses

Response samples

Content type
application/json
[
  • {
    }
]

用户身份 - 获取学生数据

该接口需要 student.read_basicstudent.read_all 的 Scope 权限访问。前者能够访问基础字段,后者能够访问所有字段。

Authorizations:
用户用户
query Parameters
id_in
string
name_in
string

根据学生姓名检索,多个检索用逗号隔,

name_like
string
keyword_identity
string

学科检索

expand
string

扩展信息,多个用逗号隔开, 支持: graduates_in:界别信息, grade:年级信息, archived_type:归档信息

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

sort
string

排序字段, 如果想降序排序,需要在字段前加-, 例如 按id升序 id, id降序降序-id

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新人员身份信息, 可用于实现增量更新。 格式:yyyy-mm-dd hh:mm:ss

with_trashed
boolean

是否包含软删除的记录

Responses

Response samples

Content type
application/json
[
  • {
    }
]

用户身份 - 获取教师数据

该接口需要 teacher.read_basicteacher.read_all 的 Scope 权限访问。前者能够访问基础字段,后者能够访问所有字段。

Authorizations:
用户用户
query Parameters
id_in
string
discipline_id_in
string

根据学科ID检索

name_in
string
name_like
string
keyword_identity
string

教师学工号、学科 检索

expand
string

扩展信息,多个用逗号隔开, 支持: discipline:学科, archived_type:归档信息 department_names:部门名称

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

sort
string

排序字段, 如果想降序排序,需要在字段前加-, 例如 按id升序 id, id降序降序-id

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新人员身份信息, 可用于实现增量更新。 格式:yyyy-mm-dd hh:mm:ss

with_trashed
boolean

是否包含软删除的记录

Responses

Response samples

Content type
application/json
[
  • {
    }
]

批量归档用户

如果归档的是学生,则家长也会自动被归档

Authorizations:
用户
path Parameters
role
required
string (RoleEnum)
Enum: "teacher" "guardian" "staff" "student" "shadow"

仅 student, teacher, staff 可用

Request Body schema: application/json
Array
id
required
integer (被归档的 reflection id)
archived_type_id
required
integer (归档类型 ID ,由 term 提供 根据不同的用户类型,选择不同类型的归档 term - student.archived_type - teacher.archived_type - staff.archived_type)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

System

获取学校列表

当前接口无需验证。

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取学期列表

该接口需要 semester.read 的权限。

Authorizations:
学期
query Parameters
id_in
string

学期Id

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

expand
string

支持 expand:

1 . academic_year 学年 2 . category 分类 3 . is_current 是否当前学期

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取一些基础的 terms,比如 学期分类,属性,科目,领域

该接口需要 term.read 的权限。

Authorizations:
词汇
path Parameters
type
required
string (TermTypeEnum)
Enum: "course.attribute" "course.subject" "class.tag" "course.domain" "system.school_structure" "guardian.role" "system.graduates_in" "system.academic_year" "system.graduates_in" "system.school_structure" "system.semester_category" "teacher.discipline" "reporting.report_category" "place.building"
query Parameters
name
string

按名称筛选

parent_id
integer

父节点

archived_at_is_empty
boolean

筛选未归档的

archived_at_is_not_empty
boolean

筛选已归档的

sort
string

排序字段,多个字段逗号分隔 -created_at,updated_at

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Task

批改作业

scope: task.write

Authorizations:
任务
path Parameters
assignee_id
required
integer

学生 ID

task_id
required
integer

任务 ID

query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
result
required
string (TaskReviewResultEnum)
Enum: "approved" "rejected"
reason
required
string (理由)
content
string (评论内容)
Array of objects (附件)
do_evaluation
boolean (参与评价/暂不评价)
is_submission_changed
boolean (是否批改了作业成果)
receiver_id
integer (接收者id(学生rid))
reviewer_id
integer (批阅人 id ,默认为任务创建人)
is_excellent_submission
boolean (是否设为优秀作业)

Responses

Request samples

Content type
application/json
{
  • "result": "approved",
  • "reason": "string",
  • "content": "string",
  • "attachments": [
    ],
  • "do_evaluation": true,
  • "is_submission_changed": true,
  • "receiver_id": 0,
  • "reviewer_id": 0,
  • "is_excellent_submission": true
}

Response samples

Content type
application/json
{
  • "receiver_id": 0,
  • "reviewer_id": 0,
  • "submission_id": 0,
  • "submission": { },
  • "content_text": "string",
  • "result": "approved",
  • "reason": "string",
  • "content": "string",
  • "attachments": [
    ],
  • "do_evaluation": true,
  • "is_submission_changed": true,
  • "is_excellent_submission": true,
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

提交任务

scope: task.write

Authorizations:
任务
path Parameters
assignee_id
required
string

学生 rid 或 学工号 usin 如果学工号格式是纯数字,需要加 usin: 前缀区分

task_id
required
integer

任务 ID

query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
content
required
string (内容)
Array of objects (附件)
状态 (null) or SubmissionStatusEnum (string) (状态)
附件批阅 - 教师创建附件批阅后才有数据 (null) or Array of 附件批阅 - 教师创建附件批阅后才有数据 (objects) (附件批阅 - 教师创建附件批阅后才有数据)

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "attachments": [
    ],
  • "status": { },
  • "reviewed_attachments": { }
}

Response samples

Content type
application/json
{
  • "submitter_id": 0,
  • "content_text": "string",
  • "content": "string",
  • "attachments": [
    ],
  • "status": { },
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

创建任务

scope: task.write

Authorizations:
任务
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
enhancer
string (TaskEnhancerEnum)
Enum: "seiue.personal_task" "seiue.class_activity_task" "seiue.class_homework_task" "seiue.class_document_task" "seiue.class_website_task" "seiue.class_questionnaire_task" "seiue.class_quiz_task" "seiue.class_live_task" "seiue.class_discuz_task" "seiue.chat_task"
class_id
integer (课程班 ID)
all_joined
boolean (业务内的全员参与)
domain
string or null (业务域)
domain_biz_id
integer or null (业务ID(如:group.id))
title
string (任务标题)
content
string (任务内容)
allow_overdue_submit
boolean (允许逾期提交,默认为不允许(false))
submit_enabled
boolean (开启成果提交,默认为开启(true))
expired_at
string or null <timestamp> (过期时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
is_team_work
boolean (是否为团队任务,默认为否(false))
Array of objects (Attachment)
Array of objects (任务执行人,与 all_joined 互斥。all_joined 优先)
is_force_publish
boolean (是否强制发布)
prev_id
integer (前序任务ID)
biz_id
integer or null (关联业务ID(过评等))
expected_take_minites
integer or null (预计用时(以分为单位))
任务状态 (null) or TaskStatusEnum (string) (任务状态)
published_at
string or null <timestamp> (发布时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
outline_id
integer (分类(大纲)ID)
weight
integer (权重)
is_public_submission
boolean (是否公开成果)
类型,用于标志业务类型,比如: seiue.personal_task, seiue.personal_group, seiue.mentor_role (null) or EnhancerEnum (string) (类型,用于标志业务类型,比如: seiue.personal_task, seiue.personal_group, seiue.mentor_role)
admin
string (AdminLabelEnum)
Enum: "yes" "no"
module_admin
string (AdminLabelEnum)
Enum: "yes" "no"
task_id
integer (常用Id)
talk_id
integer
review_id
integer
exam_id
integer

Responses

Request samples

Content type
application/json
{
  • "enhancer": "seiue.personal_task",
  • "class_id": 0,
  • "all_joined": true,
  • "domain": "string",
  • "domain_biz_id": 0,
  • "title": "string",
  • "content": "string",
  • "allow_overdue_submit": true,
  • "submit_enabled": true,
  • "expired_at": "string",
  • "is_team_work": true,
  • "attachments": [
    ],
  • "assignments": [
    ],
  • "is_force_publish": true,
  • "prev_id": 0,
  • "biz_id": 0,
  • "expected_take_minites": 0,
  • "general_status": { },
  • "published_at": "string",
  • "outline_id": 0,
  • "weight": 0,
  • "is_public_submission": true,
  • "type": { },
  • "admin": "yes",
  • "module_admin": "yes",
  • "task_id": 0,
  • "talk_id": 0,
  • "review_id": 0,
  • "exam_id": 0
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "content": "string",
  • "expired_at": "string",
  • "attachments": [
    ],
  • "allow_overdue_submit": true,
  • "is_team_work": true,
  • "creator_id": 0,
  • "role_id": 0,
  • "overall_task_status": { },
  • "domain": "string",
  • "domain_biz_id": 0,
  • "biz_id": 0,
  • "expected_take_minites": 0,
  • "assessment_type": { },
  • "custom_fields": { },
  • "general_status": { },
  • "published_at": "string",
  • "display_time": "string",
  • "labels": {
    },
  • "creator": {
    },
  • "related": { },
  • "assignments": [
    ],
  • "id": 0,
  • "school_id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

更新提交内容

scope: task.write

Authorizations:
任务
path Parameters
task_id
required
integer

任务 ID

submission_id
required
integer

提交内容 ID

query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
content
required
string (内容)
Array of objects (附件)
状态 (null) or SubmissionStatusEnum (string) (状态)
附件批阅 - 教师创建附件批阅后才有数据 (null) or Array of 附件批阅 - 教师创建附件批阅后才有数据 (objects) (附件批阅 - 教师创建附件批阅后才有数据)

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "attachments": [
    ],
  • "status": { },
  • "reviewed_attachments": { }
}

Response samples

Content type
application/json
{
  • "submitter_id": 0,
  • "content_text": "string",
  • "content": "string",
  • "attachments": [
    ],
  • "status": { },
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

编辑任务

scope: task.write

Authorizations:
任务
path Parameters
id
required
integer
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
enhancer
string (TaskEnhancerEnum)
Enum: "seiue.personal_task" "seiue.class_activity_task" "seiue.class_homework_task" "seiue.class_document_task" "seiue.class_website_task" "seiue.class_questionnaire_task" "seiue.class_quiz_task" "seiue.class_live_task" "seiue.class_discuz_task" "seiue.chat_task"
class_id
integer (课程班 ID)
all_joined
boolean (业务内的全员参与)
domain
string or null (业务域)
domain_biz_id
integer or null (业务ID(如:group.id))
title
string (任务标题)
content
string (任务内容)
allow_overdue_submit
boolean (允许逾期提交,默认为不允许(false))
submit_enabled
boolean (开启成果提交,默认为开启(true))
expired_at
string or null <timestamp> (过期时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
is_team_work
boolean (是否为团队任务,默认为否(false))
Array of objects (Attachment)
Array of objects (任务执行人,与 all_joined 互斥。all_joined 优先)
is_force_publish
boolean (是否强制发布)
prev_id
integer (前序任务ID)
biz_id
integer or null (关联业务ID(过评等))
expected_take_minites
integer or null (预计用时(以分为单位))
任务状态 (null) or TaskStatusEnum (string) (任务状态)
published_at
string or null <timestamp> (发布时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
outline_id
integer (分类(大纲)ID)
weight
integer (权重)
is_public_submission
boolean (是否公开成果)
类型,用于标志业务类型,比如: seiue.personal_task, seiue.personal_group, seiue.mentor_role (null) or EnhancerEnum (string) (类型,用于标志业务类型,比如: seiue.personal_task, seiue.personal_group, seiue.mentor_role)
admin
string (AdminLabelEnum)
Enum: "yes" "no"
module_admin
string (AdminLabelEnum)
Enum: "yes" "no"
task_id
integer (常用Id)
talk_id
integer
review_id
integer
exam_id
integer

Responses

Request samples

Content type
application/json
{
  • "enhancer": "seiue.personal_task",
  • "class_id": 0,
  • "all_joined": true,
  • "domain": "string",
  • "domain_biz_id": 0,
  • "title": "string",
  • "content": "string",
  • "allow_overdue_submit": true,
  • "submit_enabled": true,
  • "expired_at": "string",
  • "is_team_work": true,
  • "attachments": [
    ],
  • "assignments": [
    ],
  • "is_force_publish": true,
  • "prev_id": 0,
  • "biz_id": 0,
  • "expected_take_minites": 0,
  • "general_status": { },
  • "published_at": "string",
  • "outline_id": 0,
  • "weight": 0,
  • "is_public_submission": true,
  • "type": { },
  • "admin": "yes",
  • "module_admin": "yes",
  • "task_id": 0,
  • "talk_id": 0,
  • "review_id": 0,
  • "exam_id": 0
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "content": "string",
  • "expired_at": "string",
  • "attachments": [
    ],
  • "allow_overdue_submit": true,
  • "is_team_work": true,
  • "creator_id": 0,
  • "role_id": 0,
  • "overall_task_status": { },
  • "domain": "string",
  • "domain_biz_id": 0,
  • "biz_id": 0,
  • "expected_take_minites": 0,
  • "assessment_type": { },
  • "custom_fields": { },
  • "general_status": { },
  • "published_at": "string",
  • "display_time": "string",
  • "labels": {
    },
  • "creator": {
    },
  • "related": { },
  • "assignments": [
    ],
  • "id": 0,
  • "school_id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

获取任务

scope: task.read

Authorizations:
任务
path Parameters
id
required
integer
query Parameters
expand
string

expand

1 . labels 2 . creator: 创建人信息 3 . activities: 任务动态 4 . related: 卡片关联资源 5 . assignments: 分配 6 . assignments.submissions: 任务分配,执行人提交记录 7 . assignments.assignee: 任务分配,参与人信息 8 . assignments.reviews: 任务评审记录 9. overall_task_status 总状态 10. discussion 所关联的讨论区 11. role 角色信息 12. assignments.team: 任务执行人所在小组 13. assignments.submission: 执行人最新的提交成果 14. assignments.review: 执行人最新的一次任务评审 15. group: 群组 16. outline: 分类(大纲) 17. prev: 前序任务

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "content": "string",
  • "expired_at": "string",
  • "attachments": [
    ],
  • "allow_overdue_submit": true,
  • "is_team_work": true,
  • "creator_id": 0,
  • "role_id": 0,
  • "overall_task_status": { },
  • "domain": "string",
  • "domain_biz_id": 0,
  • "biz_id": 0,
  • "expected_take_minites": 0,
  • "assessment_type": { },
  • "custom_fields": { },
  • "general_status": { },
  • "published_at": "string",
  • "display_time": "string",
  • "labels": {
    },
  • "creator": {
    },
  • "related": { },
  • "assignments": [
    ],
  • "id": 0,
  • "school_id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

删除任务

scope: task.write

Authorizations:
任务
path Parameters
id
required
integer
query Parameters
expand
string

expand

1 . labels 2 . creator: 创建人信息 3 . activities: 任务动态 4 . related: 卡片关联资源 5 . assignments: 分配 6 . assignments.submissions: 任务分配,执行人提交记录 7 . assignments.assignee: 任务分配,参与人信息 8 . assignments.reviews: 任务评审记录 9. overall_task_status 总状态 10. discussion 所关联的讨论区 11. role 角色信息 12. assignments.team: 任务执行人所在小组 13. assignments.submission: 执行人最新的提交成果 14. assignments.review: 执行人最新的一次任务评审 15. group: 群组 16. outline: 分类(大纲) 17. prev: 前序任务

Responses

AdminClass

获取行政班接口

该接口需要 admin_class.read 权限

Authorizations:
行政班
query Parameters
id
integer

行政班 ID

id_in
string

行政班 IDs,多个 ID 以逗号分隔

name_like
string

行政班名称模糊搜索

name_in
string

行政班名称精确搜索,多个名称以逗号分隔

place_id
integer

空间 ID

teacher_id
integer

教师 ID,即 reflection_id

status
string (AdminClassStatusEnum)
Enum: "normal" "archived"

行政班状态

outer_id
string

外部ID

outer_id_in
string

外部IDs, 逗号分隔

expand
string

扩展字段,请按需加载资源:teachers 代表班主任的用户信息,students 代表学生的用户信息, classes 代表行政班关联的教学班

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dorm

获取宿舍列表

该接口需要 dorm.read 的权限

Authorizations:
宿舍
query Parameters
expand
string
sort
string
id_in
string
name_like
string
name_in
string
gender_limit
string
capacity_egt
integer
capacity_elt
integer
place_id_in
integer
description_like
string
object (DormMemberQuery)
object (ReflectionQuery)
object (PlaceQuery)
status
string (DormStatusEnum)
Enum: "normal" "archived" "leaved"
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Klass

获取课程班成员

目前仅返回课程班下的学生数据,该接口需要 class.read 的权限。

Authorizations:
课程班
query Parameters
semester_id
required
integer

指定学期ID

class_id_in
string

指定课程班 IDs

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新过或新建的成员, 可用于实现课程班成员增量更新。

with_trashed
integer

是否包含已删除数据,一般与 updated_at_egt 配合使用。

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取课程班列表

该接口需要 class.read 的权限。

Authorizations:
课程班
query Parameters
id_in
string

指定 ID 查询, 多个 ID 逗号分隔

semester_id
integer

学期 ID

updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新过或新建的课程班, 可用于实现课程班增量更新。

with_trashed
integer

是否包含已删除数据,一般与 updated_at_egt 配合使用。

admin_class_id
integer

行政班ID

expand
string

指定 expand 关联资源,支持:

  • teachers
  • students
  • lessons
  • places
  • grades
  • domain
  • subject
  • en_subject
  • attribute
  • admin_class_ids
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取课节数据

Authorizations:
课程班
query Parameters
semester_id
integer

学期ID,不传默认获取当前学期

date_egt
required
string <date> ^\d{4}-\d{2}-\d{2}$

开始时间

date_elt
required
string <date> ^\d{4}-\d{2}-\d{2}$

结束时间

place_id
integer

place_id 和 student_id 二选一

student_id
integer

place_id 和 student_id 二选一

class_id_in
string

教学班ID,多个ID以逗号分隔

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取矩形课表结构

将系统多个课表结构转为矩形课表结构

该接口需要 class.read 的权限。

Authorizations:
课程班
query Parameters
date
required
string <date> ^\d{4}-\d{2}-\d{2}$

指定当前日志

timetable_ids
string

指定多个课表结构的 IDs,缺省使用当前学期的默认课表结构

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取课表结构

该接口需要 class.read 的权限。

Authorizations:
课程班
query Parameters
id
integer
id_in
string
semester_id
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

查询课程班学生总成绩

scope: class.read

Authorizations:
课程班
query Parameters
class_ids
required
string
updated_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

仅查询某个时间段之后更新过或新建的总成绩, 可用于增量更新

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

根据课程班 ID 获取评价主体

scope: class.read

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
expand
string
school_id
required
integer

学校 ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "semester_id": 0,
  • "type": "class",
  • "name": "string",
  • "description": "string",
  • "is_template": true,
  • "individuation": true,
  • "plan_id": 0,
  • "scope_id": 0,
  • "scope_type": "class",
  • "scope": {
    },
  • "status": "pending",
  • "setting_lock_status": "all",
  • "score_lock_status": "all",
  • "full_score": "string",
  • "rejected_reason": "string",
  • "published_at": "string",
  • "published_by": 0,
  • "item_num": 0,
  • "total_item_score": "string",
  • "klass": {
    },
  • "course": {
    },
  • "related_data": {
    },
  • "is_archived": true,
  • "archived_at": "string",
  • "scope_num": 0,
  • "evaluators": [
    ],
  • "member_evaluated_count": 0,
  • "member_evaluated_rids": [
    ],
  • "enable_afterthought": true,
  • "afterthought": {
    },
  • "settings": {
    },
  • "profile_display": true,
  • "locked_evaluated_ids": [
    ],
  • "compute_rule": {
    },
  • "id": 0,
  • "school_id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

批量修改评价项

scope: class.write

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
Array
multi_evaluators
boolean (多人打分 德育评价字段)
is_shortcut
boolean (随手评 德育评价字段)
name
string (评价项名称)
description
string (评价项描述)
top_n
integer or null (评价项类型为维度平均时,取最高分数项的个数)
lock_setting
boolean (锁定设置)
lock_score
boolean or null (锁定分数,维度时为 null)
object (LockRules)
review_needed
boolean or null (是否需要教务审核,维度时默认 null)
within
boolean or null (是否有占分(仅加减分时必需:没有占分时表示分数直接作用于上级))
within_score
string or null (占分)
full_score
string or null
initial_score
string or null (初始化分(仅加减分时必需))
compute_type
string (ComputeTypeEnum)
Enum: "sum" "avg" "weighted_avg"
weight
integer or null (权重)
scoring_type
string (ScoringTypeEnum)
Enum: "score" "star" "level" "addition" "tag" "review"
Array of objects (对应的规则(等级、加减分、标签使用))
display_type
string (DisplayTypeEnum)
Enum: "score" "star" "level"
Array of objects (DisplayRule)
display_level_items
Array of strings (DisplayLevelItemEnum)
Items Enum: "name" "score" "description"
relation
string (RelationsEnum)
Enum: "custom" "teacher_mark_student" "guardian_mark_student" "mark_self" "system" "teacher_mark_teacher" "student_mark_in_team"
Array of objects (TaskRelationReq)
relation_rules
object or null (评价关系规则,时间等数据)
sort
integer
enable_afterthought
boolean or null
stage_id
integer or null (关联学段 ID ,为空表示清除关联(该参数与其他所有参数互斥) 即关联学段时,其他参数都不传,否则会被忽略)
id
required
integer (主键 ID)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

批量创建评价项

scope: class.write

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
Array
pid
integer or null (父级结构 ID (维度或子维度 ID))
type
required
string (ItemTypeEnum)
Enum: "dimension" "sub_dimension" "item" "special_item" "attendance_item"
top_n
integer or null (评价项类型为维度平均时,取最高分数项的个数)
name
required
string (评价项名称)
description
string (评价项描述)
lock_setting
boolean (锁定评价项设置,不允许教师修改。默认 false)
lock_score
boolean or null (锁定分数,不允许教师修改。默认为 false 。维度时为 null)
object (LockRules)
review_needed
boolean or null (是否需要教务审核,维度时默认 null)
within
boolean or null (是否有占分(仅加减分时必需:没有占分时表示分数直接作用于上级))
within_score
string or null (占分)
full_score
string or null (评价项满分。当分数直接作用于上级维度时,该值为 null)
initial_score
string or null (初始化分(仅加减分时必需))
compute_type
string (ComputeTypeEnum)
Enum: "sum" "avg" "weighted_avg"
weight
integer or null (权重(加权平均时使用))
scoring_type
string (ScoringTypeEnum)
Enum: "score" "star" "level" "addition" "tag" "review"
Array of objects (标签设置,及对应的分数(等级、加减分、标签类型的评价项使用))
display_type
string (DisplayTypeEnum)
Enum: "score" "star" "level"
Array of objects (显示规则)
display_level_items
Array of strings (等级显示内容(名称、分数、描述))
Items Enum: "name" "score" "description"
relation
string (RelationsEnum)
Enum: "custom" "teacher_mark_student" "guardian_mark_student" "mark_self" "system" "teacher_mark_teacher" "student_mark_in_team"
relation_rules
object or null (评价关系规则,时间等数据)
sort
required
integer (同级别项/维度的显示顺序,越小的越靠前。)
path
required
string (新增必传,节点路径,用于标识树形关系。其中 0 为固定前缀,0-1 表示第一个子节点,0-2 表示第二个子节点。0-1-1 表示第一个子节点的第一个子节点,以此类推。)
Array of objects (任务关系)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

同步总成绩(学段)分数

Authorizations:
课程班
path Parameters
class_id
required
integer

课程班 ID

query Parameters
stage_id
integer

如果是学段成绩,则该字段必传

Request Body schema: application/json
Array
owner_usin
required
string (学工号)
score
string or null (分数,传空时表示清空分数(使用系统计算分))

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

批量发布评价项

scope: class.write

Authorizations:
课程班
query Parameters
id_in
required
string
school_id
required
integer

学校 ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

同步评价项分数

scope: class.write

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
async
boolean

是否需要异步处理,目前只支持任务录分

as_admin
boolean

以管理员权限操作 非管理员权限操作时,如果评价项已发布或提交审核、学段已发布等,将会操作失败 (422)

school_id
required
integer

学校 ID

Request Body schema: application/json
Array
id
integer (如果分数已存在,则该 ID 必传)
type
string (ScoreTypeEnum)
Enum: "raw" "item_score"
owner_id
integer (分数归属人 ID)
owner_usin
string (分数归属人学工号,与 owner_id 二选一,优先使用 owner_id)
valid
boolean (是否参与评价)
invalid_reason
string (失效原因(不参与评价原因))
invalid_type_id
integer or null (暂不评价类型 ID 由 type=score.invalid_type 的 term 提供,默认为「暂不评价」)
tag
string (标签、加减分标签、等级复用 对应 item.tags.[].name)
score
string or null (分数,区分 null 和 '0')
review
string (评语)
Array of objects (附件)
edit_reason
string (更新原因)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

查询评价项分数

scope: class.read

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
type
string (ScoreTypeEnum)
Enum: "raw" "item_score"

分数类型

owner_id_in
string
score_gt
number
score_lt
number
score_egt
number
score_elt
number
tag
string
tag_in
string
valid
boolean
expand
string
school_id
required
integer

学校 ID

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "assessment_id": 0,
  • "item_id": 0,
  • "item": {
    },
  • "type": "raw",
  • "owner_id": 0,
  • "owner": {
    },
  • "evaluator_id": 0,
  • "evaluator": {
    },
  • "valid": true,
  • "invalid_type_id": 0,
  • "invalid_type": {
    },
  • "invalid_reason": "string",
  • "tag": "string",
  • "score": "string",
  • "score_evaluated_by": 0,
  • "gained_score_rate": "string",
  • "gained_score": "string",
  • "gained_score_rank": 0,
  • "gained_score_rank_base": 0,
  • "rank": 0,
  • "rank_base": 0,
  • "review": "string",
  • "attachments": [
    ],
  • "edit_reason": "string",
  • "published_at": "string",
  • "published_by": 0,
  • "self_review": "string",
  • "related_data": {
    },
  • "created_by": 0,
  • "updated_by": 0,
  • "status": "pending",
  • "generated_date": "2019-08-24",
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

关联任务到评价项

scope: class.write

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
Array
task_id
integer (当直接关联任务时,使用 task_id ,required)
removing
boolean (表示当前关联为移除,默认为 false (表示新增))
remove_scores
boolean (删除关系后是否要移除原任务关联评价项的成绩,默认不删)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "parent": {
    },
  • "children": [
    ],
  • "assessment": {
    },
  • "score_count": 0,
  • "attached_exam_info": {
    },
  • "item_info": { },
  • "review_process": { },
  • "reviewed_scores_total": 0,
  • "sum_sub_items_within_score": "string",
  • "multi_evaluators": true,
  • "is_shortcut": true,
  • "completed_score_status": "all",
  • "school_id": 0,
  • "assessment_id": 0,
  • "pid": 0,
  • "type": "dimension",
  • "top_n": 0,
  • "name": "string",
  • "pathname": [
    ],
  • "description": "string",
  • "status": "pending",
  • "lock_setting": true,
  • "lock_score": true,
  • "lock_rules": {
    },
  • "review_needed": true,
  • "within": true,
  • "within_score": "string",
  • "full_score": "string",
  • "initial_score": "string",
  • "compute_type": "sum",
  • "weight": 0,
  • "scoring_type": "score",
  • "tags": [
    ],
  • "display_type": "score",
  • "display_rules": [
    ],
  • "display_level_items": [
    ],
  • "relation": "custom",
  • "relation_rules": {
    },
  • "published_at": "string",
  • "published_by": 0,
  • "sort": 0,
  • "enable_afterthought": true,
  • "task_relations": [
    ],
  • "handout_outline_relations": [
    ],
  • "completed_scores_counts": {
    },
  • "stage": {
    },
  • "stage_id": 0,
  • "assessment_stage": {
    },
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

取消任务关联评价项

scope: class.write

Authorizations:
课程班
path Parameters
id
required
integer
query Parameters
school_id
required
integer

学校 ID

Request Body schema: application/json
Array
task_id
integer (当直接关联任务时,使用 task_id ,required)
removing
boolean (表示当前关联为移除,默认为 false (表示新增))
remove_scores
boolean (删除关系后是否要移除原任务关联评价项的成绩,默认不删)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "parent": {
    },
  • "children": [
    ],
  • "assessment": {
    },
  • "score_count": 0,
  • "attached_exam_info": {
    },
  • "item_info": { },
  • "review_process": { },
  • "reviewed_scores_total": 0,
  • "sum_sub_items_within_score": "string",
  • "multi_evaluators": true,
  • "is_shortcut": true,
  • "completed_score_status": "all",
  • "school_id": 0,
  • "assessment_id": 0,
  • "pid": 0,
  • "type": "dimension",
  • "top_n": 0,
  • "name": "string",
  • "pathname": [
    ],
  • "description": "string",
  • "status": "pending",
  • "lock_setting": true,
  • "lock_score": true,
  • "lock_rules": {
    },
  • "review_needed": true,
  • "within": true,
  • "within_score": "string",
  • "full_score": "string",
  • "initial_score": "string",
  • "compute_type": "sum",
  • "weight": 0,
  • "scoring_type": "score",
  • "tags": [
    ],
  • "display_type": "score",
  • "display_rules": [
    ],
  • "display_level_items": [
    ],
  • "relation": "custom",
  • "relation_rules": {
    },
  • "published_at": "string",
  • "published_by": 0,
  • "sort": 0,
  • "enable_afterthought": true,
  • "task_relations": [
    ],
  • "handout_outline_relations": [
    ],
  • "completed_scores_counts": {
    },
  • "stage": {
    },
  • "stage_id": 0,
  • "assessment_stage": {
    },
  • "id": 0,
  • "created_at": "string",
  • "updated_at": "string"
}

获取学期下的所有学段

Authorizations:
课程班
path Parameters
semester_id
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Venue

获取场地预约列表

该接口需要 venue.read 的权限

Authorizations:
场馆
query Parameters
id_in
string

指定 ID 查询, 多个 ID 逗号分隔

approval_status
string (OrderStatusEnum)
Enum: "initiated" "canceled" "approved" "rejected"

审批状态 [待审批: initiated, 已通过: approved, 已拒绝: rejected, 已取消: canceled]

created_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

检索创建时间大于等于指定时间的记录

created_at_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

检索创建时间小于等于指定时间的记录

start_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

检索指定时间范围内的记录

end_at_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

检索指定时间范围内的记录

initiator_id_in
string

查询指定学生的预约记录, 多个学生 ID 逗号分隔

venue_id_in
string

查询指定场地, 多个场地 ID 逗号分隔

expand
string

指定 expand 关联资源,支持:

venue 获取关联场地信息 order_times 获取关联预约时间段信息

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取场地列表

该接口需要 venue.read 的权限

Authorizations:
场馆
query Parameters
id_in
string

指定 ID 查询, 多个 ID 逗号分隔

name_like
string

指定名称查询

name_in
string

指定名称查询,多个名称逗号分隔

open_status
string (OpenStatusEnum)
Enum: "opened" "closed" "repair"

开放状态 [未开放: closed, 已开放: opened, 维修中: repair]

place_id_in
string

关联空间ID,多个ID逗号分隔

expand
string

指定 expand 关联资源,支持:

admins 获取管理员 places 关联空间

paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Absence

获取请假记录

该接口需要 absence.read 权限。

Authorizations:
请假
query Parameters
initiator_id_in
string

请假人 ID,支持多个 ID 逗号分隔

minutes_egt
integer

查询大于指定分钟数的请假记录

minutes_elt
integer

查询小于指定分钟数的请假记录

min_start_at_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定开始时间的请假记录

max_end_at_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询小于等于指定结束时间的请假记录

type
string

请假类型

status
string (AbsenceStatusEnum)
Enum: "initiated" "approved" "rejected" "verifying" "verified" "submitted" "withdrawn"

请假状态

status_in
string

多个请假状态

expand
string

支持获取关联数据

  • initiator 请假人
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Attendance

录入行政班打卡记录

该接口需要 adminclass_attendance.write 权限。

Authorizations:
考勤
Request Body schema: application/json
Array
outer_id
string or null (外部系统记录ID)
who
string (打卡人,传递从希悦获取的用户学工号(usin)。和 reflection_id 二选一)
reflection_id
integer (打卡人ID 和 who 二选一)
device
string or null (打卡设备)
place
string (打卡地点, 传递从希悦获取的地点名称. 和 place_id 二选一)
place_id
integer (打卡地点ID 和 place 二选一)
checkin_at
required
string <timestamp> (刷卡时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

获取行政班考勤记录

该接口需要 adminclass_attendance.read 权限。

Authorizations:
考勤
query Parameters
admin_class_id_in
string

行政班 ID,支持多个 ID 逗号分隔

expand
string

支持获取关联数据

  • reflection 学生
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

attendance_date
string

查询指定日期的考勤记录 yyyy-MM-dd

owner_id_in
string

学生/教师 ID,支持多个 ID 逗号分隔

status_in
string

考勤状态[normal:已考勤, miss:未考勤]

result_in
string

考勤结果, 相对应的值是在希悦考勤系统中的设定的。例如:正常、迟到、早退、旷课等

attendance_time_start_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定开始时间的考勤记录

attendance_time_end_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定结束时间的考勤记录

place_id_in
string
source
string (RecordSourceEnum)
Enum: "web" "iot" "dss" "uniview" "classin" "check_in"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

录入教学班打卡记录

该接口需要 class_attendance.write 权限。

Authorizations:
考勤
Request Body schema: application/json
Array
outer_id
string or null (外部系统记录ID)
who
string (打卡人,传递从希悦获取的用户学工号(usin)。和 reflection_id 二选一)
reflection_id
integer (打卡人ID 和 who 二选一)
device
string or null (打卡设备)
place
string (打卡地点, 传递从希悦获取的地点名称. 和 place_id 二选一)
place_id
integer (打卡地点ID 和 place 二选一)
checkin_at
required
string <timestamp> (刷卡时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

获取教学班考勤记录

该接口需要 class_attendance.read 权限。

Authorizations:
考勤
query Parameters
class_id_in
string

行政班 ID,支持多个 ID 逗号分隔

expand
string

支持获取关联数据

  • reflection 学生
  • klass
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

attendance_date
string

查询指定日期的考勤记录 yyyy-MM-dd

owner_id_in
string

学生/教师 ID,支持多个 ID 逗号分隔

status_in
string

考勤状态[normal:已考勤, miss:未考勤]

result_in
string

考勤结果, 相对应的值是在希悦考勤系统中的设定的。例如:正常、迟到、早退、旷课等

attendance_time_start_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定开始时间的考勤记录

attendance_time_end_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定结束时间的考勤记录

place_id_in
string
source
string (RecordSourceEnum)
Enum: "web" "iot" "dss" "uniview" "classin" "check_in"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

录入教师打卡记录

该接口需要 teacher_attendance.write 权限。

Authorizations:
考勤
Request Body schema: application/json
Array
who
string or null (打卡人(此字段和reflection_id需要至少传一个))
reflection_id
integer or null (匹配的系统用户ID)
device
string or null (打卡设备(此字段和device_id至少需要传一个))
device_id
string or null (匹配的系统设备ID)
checkin_at
required
string <timestamp> (打卡时间) ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

获取教师考勤记录

该接口需要 teacher_attendance.read 权限。

Authorizations:
考勤
query Parameters
expand
string

支持获取关联数据

  • reflection 学生/教师
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

attendance_date
string

查询指定日期的考勤记录 yyyy-MM-dd

owner_id_in
string

学生/教师 ID,支持多个 ID 逗号分隔

status_in
string

考勤状态[normal:已考勤, miss:未考勤]

result_in
string

考勤结果, 相对应的值是在希悦考勤系统中的设定的。例如:正常、迟到、早退、旷课等

attendance_time_start_egt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定开始时间的考勤记录

attendance_time_end_elt
string <timestamp> ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$

查询大于等于指定结束时间的考勤记录

place_id_in
string
source
string (RecordSourceEnum)
Enum: "web" "iot" "dss" "uniview" "classin" "check_in"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Etablet

查考电子班牌考勤详情接口

该接口需要 etablet.all 权限。

Authorizations:
电子班牌
query Parameters
device_id
required
string

客户端当前设备 ID,即 Etablet 的 device_id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

学生刷卡考勤接口

该接口需要 etablet.all 权限。

Authorizations:
电子班牌
Request Body schema: application/json
card_id
required
string (卡片 ID(字符串))
place_id
required
integer (空间 ID)
class_id
required
integer (课程班 ID)

Responses

Request samples

Content type
application/json
{
  • "card_id": "string",
  • "place_id": 0,
  • "class_id": 0
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "message": "string",
  • "status": "string",
  • "status_label": "string",
  • "reflection": {
    }
}

查看消息通知列表

该接口需要 etablet.all 的权限。

Authorizations:
电子班牌
query Parameters
place_id
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

查看消息通知详情

该接口需要 etablet.all 的权限。

Authorizations:
电子班牌
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "school_id": 0,
  • "place_ids": "string",
  • "status": "string",
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "start_at": "string",
  • "end_in": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "id": 0
}

电子班牌绑定教室

该接口需要 etablet.all 的权限。

Authorizations:
电子班牌
Request Body schema: application/json
place_id
required
integer (空间 ID)
device_id
required
string (电子班牌设备 ID)

Responses

Request samples

Content type
application/json
{
  • "place_id": 0,
  • "device_id": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "school_id": 0,
  • "place_id": 0,
  • "device_id": "string",
  • "status": "string",
  • "next_class_time": "string",
  • "next_class": {
    },
  • "current_class": {
    },
  • "created_at": "string",
  • "updated_at": "string",
  • "last_actived_at": "string",
  • "school_domain": "string",
  • "current_status": "string",
  • "notification": "string",
  • "place": {
    },
  • "settings": {
    },
  • "notifications": [
    ],
  • "attendance_info": { }
}

获取电子班牌信息

该接口需要 etablet.all 的权限。

Authorizations:
电子班牌
path Parameters
id
required
string

此处 id,即可以传 Etablet 的 id,也可以传 Etablet 的 device_id

query Parameters
expand
string

place - 教室信息 | notifications - 消息通知 | settings - 电子班牌配置 | attendance_info - 考勤统计 | classes - 课程信息

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "school_id": 0,
  • "place_id": 0,
  • "device_id": "string",
  • "status": "string",
  • "next_class_time": "string",
  • "next_class": {
    },
  • "current_class": {
    },
  • "created_at": "string",
  • "updated_at": "string",
  • "last_actived_at": "string",
  • "school_domain": "string",
  • "current_status": "string",
  • "notification": "string",
  • "place": {
    },
  • "settings": {
    },
  • "notifications": [
    ],
  • "attendance_info": { }
}

将电子班牌从教室解绑

该接口需要 etablet.all 的权限。

Authorizations:
电子班牌
path Parameters
id
required
string

此处 ID,即可以传 Etablet 的 id,也可以传 Etablet 的 device_id

Responses

获取电子班牌个人中心考勤记录

该接口需要 etablet.all 权限。

Authorizations:
电子班牌
path Parameters
id
required
integer

此处 id 代指 reflection_id

query Parameters
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

Responses

Response samples

Content type
application/json
[
  • {
    }
]

获取应用版本列表

该接口无需任何权限。

query Parameters
device_id
required
string

客户端当前设备 ID,即 Etablet 的 device_id

version
required
string

客户端当前版本

Responses

Response samples

Content type
application/json
{
  • "latest_version": "string",
  • "download_url": "string",
  • "changed_logs": { }
}

Acc

查询素养评价列表

Authorizations:
素养评价
query Parameters
fields
string
expand
string
paginated
integer

是否分页,默认 1

page
integer

显示的数据页,默认 1

per_page
integer

每页显示数量,默认 20

id
integer
id_in
string
scope_id
integer
scope_id_in
string
type_id
integer
type_id_in
string
name_in
string
name_like
string
mode
string (AccAssessmentModeEnum)
Enum: "scoring" "authenticating"
mode_in
string
status
string (AccAssessmentStatusEnum)
Enum: "normal" "suspended"
status_in
string
item_num
integer
item_num_egt
integer
item_num_elt
integer
scoped_student_id
integer

指定学生在评价的范围里

object (AccAssessmentSettingsQuery)
sort
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

批量更新素养

Authorizations:
素养评价
Request Body schema: application/json
Array
name
string
tag
string
weight
integer (排序 0 ~ 65535)
enable_aggregated
boolean (开启算分)
scoring_type
string (AccItemScoringTypeEnum)
Enum: "score" "star"
aggregated_type
string (AccItemAggregatedTypeEnum)
Enum: "avg" "max"
full_score
string or null (满分)
accomplished_score
string or null (点亮条件分数)
Array of objects (量规)
Array of objects (新增素养与业务的关系 如任务关系)
id
required
integer (主键 ID)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

同步素养分数

根据 item_id + owner_usin + source + source_id 为标识同步素养分数

Authorizations:
素养评价
Request Body schema: application/json
Array
item_id
required
integer
owner_usin
required
string
source
required
string (AccScoreSourceEnum)
Enum: "task" "custom" "aggregated"
source_id
integer
score
string or null (如果是认定型,为 1/0 ;其他传分数 如果清空分数则为 null)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

EEMS

校外访客出入校权限验证

该接口需要 visitor.auth & school.{$id}权限

Authorizations:
访客
query Parameters
code
required
string

访客密码

operation
required
string

into 进入 out 出去

device
string

访客刷卡设备,不传不限制

Responses

Response samples

Content type
application/json
true