微哨普教开放平台开发者文档(教育局)
使用微哨帐号登录网站应用授权、应用集成到微哨,请参考应用接入文档
基础接口
【获取access_token】
基本描述
access_token是开发者的全局唯一票据,开发者调用各接口时都需使用access_token。access_token的有效期目前为2周,需定时刷新,重复获取将导致上次获取的access_token失效.
请求方式
POST
请求url形式
https://k12.api.weishao.com.cn/oauth/token
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
grant_type | true | string | 设置为固定值"client_credentials" |
app_key | true | string | 接入应用的app_key,在管理端或开放平台中应用创建时获得 |
app_secret | true | string | 接入应用的app_secret,在管理端或开放平台中应用创建时获得 |
scope | true | string | 开放平台创建的应用为"base_api",学校管理端创建的应用为"all" |
json数据示例:
{
"grant_type":"client_credentials",
"app_key": [app_key],
"app_secret":[app_secret],
"scope":[scope]
}
注意:post请求时,需在header里添加Content-Type:application/json
返回结果
正确返回 json示例
{
"access_token": "VrwNIk9VGqrucb6zZukmCuQbvlBhbnwj",//string类型,票据内容
"expires_in": 1209600,//过期时间(秒)
"scope": "base_api",
"refresh_token": "sOEnnK5fgJBmIXNuONndIvYCbmP7Af2s",//刷新token的依据
"token_type": "Bearer"
}
错误返回 json示例
app_secret取值错误的响应码 HTTP Status Code 401
scope取值异常的错误码 HTTP Status Code 403
{
"error": "access_denied",
"error_description": "Unauthorized scope: manaer"
}
grant_type取值异常的错误码 HTTP Status Code 400
{
"error": "unsupported_grant_type",
"error_description": "Unsupported grant type: client_edentials"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
access_token | string | 请求令牌内容 |
expires_in | string | 过期时间(秒) |
scope | string | "base_api" |
refresh_token | string | 刷新token的依据 |
token_type | string | Bearer |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
SSL: true
注意事项
所有的开放平台接口在访问时都需要access_token。微哨服务器会首先验证access_token合法性,才会进行之后的逻辑。如果验证失败则返回的http状态码为401或403
access_token取值异常的错误码 HTTP Status Code 403
{
"error": "invalid_grant",
"error_description": "Access token is expired"
}
【刷新access_token】
基本描述
所有的开放平台接口在访问时都需要access_token。微哨服务器会首先验证access_token合法性,才会进行之后的逻辑。access_token具有时效性,过期后需要开发者手动刷新access_token.
请求方式
POST
请求url形式
https://k12.api.weishao.com.cn/oauth/token
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
grant_type | true | string | 设置为固定值"refresh_token" |
app_key | true | string | 接入应用的app_key,在管理端或开放平台中应用创建时获得 |
app_secret | true | string | 接入应用的app_secret,在管理端或开放平台中应用创建时获得 |
refresh_token | true | string | 上次获取token中反馈的refresh_token |
请求json数据示例:
{
"grant_type": "refresh_token",
"app_key": [app_key],
"app_secret": [app_secret],
"refresh_token": "***********"
}
注意:post请求时,需在header里添加Content-Type:application/json
返回结果
成功返回json示例
{
"access_token": "xN2836yQAQfDURxVPds0IM9vfUk3IJC5",
"expires_in": 604800,
"scope": "base_api",
"refresh_token": "VFlAp82EUWNQJkokRvoELSPhPpO3pSPS",
"token_type": "Bearer"
}
错误返回json示例
refresh_token取值异常的错误码 HTTP Status Code 403
{
"error": "invalid_grant",
"error_description": "Invalid refresh token"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
access_token | string | 请求令牌内容 |
expires_in | string | 过期时间(秒) |
scope | string | "base_api" |
refresh_token | string | 刷新token的依据 |
token_type | string | Bearer |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
SSL: true
注意事项
*无
【设置数据更新回调地址】
基本描述
应用获取用户信息后,可以通过设置数据更新回调地址来感知哪些用户信息发生了变更,用于维持应用与微哨基础平台之间的数据一致性,设置回调地址后,当应用所在学校的用户数据或者组织结构数据发生变更时,平台会调用应用数据回调地址并告知那些数据发生了变更,应用只需重新获取一下相关信息即可.
请求方式
POST
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/setSyncCallbackUrl?access_token=[access_token]&callback_url=https://www.sss.com
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
callback_url | true | string | 数据更新回调地址 |
成功返回json示例:
{
"data": {}
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
当有用户信息发生变更时会调用数据更新回调地址并发送一下信息
json示例
{
"domain": "xxxjyj", //数据所在教育局
"eb": "eeexx", //数据所在学校
"user": [ //需要更新数据的用户学号列表
"232_eeexx",
"2334_eeexx",
"23342_eeexx"
],
"org": [ //需要更新数据的组织节点id列表
"123",
"21321",
"122"
]
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
SSL: true
注意事项
调用数据更新回调地址时,微哨基础平台并不会等待返回值,发送数据后即关闭连接。
用户接口
【验证用户身份】
基本描述
当用户通过微哨客户端启动并访问第三方应用时,第三方服务器可使用该api验证该用户并获取该用户的基本信息.
请求方式
GET或POST
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/authUser?verify=[verify]&access_token=[access_token]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
verify | true | string | 访问令牌,微哨客户端通过http请求访问应用时会携带该参数,应用服务器可以通过"verify"关键字从http请求中获取 |
access_token | true | string | 应用服务器获取的access_token |
返回结果
json示例
{
"data": {
"name": "张三", //姓名
"sex": "boy", //性别 "boy"表男,"girl"表示女
"student_number": "l00003_dsxx", //学号 此处学号与客户端用户登录时输入的学号不同,增加了"_dsxx",其中dsxx是用户所在学校的eb编码
"photo_live": "", //头像
"mood_words": "", //用户签名
"nick_name": "", //昵称
"identity": "student", //用户身份 teacher student other mather father parent
"uid": "26533", //用户编码uid
"cellphone": "", //手机号
"birthday": "", //生日
"labels": [ //用户所属标签
{
"id": "13",
"label_name": "班长"
},
{
"id": "12",
"label_name": "2016级"
}],
"parent": [{ //用户身份如果为student并且家长信息存在时,会有该字段
"student_number": "w00007_dsxx",
"name": "张三 爸爸",
"identity": "father"
},
{
"student_number": "w00008_dsxx",
"name": "张三 妈妈",
"identity": "mather"
},
{
"student_number": "w00009_dsxx",
"name": "张三 家长",
"identity": "parent"
}],
"child": [{ //用户身份为mather father parent 会返回该字段
"student_number": "l00003_dsxx",
"name": "张三",
"sex": "boy",
"identity": "student"
}],
"organization_id": "1048", //用户所属组织节点id
"organization": "锐捷中学/小学部/1年级",//用户所属部门路径
"domain": "haidianjiaoyuju" //所在教育局域名
"eb": "bayizhongxue" //所在学校域名
},
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
name | string | 姓名 |
sex | string | 性别,"boy"表男,"girl"表示女 |
photo_live | string | 头像图片的url地址 |
mood_words | string | 用户签名 |
student_number | string | 学工号 此处学号与客户端用户登录时输入的学号不同,增加了"_dsxx",其中dsxx是用户所在学校的eb编码 |
nick_name | string | 昵称 |
organization | string | 用户所在各级组织结构名称 |
organization_id | string | 用户所在组织节点id |
uid | string | 用户id (发送消息时,消息的接收者使用该字段) |
identity | string | 身份, 包含字段teacher student other mather father parent |
domain | string | 所在教育局域名 |
eb | string | 所在学校域名 |
labels | array | 用户所属标签,可能有多个 |
parent | array | 用户身份如果为student并且家长信息存在时,会有该字段 |
child | array | 用户身份为mather father parent 会返回该字段 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取用户信息】
基本描述
第三方应用服务器通过本方法可以查询给定学工号对应的用户基本信息.
请求方式
GET或POST
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/getInfo?student_number=[student_number]&access_token=[access_token]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
student_number | true | string | 学工号 |
access_token | true | string | 应用服务器获取的access_token |
返回结果
json示例
{
"data": {
"name": "张三", //姓名
"sex": "boy", //性别 "boy"表男,"girl"表示女
"student_number": "l00003_dsxx", //学号 此处学号与客户端用户登录时输入的学号不同,增加了"_dsxx",其中dsxx是用户所在学校的eb编码
"photo_live": "", //头像
"mood_words": "", //用户签名
"nick_name": "", //昵称
"identity": "student", //用户身份 teacher student other mather father parent
"uid": "26533", //用户编码uid
"cellphone": "", //手机号
"birthday": "", //生日
"labels": [ //用户所属标签
{
"id": "13",
"label_name": "班长"
},
{
"id": "12",
"label_name": "2016级"
}],
"parent": [{ //用户身份如果为student并且家长信息存在时,会有该字段
"student_number": "w00007_dsxx",
"name": "张三 爸爸",
"identity": "father"
},
{
"student_number": "w00008_dsxx",
"name": "张三 妈妈",
"identity": "mather"
},
{
"student_number": "w00009_dsxx",
"name": "张三 家长",
"identity": "parent"
}],
"child": [{ //用户身份为mather father parent 会返回该字段
"student_number": "l00003_dsxx",
"name": "张三",
"sex": "boy",
"identity": "student"
}],
"organization_id": "1048", //用户所属组织节点id
"organization": "锐捷中学/小学部/1年级",//用户所属部门路径
"domain": "haidianjiaoyuju" //所在教育局域名
"eb": "bayizhongxue" //所在学校域名
},
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
name | string | 姓名 |
sex | string | 性别,"boy"表男,"girl"表示女 |
photo_live | string | 头像图片的url地址 |
mood_words | string | 用户签名 |
student_number | string | 学工号 此处学号与客户端用户登录时输入的学号不同,增加了"_dsxx",其中dsxx是用户所在学校的eb编码 |
nick_name | string | 昵称 |
organization | string | 用户所在各级组织结构名称 |
organization_id | string | 用户所在组织节点id |
uid | string | 用户id (发送消息时,消息的接收者使用该字段) |
identity | string | 身份, 包含字段teacher student other mather father parent |
domain | string | 所在教育局域名 |
eb | string | 所在学校域名 |
labels | array | 用户所属标签,可能有多个 |
parent | array | 用户身份如果为student并且家长信息存在时,会有该字段 |
child | array | 用户身份为mather father parent 会返回该字段 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
通知接口
【获取已发送通知列表】
基本描述
第三方应用服务器通过本方法可以查询本应用已经发送过的通知记录.
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/notification/getList?access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"ret":0,
"errcode": 1000,
"errmsg": "ok",
"data": {
"notification_list": [//array,通知历史记录数组
"xxxx123",//string,通知id
"xxxx124",
"xxxx125"
]
}
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
notification_list | array | 通知历史记录数组 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取通知详情】
基本描述
第三方应用服务器通过本方法可以查询指定通知记录的详情.
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/notification/getDetails?notification_id=[notification_id]&access_token=[access_token]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
notification_id | true | string | 通知的id |
access_token | true | string | 应用服务器获取的access_token |
返回结果
json示例
{
"ret":0,
"errcode": 1000,
"errmsg": "ok",
"data": {
"type":"unicast/broadcast",//string,通知类型,"unicast"表示点播(发送给单个微哨订阅用户),"broadcast"表示广播(发送给应用的所有微哨订阅用户)
"sendList": {//object,描述接收者,只有type="unicast"才需要本字段
"user":"xxx001"//string,接收者id
},
"schedule": {//object,描述发送时间的配置
"type": "instant/delayed ",//string,配置类型,"instant"表示立即发送,"delayed"表示延迟发送
"delayed_datetime": "2015-05-06 11:00:00"//date,如果是type=="delayed",本字段指定发送的时间
},
"content":{
"message": ["asdfsdafasfadsf"], //array,普通文本内容, 数组元素为string类型,只有一个元素
"rich_message":["<style type=\"text/css\">div{max-width:100%;word-break:break-all;font-size: 50px} img{max-width:100%;height:auto;display:block;}</style><div><strong><span style=\"text-decoration: underline;\">ddddd</span></strong></div>"], // array, 富文本内容
"msgType":1 // int, 发送的内容是否以富文本形式展示的标识
},
"title":"消息标题"//string,消息的标题
}
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
type | string | 通知类型,"unicast"表示点播(发送给单个微哨订阅用户),"broadcast"表示广播(发送给应用的所有微哨订阅用户) |
sendList | object | 描述接收者,只有type="unicast"才需要本字段 |
schedule | object | 描述发送时间的配置 |
content | string | 消息的内容 |
title | string | 消息的标题 |
user | string | 接收者id |
type | string | 配置类型,"instant"表示立即发送,"delayed"表示延迟发送 |
delayed_datetime | date | 如果是type=="delayed",本字段指定发送的时间 |
message | array | 普通文本内容, 数组元素为string类型,只有一个元素 |
rich_message | array | 富文本内容, 数组元素为string类型,只有一个元素 |
msgType | int | 展示富文本还是普通文本的标识,值为1以富文本展示,不传值或值为其它则以普通文本展示 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【发送通知】
基本描述
第三方应用服务器通过本方法可以发送通知,通知只能发送给老师或者学生,不能直接发送给家长,除非家长主动订阅了应用。另外,发送给学生的通知会自动同步发送给家长一份。
请求方式
POST
请求url形式
https://k12.api.weishao.com.cn/api/index.php/notification/sendNotification?access_token=[access_token]&eb=[eb]
请求结构体
通知json数据对象示例:
{
"type":"unicast/broadcast/listcast",//string,通知类型,"unicast"表示点播(发送给单个微哨订阅用户),"broadcast"表示广播(发送给应用的所有微哨订阅用户)
"sendList": {//object,描述接收者,只有type="unicast/listcast"才需要本字段
"user":"xxx001"//string,接收者id,当type为unicast是设置该参数,该信息来自于[验证用户身份][获取用户信息]接口返回字段中的uid
"student_number":"xxx001_dsxx"//string,接收者学号,当type为unicast是设置该参数 具体值来自于[验证用户身份][获取用户信息]接口返回字段中的student_number
"users":"xxx001"//array,接收者id,当type为listcast是设置该参数
"student_numbers":"xxx001_dsxx"//array,接收者学号,当type为listcast是设置该参数
},
"schedule": {//object,描述发送时间的配置
"type": "instant/delayed ",//string,配置类型,"instant"表示立即发送,"delayed"表示延迟发送
"delayedDatetime": "2015-05-06 11:00:00"//date,如果是type=="delayed",本字段指定发送的时间
},
"content":{
"message": ["asdfsdafasfadsf"], //array, 普通文本内容, 数组元素为string类型,只有一个元素
"rich_message":["%3cstyle+type%3d%5c%22text%2fcss%5c%22%3ediv%7bmax-width%3a100%25%3bword-break%3abreak-all%3bfont-size%3a+50px%7d+img%7bmax-width%3a100%25%3bheight%3aauto%3bdisplay%3ablock%3b%7d%3c%2fstyle%3e%3cdiv%3e%3cstrong%3e%3cspan+style%3d%5c%22text-decoration%3a+underline%3b%5c%22%3eddddd%3c%2fspan%3e%3c%2fstrong%3e%3c%2fdiv%3e"], // array, 富文本内容 需要进行urlencode
"msgType":1 // int, 展示富文本还是普通文本的标识
},
"title":"消息标题"//string,消息的标题
}
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | string | 所在学校域名,验证用户接口返回结果中包含此字段 | |
type | true | "unicast/broadcast/listcast" | 通知类型,"unicast"表示点播(发送给单个微哨订阅用户),"broadcast"表示广播(发送给应用的所有微哨订阅用户),"listcast"表示列播(发送给一批订阅用户,数量小于500) |
sendList | true | object | 描述接收者,当type="unicast/listcast"设置本字段 |
user | true | string | 接收者id 该信息来自于[验证用户身份][获取用户信息]接口返回字段中的uid |
student_number | true | string | 接收者学号,与user字段二选一 ,具体值来自于[验证用户身份][获取用户信息]接口返回字段中的student_number |
users | true | array | 接收者id ,当type为listcast是设置该参数,数组size<=500 |
student_numbers | true | array | 接收者学号,,当type为listcast是设置该参数,数组size<=500,与users字段二选一 |
schedule | true | object | 描述发送时间的配置 |
schedule/type | true | "instant\delayed " | 配置类型,"instant"表示立即发送,"delayed"表示延迟发送 |
delayedDatetime | true | date | 如果是type=="delayed",本字段指定发送的时间 |
content | true | string | 消息的内容 |
message | true | array | 普通文本内容, 数组元素为string类型,只有一个元素 |
rich_message | true | array | 富文本内容, 数组元素为string类型,只有一个元素, 需要进行urlencode |
msgType | false | int | 展示富文本还是普通文本的标识,值为1以富文本展示,不传值或值为其它则以普通文本展示,富文本目前支持 加粗、下划线、字体颜色、左对齐、居中、右对齐、两端对齐、表格、图片、链接 |
title | true | string | 消息的标题 |
返回结果
json示例
{
"ret":0,
"errcode": 1000,
"errmsg": "ok",
"data": {
"notification_id": "xxxxx123"//string,通知id
}
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
notification_id | string | 通知id |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
type为listcast 时 如果users/student_numbers中所有推送用户均未订阅该应用,则返回1005错误。存在部分未订阅用户时不返回错误信息,正常推送在订阅范围内的用户。
通讯录接口
【获取组织节点树下的所有用户信息】
基本描述
第三方应用服务器通过本方法可以查询给定组织节点下对应的组织信息和成员构成(但不递归子组织节点),其中organization_id为空时返回所在学校的根节点。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/organization/getOrgTree?organization_id=[organization_id]&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
organization_id | false | string | 组织节点id,为空时返回所在学校的根节点 |
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"data": {
"org": [{
"organization_id": 1,//number,子组织节点的id
"name": "教务处",//string,子节点名称
},
{
"organization_id": 2,
"name": "学生处",
}],
"user": [{//array,指定组织下的用户数组
"name": "张三",
"sex": "boy",
"photo_live": "mtA.jpg",
"student_number": "STUDENT_NUMBER",
"grade": "g1"
},
{
"name": "李四",
"sex": "girl",
"photo_live": "mtB.jpg",
"student_number": "STUDENT_NUMBER",
"grade": "g1"
}]
},
"ret":0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
organization_id | int | 子组织节点的id |
org | array | 部门组织数组 |
user | array | 指定组织下的用户数组 |
name | string | 子节点名称 |
sex | string | 性别,"boy"或"girl" |
photo_live | string | 用户的头像 |
student_number | string | 用户的学工号 |
grade | string | 年级编码 小学x1~x6 初中c1~c4 高中g1~g3 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取组织节点信息】
基本描述
第三方应用服务器通过本方法可以查询给定组织节点的信息包含名称父节点id,以及节点属性。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/organization/getOrgNode?organization_id=[organization_id]&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
organization_id | false | string | 组织节点id,为空时返回所在学校的根节点 |
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校编码,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"data": [{
"name": "初三10班",
"parent": "71",
"eb": "tljms",
"attribute": "2",
"grade": "c3"
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
name | string | 节点名称 |
parent | string | 父节点id |
eb | string | 所在学校编码,验证用户接口返回结果中包含此字段 |
attribute | string | 节点属性 0 未定义 1 院系 2 班级 3 行政单位 |
grade | string | 年级编码 小学x1~x6 初中c1~c4 高中g1~g3 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
获取学校的标签列表
基本描述
第三方应用服务器通过本方法可以查询学校已创建的标签,与获取用户信息接口配合使用,可以区分不同身份属性的用户。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/label/getList?access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"data":[
{
"id": 1,//标签id
"label_name": "学生会"//string,标签名称
},
{
"id": 2,
"label_name": "2014级"
}
],
"ret":0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
id | int | 标签id |
label_name | string | 标签名称 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
获取学校的班级列表
基本描述
第三方应用服务器通过本方法可以查询学校的班级列表,与【获取组织节点树下的所有用户信息】接口配合使用,可以获取班级成员。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/organization/getClassesList?access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"data": [{
"id": "4", //班级id 可以用此id 通过【获取组织节点树下的所有用户信息】接口获取班级成员列表
"name": "初中2班",//班级名称
"st_number": "ls01_haizhilan",//班主任学号
"teacher_name": "李连杰"//班主任姓名
},
{
"id": "5",
"name": "初中1班",
"st_number": "ls01_haizhilan",
"teacher_name": "成龙"
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
id | string | 班级id |
name | string | 班级名称 |
st_number | string | 班主任学号 |
teacher_name | string | 班主任姓名 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
获取任课列表
基本描述
第三方应用服务器通过本方法可以查询某老师的任课列表,与【获取组织节点树下的所有用户信息】接口配合使用,可以获取班级成员。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/organization/getClassesListOfUser?access_token=[access_token]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
student_number | true | string | 老师的学工号,此处学号与客户端用户登录时输入的学号不同,增加了用户所在学校的eb编码 |
返回结果
json示例
{
"data": [{
"organization_id": "564", //班级id 可以用此id
"class_name": "2013届初三<1>班" //班级名称
},
{
"organization_id": "565",
"class_name": "2013届初三<2>班"
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
organization_id | string | 班级id |
class_name | string | 班级名称 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
通过学生学号获取班主任
基本描述
第三方应用服务器通过本方法可以查询某老师的任课列表,与【获取用户信息】接口配合使用,可以获取班主任具体信息。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/getClassTutorOfUser?access_token=[access_token]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
student_number | true | string | 学生的学号 ,此处学号与客户端用户登录时输入的学号不同,增加了用户所在学校的eb编码 |
返回结果
json示例
{
"data": {
"student_number": "xxxxx"
},
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
student_number | string | 学号 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
通过班级id获取任课老师列表任
基本描述
第三方应用服务器通过本方法可以查询某班级的任课老师列表,与【获取用户信息】接口配合使用,可以获取班主任具体信息。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/getTeachersOfClass?access_token=[access_token]&organization_id=[organization_id]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
organization_id | true | string | 班级id |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
json示例
{
"data": [
{
"st_number": "3121301103_diwu",
"s_id": "3",
"course_name": "语文",
"name": "王艺群",
"sex": "girl",
"photo_live": "",
"uid": "f27e47b55921162d2d3328490445d90a",
"org": [{
"name": "教研组",
"id": "5"
}]
},
{
"st_number": "3111301147_diwu",
"s_id": "1",
"course_name": "班主任",
"name": "晁梦瑶",
"sex": "girl",
"photo_live": "http:\/\/whistle.ruijie.com.cn:50202\/group1\/M00\/02\/DB\/rBA4r1mAJqqIL-BRAAl7dn9jxj4AAAAORfLYwIACXuO314.png",
"uid": "fb0025078aea249e463a8049b1eff2e6",
"org": [{
"name": "教研组",
"id": "5"
}]
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
student_number | string | 学号 |
name | string | 姓名 |
sex | string | 性别 |
photo_live | string | 头像 |
uid | string | 用户id |
s_id | string | 当s_id取值为1时,该老师为班主任 |
course_name | string | 课程名称 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
校历接口
【作息时间接口】
基本描述
第三方应用服务器通过本方法可以查询学校上课的作息时间表,作息时间可能会因为季节和学期不同,而有所差别,因此需要开发者传递所要查询的日期参数。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/calendar/getLessonList?access_token=[access_token]&eb=[eb]&date=[date]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
date | false | string | 所要请求的作息表的日期 格式如 2017-05-23,可为空,为空时返回所有学校已设置作息时间表 |
返回结果
返回值示例 不传date时返回所有该校已导入作息时间
{
"data": [{
"start_date": "2017-02-23", //作息时间有效期开始日期
"end_date": "2017-07-01", //作息时间有效期结束日期
"count": "8", //每天作息时间节点数量
"lessons": [{
"name": "1", //作息时间节点名称
"begin_time": "8:30", //开始时间
"end_time": "9:15", //结束时间
"type":"1" //1课节、2到校、3早操、4早自习、5午休、6课间操、7放学、8其他
},
{
"name": "2",
"begin_time": "9:25",
"end_time": "10:10",
"type":"1" //1课节、2到校、3早操、4早自习、5午休、6课间操、7放学、8其他
}]
},
{
"start_date": "2017-09-01",
"end_date": "2018-01-23",
"count": "8", //每天作息时间节点数量
"lessons": [{
"name": "1",
"begin_time": "8:30",
"end_time": "9:15",
"type":"1" //1课节、2到校、3早操、4早自习、5午休、6课间操、7放学、8其他
},
{
"name": "2",
"begin_time": "9:25",
"end_time": "10:10",
"type":"1" //1课节、2到校、3早操、4早自习、5午休、6课间操、7放学、8其他
}]
}],
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
传入date时返回日期对应时间的作息时间
{
"data": {
"count": "8", //每天作息时间节点数量
"lessons": [{
"name": "早读", //作息节点名称
"begin_time": "8:30", //开始时间
"end_time": "9:15" //结束时间
},
{
"num": "早饭",
"begin_time": "9:25",
"end_time": "10:10"
}]
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【节假日接口】
基本描述
第三方应用服务器通过本方法可以查询学校设置的节假日列表,包括寒暑假等非法定假日,同时可选择是否返回因休法定假日导致的周末倒班日期。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/calendar/getHolidays?access_token=[access_token]&eb=[eb]&grade=[grade]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
grade | true | string | 年级编码 小学x1~x6 初中c1~c4 高中g1~g3 |
返回结果
返回值示例 不传work参数或者work参数为1时
{
"data": {
"holidays": [{
"holidayname": "元旦", //节假日名称
"holiday_time": "2017-01-01", //法定假日日期,如为寒暑假等非法定假日,为0000-00-00
"begin_date": "2016-12-31", //节假日开始日期
"end_date": "2017-01-02", //节假日结束日期
"holiday_type": "法定节假日", //法定节假日|寒暑假
"rest_date": "2016-12-31,2016-12-31" //倒班日期
},
{
"holidayname": "倒班",
"holiday_time": "2017-01-22",
"begin_date": "2017-01-22",
"end_date": "2017-01-22",
"holiday_type": "寒暑假",
"rest_date": "2016-12-31,2016-12-31"
},
{
"holidayname": "暑假",
"holiday_time": "0000-00-00",
"begin_date": "2017-07-01",
"end_date": "2017-09-01",
"holiday_type": "寒暑假",
"rest_date": "2016-12-31,2016-12-31"
}]
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
【学期起止时间接口】
基本描述
第三方应用服务器通过本方法可以查询学校设置的节假日列表,包括寒暑假等非法定假日,同时可选择是否返回因休法定假日导致的周末倒班日期。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/calendar/getTerm?access_token=[access_token]&eb=[eb]&grade=[grade]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
grade | true | string | 年级编码 小学x1~x6 初中c1~c4 高中g1~g3 |
返回结果
返回值示例
{
"data": {
"term": [
{
"name":"高三第一学期", //学期名称
"term_start_time": "2017-09-01", //学期开始时间
"term_end_time":"2018-01-21" //学期结束时间
},
{
"name":"高三第二学期", //学期名称
"term_start_time": "2017-09-01", //学期开始时间
"term_end_time":"2018-01-21" //学期结束时间
}
]
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
积分奖章接口
【获取总积分数】
基本描述
第三方应用服务器通过本方法可以查询某学生的积分数,学生家长和学生积分相互关联,并始终相同。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/growth/getNumPoin?access_token=[access_token]&eb=[eb]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
student_number | true | string | 所要查询的学工号 |
返回结果
返回值示例
{
"data": {
"total": "12", //积分总数
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取总学豆数】
基本描述
第三方应用服务器通过本方法可以查询某学生的学豆总数,学生家长和学生学豆相互关联,并始终相同。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/growth/getNumBean?access_token=[access_token]&eb=[eb]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
student_number | true | string | 所要查询的学工号 |
返回结果
返回值示例
{
"data": {
"total": "12", //学豆总数
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取总奖章数】
基本描述
第三方应用服务器通过本方法可以查询某学生的奖章总数,学生家长和学生奖章相互关联,并始终相同。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/growth/getNumMedal?access_token=[access_token]&eb=[eb]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
student_number | true | string | 所要查询的学工号 |
返回结果
返回值示例
{
"data": {
"total": "12", //奖章总数
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【授予奖章接口】
基本描述
第三方应用服务器通过本方法授予某学生奖章,学生家长和学生奖章相互关联,并始终相同。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/growth/awardMedal?access_token=[access_token]&eb=[eb]&student_number=[student_number]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
student_number | true | string | 所要查询的学工号 |
reason | true | string | 授予原因说明 |
num | true | int | 授予奖章数,每个同学每天被授予奖章数上限为3个 |
medal_kind | true | string | 奖章类型共分为"habit":学习习惯,"deed":行为养成,"moral":道德品质,"civil":公民素养,"ability":学习能力,"interflow":交流合作,"sports":运动健康,"performance":审美表现,"achievement":标志性成果 |
返回结果
返回值示例
{
"data": "",
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
课程表接口
【课程表查询接口】
基本描述
第三方应用服务器通过本方法获取某学生、老师、班级或者教室的课程表。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/schedule/getTimeTable?student_number=[student_number]&grade=[grade]&class_code=[class_code]&class_room=[class_room]&day_index=[day_index]&teacher_code=[teacher_code]&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
student_number | false | string | 所要查询的学生学号,与class_code,class_room,teacher_code不能同时为空 |
class_code | false | string | 所要查询的班级编码 |
class_room | false | string | 所要查询的教室 |
teacher_code | false | string | 所要查询的教师学工号 |
day_index | false | string | 一周的第几天(从0开始计数),配合student_number,class_code,class_room,teacher_code使用 |
grade | false | string | 查询的年级,配合class_room,teacher_code使用 |
返回结果
返回值示例
{
"ret": 0,
"errcode": 1000,
"errmsg": "ok",
"data": {
"schedule": [{
"grade": "", //年级
"course_code": "", //课程编码
"subject": "", //课程名称
"learn_class": "", //班级
"day_index": "", //一周的第几天(从0开始计数)
"timeslot_index": "", //一天的第几节课(从0开始计数)
"parity": "", //单双周: 1单周,2双周 ,0 每周
"classroom": "", //教室
"classroom_id": "", //教室 id
"teacher_code": "", //教师学工号
"teacher_name": "", //任课老师姓名
"school_area": "" //校区
},
{
"grade": "",
"course_code": "",
"subject": "",
"learn_class": "",
"day_index": "",
"timeslot_index": "",
"parity": "",
"classroom": "",
"classroom_id": "",
"teacher_code": "",
"teacher_name": "",
"school_area": ""
}]
}
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取课程成员查询】
基本描述
第三方应用服务器通过本方法获取某课程上课学生列表。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/schedule/getMemberList?class_code=[class_code]&class_room=[class_room]&day_index=[day_index]×lot_index=[timeslot_index]&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
class_code | false | string | 所要查询的班级编码, 与class_room二选一 |
class_room | false | string | 所要查询的教室, 与class_code二选一 |
day_index | true | string | 一周的第几天(从0开始计数) |
timeslot_index | true | string | 一天的第几节课 |
返回结果
返回值示例
{
"ret": 0,
"errcode": 1000,
"errmsg": "ok",
"data": {
"list": [{//array 课程成员列表
"name": "张三",
"student_number": "STUDENT_NUMBER"
},
{
"name": "李四",
"student_number": "STUDENT_NUMBER"
}]
}
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
name | string | 学生姓名 |
student_number | string | 用户的学工号 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取学校教室列表】
基本描述
第三方应用服务器通过本方法获取学校的教室列表。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/schedule/getClassroomList?access_token=[access_token]&eb=[eb]&type=[type]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
type | false | string | 位置类型 0 教室 1 教学楼 2 校区 不传时返回所有位置列表 |
返回结果
返回值示例
{
"data": {
"count": 3,
"list": [{
"id":"2", // 位置ID
"name": "初一10班教室", // 位置名称
"belong":"3", // 所属ID 例如“初一10班教室”(id 为2) 属于明理楼(id 为3)
"type":"0" //建筑物类型 0 教室 1 教学楼 2 校区
},
{
"id":"3", // 位置ID
"name": "明理楼", // 位置名称
"belong":"4", // 所属位置ID 可能为空
"type":"1" //建筑物类型 0 教室 1 教学楼 2 校区
},
{
"id":"4", // 位置ID
"name": "东校区", // 位置名称
"belong":"", // 所属位置ID 可能为空
"type":"2" //建筑物类型 0 教室 1 教学楼 2 校区
}]
},
"ret": 0,
"errcode": 1000,
"errmsg": ""
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
id | string | 位置ID |
name | string | 位置名称 |
belong | string | 所属位置ID 可能为空 |
type | string | 位置类型 0 教室 1 教学楼 2 校区 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
数据同步
【设置数据同步回调地址接口】
基本描述
第三方应用设置url到微哨服务器平台,当有数据发生变更时,微哨服务器会主动调用该url并携带发生变化的数据信息,应用可以以此来更新自己的数据。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/user/setSyncCallbackUrl?callback_url=[callback_url&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
callback_url | true | string | 回调地址,地址需要做url_encode处理 |
返回结果
返回值示例
{
"ret": 0,
"errcode": 1000,
"errmsg": "ok",
"data": ""
}
回调说明
当用户或者组织结构数据发生变更时,微哨会调用回调地址,并post以下数据,数据中只包含需要更新的数据id,需要应用服务器依据id主动拉取最新数据,服务器不会等待回调地址的返回值,也不做业务判断,如非网络问题,一律认为数据已正常提交。
{
"domain":"", //教育局域名
"eb":"", //学校编码
"all":"true", //是否需要全部更新,为true时,需要更新所有数据(包括用户数据和组织结构数据)
"user":["12321_sss","12321_sss"],//需要更新数据的学号
"org":["1231","12312"] //需要更新数据的组织节点
}
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
岗位接口
【获取岗位列表】
基本描述
第三方应用服务器通过本方法获取学校的岗位列表。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/post/getList?access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
返回值示例
{
"data": [{
"id": "1000",
"post_name": "教职工",
"sort": "1000"
},
{
"id": "1001",
"post_name": "学生",
"sort": "1001"
},
{
"id": "1002",
"post_name": "其他",
"sort": "1002"
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
id | string | 岗位id |
post_name | string | 岗位名称 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
【获取岗位下的用户列表】
基本描述
第三方应用服务器通过本方法获取学校的岗位下的用户列表。
请求方式
GET
请求url形式
https://k12.api.weishao.com.cn/api/index.php/post/getUserList?post_id=1000&access_token=[access_token]&eb=[eb]
参数说明
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
access_token | true | string | 应用服务器获取的access_token |
eb | true | string | 所在学校域名,验证用户接口返回结果中包含此字段 |
返回结果
返回值示例
{
"data": [{
"student_number": "ceshi_szftedu",
"name": "微哨测试"
},
{
"student_number": "微哨客服_szftedu",
"name": "微哨客服"
}],
"ret": 0,
"errcode": 1000,
"errmsg": "ok"
}
返回结果字段说明
参数名 | 类型 | 说明 |
---|---|---|
student_number | string | 学工号 |
name | string | 姓名 |
访问权限限制
访问级别:普通接口
频次限制:是
授权scope:base_api
注意事项
*无
错误码说明
errcode | 说明 |
---|---|
1000 | 成功 |
1001 | 用户未登陆 |
1002 | 用户verify不正确 |
1003 | app_key 错误或应用未上架 |
1004 | 参数不全 |
1005 | 用户为订阅该该应用,不能向其发送通知 |
1006 | 所查信息不存在 |
1007 | 未知的消息类型 |
1008 | 消息格式错误 |
1009 | 节点拥有子节点不能删除 |
1010 | 标题过长 |
1011 | 消息内容过长 |
1012 | 数据已存在 |
1013 | 时间格式不对,或者定时时间已过 |
1014 | 参数domain错误:domain不存在 |
1015 | 获取学校消息错误! |
1016 | ldap服务器连接失败 |
1017 | 用户名或密码错 |
1018 | 用户已被禁用 |
1019 | oauth服务异常 |
1020 | 用户数量大于限定值 |
60071 | 参数num错误 |
60072 | 超过每日获得上限 |
60073 | 超过每日给予上限 |