家校通讯录是指平台的学生和家长组织架构
部门管理
创建部门(school/department/create)
使用场景: 创建校区、学段、年级或班级,用于学年开始时的数据初始化。创建后会返回部门的ID,可以继续作为参数来创建下一级的部门。一般情况下,使用/school/department/list获取到家校部门后,可以取出Level=0(一般为首条数据)的根节点,来创建校区,然后根据校区的部门ID来创建学段,根据学段ID来创建年级,根据年级ID来创建班级。其中班级必须是在年级下边的,年级则可以在根节点、校区、学段任一级别下。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/department/create?access_token=ACCESS_TOKEN
请求包体:
{
"name": "一年级",
"parentid": 1,
"order": 1,
"tag": 5,
"department_type":4,
"register_year": 2020,
"standard_grade": 1,
"code": "ynj",
"org_attribute":0,
"department_admins": [
{
"userid": "zhangsan",
"type": 3,
"subject": "语文"
},
{
"userid": "lisi",
"type": 4,
"subject": "数学"
}
]
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
name | 是 | 部门名字 |
parentid | 是 | 父部门的Id,32位整数,部门ID可以由/school/department/list获得,也可以由此接口创建后返回 |
order | 是 | 在父部门中的次序值,32位整数,越小排序越前, 0表示自动增加 |
tag | 是 | 部门标签,参数值含义参考《部门标签对照表》。其中,对部门标签的限制可参考《部门标签限制对照表》 。填了tag字段不能填type字段(已隐藏),会冲突。 |
department_type | 否 | 行政班类别,仅支持拉取:1:行政班,4:毕业生,8课程班,10:教学班 这四种。默认拉取行政班 |
standard_grade | 否 | 标准年级,仅当部门类型为年级(2)时有效,参数值含义参考《标准年级对照表》,建议使用标准年级来创建年级,能够自动升学 |
code | 是 | 部门代码,机构内唯一 |
org_attribute | 否 | 部门学段,参数值含义参考《部门学段对照表》。其中,学校类型对部门学段的限制可参考《学校类型对照表》,而版本类型对学校类型的限制可参考《版本类型对照表》 |
register_year | 否 | 入学年份,格式为YYYY,有且仅当表示年级(tag=4)时,该参数有效且必填;其他场景,该参数无需填写 |
department_admins | 否 | 部门管理员列表 |
department_admins.userid | 是 | 管理员的用户ID,需要是教职工,可以由/user/list)获得,也可以由/user/create创建后获得 |
department_admins.type | 是 | 管理员类型:3表示班主任,4表示任课教师 |
department_admins.subject | 否 | 教师的科目 |
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"id": 2
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
id | int | 创建的部门id |
修改部门(school/department/update)
使用场景: 修改指定部门的数据,可以迁移部门节点到同样类型的父部门下边,也可以增删改班级类型的部门教师。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/department/update?access_token=ACCESS_TOKEN
请求包体:
{
"id": 2,
"name": "一年级",
"parentid": 1,
"order": 1,
"code": "ynj",
"org_attribute":0,
"department_admins": [
{
"op": 0,
"userid": "zhangsan",
"type": 3,
"subject": "语文"
},
{
"op": 1,
"userid": "lisi",
"type": 4,
"subject": "数学"
}
]
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
id | 是 | 部门Id,可以由/school/department/list获得,也可以由/school/department/create创建后返回 |
name | 是 | 部门名字 |
parentid | 是 | 父部门的Id,32位整数,可以由/school/department/list获得,也可以由/school/department/create创建后返回 |
order | 是 | 在父部门中的次序值,32位整数,越小排序越前, 0表示不修改 |
code | 是 | 部门代码,机构内唯一 |
org_attribute | 否 | 部门学段,参数值含义参考《部门学段对照表》。其中,学校类型对部门学段的限制可参考《学校类型对照表》,而版本类型对学校类型的限制可参考《版本类型对照表》 |
department_admins | 否 | 部门管理员列表 |
department_admins.op | 是 | op=0表示新增/更新,op=1表示删除 |
department_admins.userid | 是 | 管理员的用户ID,需要是教职工,可以由/user/list获得,也可以由/user/create创建后获得 |
department_admins.type | 是 | 管理员类型:3表示班主任,4表示任课教师 |
department_admins.subject | 否 | 教师的科目 |
注意:更新和删除管理员是以userid和type作为判断依据的
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
删除部门(school/department/delete)
使用场景: 删除指定部门,部门下不能含有子部门或学生。
是否需额外授权: 是
请求方式: GET(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/department/delete?access_token=ACCESS_TOKEN&id=ID
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
id | 是 | 部门ID,可以由/school/department/list获得,也可以由/school/department/create创建后返回, 不能删除根部门,含有子部门、学生的部门 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
获取部门列表(school/department/list)
使用场景: 获取家校的部门列表,应用可缓存起来构建部门树,用于展示校区、学段、年级和班级列表。
是否需额外授权: 否
请求方式: GET(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/department/list?access_token=ACCESS_TOKEN&id=ID
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
id | 否 | 部门id。获取指定部门及其下的子部门。 如果不填,默认获取全量组织架构 |
department_type | 否 | 仅支持传入1--行政班,8--课程班,10--教学班;不填,则默认拉取行政班 |
next_level_only | 否 | 0:所有节点;1:只获取下一层节点 |
need_role_node | 否 | 是否需要角色根节点 |
获取学生组织架构根节点示例: https://oapi.epaas.qq.com/school/department/list?access_token=ACCESS_TOKEN&next_level_only=1&need_role_node=true
权限说明:
只能拉取token对应的应用的权限范围内的部门列表
返回结果:(下面就是获取教师组织架构根节点的返回示例,后续学生相关部门节点,可以逐层挂到“学生”节点下面)
{
"errmsg": "ok",
"errcode": 0,
"departments": [
{
"id": 222,
"type": 5,
"name": "xxx学校",
"parentid": 0,
"register_year": 2020,
"standard_grade": 0,
"order": 0,
"department_admins": [],
"open_group_chat": 0,
"code": "",
"org_attribute": 0,
"level": 1,
"tag": 0
},
{
"id": 224,
"type": 0,
"name": "学生",
"parentid": 222,
"register_year": 2020,
"standard_grade": 0,
"order": 1,
"department_admins": [],
"open_group_chat": 0,
"code": "",
"org_attribute": 0,
"level": 2,
"tag": 1
}
]
}
参数说明:
参数 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
department | 部门列表数据。 |
id | 部门id,在机构内唯一 |
type | 部门类型,32位整型,1表示班级,2表示年级,3表示学段,4表示校区,5表示学校(根部门) |
name | 部门名称 |
parentid | 父亲部门id,根部门该项为0 |
register_year | 入学年份,仅标准年级返回,格式为YYYY |
standard_grade | 标准年级,当为部门为标准年级时返回,返回值具体请参考标准年级对照表 |
order | 在父部门中的次序值,order值大的排序靠前。有效的值范围是[0, 2^32),仅在API设置后才返回 |
department_admins.userid | 部门管理员的userid |
department_admins.type | 部门管理员的类型,1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人 |
department_admins.subject | 教师或班主任的科目 |
班级毕业(school/department/graduate)
使用场景:令班级所有学生毕业,成为毕业生。
班级毕业后,学生将变更为毕业生角色,拉取正常学生接口将无法拉取到毕业生,且该操作不可逆转;另外,此操作会删除企业微信侧数据,请谨慎操作。
是否需额外授权: 否
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/department/graduate?access_token=ACCESS_TOKEN
请求包体:
{
"department_id":8542
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得。 |
department_id | 是 | 部门id。必须是行政班级 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
成员管理
创建学生(school/user/create_student)
使用场景: 创建一个学生,用于学年开始时的数据初始化,一般用于新生入学。学生只能放在班级节点下。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/create_student?access_token=ACCESS_TOKEN
请求包体:
{
"name": "张三",
"department": [1,2],
"user_number": "student001",
"gender": "1",
"initial_password": "123456ff",
"department_type":4,
"mobile":"13522221225",
"basic_profile": "{\"ic_card\": \"278652\",\"join_date\": \"2010-01-02\"}",
"extend_profile": "{\"studentField1\": \"\info1\",\"studentField2\": \"info2\"}"
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
name | 是 | 人员名字 |
gender | 是 | 性别。1表示男性,2表示女性 |
user_number | 是 | 学号,只支持英文和数字,学校内唯一 |
department | 是 | 学生所在班级ID列表,不超过20个,可以通过/school/department/list里获取部门类型为班级的部门ID,也可以用/school/department/list_by_tag直接过滤出类型为班级的部门ID |
initial_password | 否 | 初始密码,传入的话,给当前学生设置初始密码,密码长度在六位和十六位之间,只能为字母或者数字,不能含特殊字符。 |
department_type | 否 | 部门类型。1-行政班,4-毕业生,默认行政班 |
mobile | 否 | 学生手机号。高校学生必填 |
basic_profile | 否 | 平台基础资料字段,参考学生字段 |
extend_profile | 否 | 应用扩展字段 |
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"userid": "student_user_id",
"profile_msg": ""
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
userid | string | 创建的学生id |
profile_msg | string | 扩展资料返回信息 |
更新学生资料(school/user/update_student_info)
使用场景: 更新学生资料。
是否需额外授权: 是
请求地址: https://oapi.epaas.qq.com/school/user/update_student_info
请求方法: POST
请求示例:
{
"userid": "30046274",
"basic_profile": "{\"ic_card\": \"278652\",\"join_date\": \"2010-01-02\"}",
"extend_profile": "{\"studentField1\": \"\info1\",\"studentField2\": \"info2\"}"
}
请求参数:
参数 | 必须 | 说明 |
---|---|---|
userid | 是 | 学生id |
basic_profile | 否 | 平台资料字段,参考学生字段 |
extend_profile | 否 | 应用托管资料字段 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | uint32 | 返回码,0为正常 |
errmsg | string | 对返回码的文本描述内容 |
学生调班(/school/user/move_department)
使用场景: 学生调班
是否需额外授权: 否
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/move_department?access_token=ACCESS_TOKEN
请求包体:
{
"userids":["3724804326"],
"department_id":5670337,
"department_type":1
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
userids | 是 | 用户id列表 |
department_id | 是 | 班级id |
department_type | 是 | 班级类型 1:行政班 4:毕业生 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
删除学生(school/user/delete_student)
使用场景: 删除指定学生。
是否需额外授权: 是
请求方式: GET(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/delete_student?access_token=ACCESS_TOKEN&userid=ID
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
userid | 是 | 学生ID,可以由/school/user/create_student创建返回或者/school/user/list获取 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
创建家长(school/user/create_parent)
使用场景: 创建一个家长,同时指定与学生的关系,一般用于新生入学,或者收集好家长关信息后录入。需要先创建学生,用学生的userid来指定关系。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/create_parent?access_token=ACCESS_TOKEN
请求包体:
{
"name": "张三",
"mobile": "13800000000",
"children": [
{
"student_userid": "zhangsan",
"relation": "爸爸"
},
{
"student_userid": "lisi",
"relation": "家长"
}
],
"basic_profile": "{\"top_edu\": \"6\",\"age\": \"35\"}",
"extend_profile": "{\"field1\": \"info1\"}"
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
name | 是 | 家长名字 |
mobile | 是 | 手机号,创建后手机号只能家长在小程序端进行修改 |
children | 是 | 孩子列表 |
children.student_userid | 是 | 学生ID,可以由/school/user/create_student创建返回或者/school/user/list获取 |
children.relation | 是 | 可填的为爸爸、妈妈、爷爷、奶奶、外公、外婆、家长 |
basic_profile | 否 | 基础资料,参考家长字段 |
extend_profile | 否 | 扩展资料 |
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"userid": "parent_user_id",
"fail_list": [
{
"idx": 0,
"errmsg": "学生不存在"
},
{
"idx": 2,
"errmsg": "该学生已经存在关系为爸爸的家长"
}
],
"profile_msg": ""
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
userid | string | 创建的家长id |
fail_list | object list | 绑定失败的列表 |
fail_list.idx | int | 失败学生在请求数组中的下标 |
fail_list.errmsg | string | 绑定失败的原因 |
profile_msg | string | 资料更新返回 |
更新家长资料(school/user/update_parent_info)
使用场景: 仅更新家长信息。
是否需额外授权: 是
请求地址: https://oapi.epaas.qq.com/school/user/update_parent_info
请求方法: POST
请求示例:
{
"userid": "parent_id",
"basic_profile": "{\"top_edu\": \"6\",\"age\": \"35\"}",
"extend_profile": "{\"field1\": \"info1\"}"
}
请求参数:
参数 | 必须 | 说明 |
---|---|---|
userid | 是 | 家长id |
basic_profile | 否 | 平台基础资料,参考家长字段 |
extend_profile | 否 | 扩展资料 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | uint32 | 返回码,0为正常 |
errmsg | string | 对返回码的文本描述内容 |
删除家长(school/user/delete_parent)
使用场景: 删除指定家长。
是否需额外授权: 是
请求方式: GET(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/delete_parent?access_token=ACCESS_TOKEN&userid=ID
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
userid | 是 | 家长ID,可以由/school/user/get查询学生详情时获得 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
绑定学生和家长关系
使用场景: 批量绑定学生和家长关系
是否需额外授权: 是 机构授权
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/batch_bind_student_parent?access_token=ACCESS_TOKEN
请求包体:
{
"access_token": "",
"data_list": [
{
"child_userid": "1",
"parent_userid": "2",
"relation":"家长"
}
]
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 机构access_token |
data_list | 是 | 学生家长列表 |
data_list.child_userid | 是 | 孩子用户id |
data_list.parent_userid | 是 | 家长用户id |
data_list.relation | 是 | 可填的为爸爸、妈妈、爷爷、奶奶、外公、外婆、家长 |
返回结果:
{
"errcode": 0,
"errmsg": "",
"data_list": [
{
"child_userid": "1",
"parent_userid": "2",
"errcode": 1,
"errmsg": "参数错误"
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
data_list | 处理结果 | |
data_list.child_userid | string | 孩子用户id |
data_list.parent_userid | string | 家长用户id |
data_list.errmsg | string | 对返回码的文本描述内容 |
data_list.errcode | int | 对返回码的文本描述内容 |
解除学生和家长的绑定
使用场景: 批量解除学生和家长的绑定关系
是否需额外授权: 是 机构授权
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/batch_unbind_student_parent?access_token=ACCESS_TOKEN
请求包体:
{
"access_token": "",
"data_list": [
{
"child_userid": "1",
"parent_userid": "2"
}
]
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 机构access_token |
data_list | 是 | 学生家长列表 |
data_list.child_userid | 是 | 孩子用户id |
data_list.parent_userid | 是 | 家长用户id |
返回结果:
{
"errcode": 0,
"errmsg": "",
"data_list": [
{
"child_userid": "1",
"parent_userid": "2",
"errcode": 1,
"errmsg": "参数错误"
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
data_list | 处理结果 | |
data_list.child_userid | string | 孩子用户id |
data_list.parent_userid | string | 家长用户id |
data_list.errmsg | string | 对返回码的文本描述内容 |
data_list.errcode | int | 对返回码的文本描述内容 |
批添加学生到课程班/教学班(school/user/batch_add_course)
使用场景: 批量添加学生到课程班/教学班
是否需额外授权: 否
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/batch_add_course?access_token=ACCESS_TOKEN
请求包体:
{
"department_id": "5323182",
"userids": ["3724236300","3724236301"]
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
userids | 是 | 用户id列表 |
department_id | 是 | 部门id |
返回结果:
{
"errmsg": "ok",
"errcode": 0,
"course_result": [
{
"errcode": 0,
"errmsg": "ok",
"userid": "3724236300"
},
{
"errcode": 0,
"errmsg": "ok",
"userid": "3724236301"
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
course_result.errcode | int | 返回码 |
course_result.errmsg | string | 错误信息 |
course_result.userid | string | 用户id |
批量将学生从课程班/教学班中删除(school/user/batch_delete_course)
使用场景:批量将学生从课程班/教学班中删除
是否需额外授权: 否
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/user/batch_delete_course?access_token=ACCESS_TOKEN
请求包体:
{
"department_id": "5323182",
"userids": ["3724236300","3724236301"]
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
userids | 是 | 用户id列表 |
department_id | 是 | 部门id |
返回结果:
{
"errmsg": "ok",
"errcode": 0,
"course_result": [
{
"errcode": 0,
"errmsg": "ok",
"userid": "3724236300"
},
{
"errcode": 0,
"errmsg": "ok",
"userid": "3724236301"
}
]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
course_result.errcode | int | 返回码 |
course_result.errmsg | string | 错误信息 |
course_result.userid | string | 用户id |
学生变动(退休学)(school/student/move)
使用场景: 学生退学、休学或者其他变动。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/student/move?access_token=ACCESS_TOKEN
请求包体:
{
"userid": "3724127543",
"move_type":2,
"reason":"变动原因"
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
userid | 是 | 用户id |
move_type | 是 | 变动类型。2-休学,3-退学,4-其他变动 |
reason | 否 | 变动原因 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |
学生迁回(school/student/move_back)
使用场景: 学生在退学、休学或者其他变动后,迁回学校。
是否需额外授权: 是
请求方式: POST(HTTPS)
请求地址: https://oapi.epaas.qq.com/school/student/move_back?access_token=ACCESS_TOKEN
请求包体:
{
"id": 14506,
"userid":"3724127543",
"department_ids":[5010291]
}
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证,使用corp_access_token,由/service/get_corp_token获得 |
id | 是 | 变更记录id |
userid | 是 | 用户id |
department_ids | 是 | 迁回的部门列表。部门必须是行政班级 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int | 返回码 |
errmsg | string | 对返回码的文本描述内容 |