目录 API:班级、教师、教室
更新于 27.10.2026
参考书是机构、团体、教师和俄罗斯交通大学 (MIIT)构成时间表的教室。 所有这些都是开放的阅读没有钥匙。 2026年10月23日与摊位d1核对;本页的方法也可在生产中使用。
方法
无法加载接口方法列表打开接口参考 (在新标签页中打开)
研究所:GET/研究所
所有大学学院都是: id, code(例如, АГА), name, groupsCount, university. 没有显示已离开时间表的研究所; includeRetired=1将添加它们与retired: true和successorCode -继承研究所的代码。
组:获取/组
search是代码的不区分大小写部分(шад),course是课程吗,instituteIds用逗号分隔,facultyCode.- 该集团有:
id,name(代码,GET /schedule?group=…就可以了),displayName三种语言,course,institute,specialty. GET /groups/{id}-一组;GET /groups/filters-过滤器的值。
教师:GET/教师
search—全名或短名,department-部门,instituteIds-谁在这些学院上课。- 老师有:
id,fullName和shortName三种语言,department,photoUrl,profileUrl(页上miit.ru ,如果有的话),source. GET /teachers/{id}是老师的卡片吗;GET /teachers/filters是过滤器的部门。
观众:获取/观众
search,building,而floor可以用逗号分隔(?building=8,12),instituteIds,order(desc默认情况下)。- 为观众而设:
name(如在时间表中,例如8412),fullName(“8号楼4楼12号礼堂”),building,floor,room,address,buildingInfo与建筑物的坐标。 GET /auditories/room?name=8412-指定一个礼堂;GET /auditories/filters-建筑物和地板。
小组、教师和教室是按页分配的: page, perPage(默认为20,不超过200),或all=1(最多2000个条目)。 机构一下子就来了,没有一页一页的输出。 三种语言的文本作为对象{ ru, en, zh }.
示例:浏览目录
// Institutes, a group of the first institute, one teacher by id and one room by its name.
const API = process.env.VISH_API ?? 'https://d1.vish-app.ru/api/v1'
const get = async (path, params = {}) => {
const url = new URL(`${API}${path}`)
for (const [name, value] of Object.entries(params)) url.searchParams.set(name, String(value))
const response = await fetch(url)
if (!response.ok) throw new Error(`${url}: HTTP ${response.status}`)
return response.json()
}
const institutes = await get('/institutes')
const institute = institutes.list.find((item) => item.groupsCount > 0)
if (!institute) throw new Error('no institute with groups')
const groups = await get('/groups', { instituteIds: institute.id, perPage: 3 })
if (!groups.list.every((group) => group.institute?.id === institute.id)) throw new Error('instituteIds filter ignored')
const [firstTeacher] = (await get('/teachers', { perPage: 1 })).list
const teacher = await get(`/teachers/${firstTeacher.id}`)
if (teacher.id !== firstTeacher.id) throw new Error('teacher lookup failed')
const [firstRoom] = (await get('/auditories', { perPage: 1 })).list
const room = await get('/auditories/room', { name: firstRoom.name })
if (room.name !== firstRoom.name) throw new Error('room lookup failed')
console.log(`${institute.code}: ${institute.name.ru}, ${institute.groupsCount} groups, e.g. ${groups.list.map((g) => g.name).join(', ')}`)
console.log(`teacher: ${teacher.fullName.ru} (${teacher.department?.ru ?? 'no department'})`)
console.log(`room ${room.name}: ${room.fullName.ru}`)尝试
试一试请求
只有带锁的方法需要密钥。密钥只保存在本页:不会被存储,只作为本次请求的请求头发送,离开页面后即被清除。 如何获取密钥
有用的知道
- 展位Id不同。
idd1和生产上的组不匹配。 团体编号(ШАД-111)、教师姓名和教室名称是相同的;如果集成在两个摊位上,请保留它们。 - 团体,教师和教室来自大学的时间表 到miit.ru 它们也随之更新。
- 只有有权利的员工(
reference:groups:manage,teachers:manage)可以更改目录-手动添加的教师被标记source: "manual".
验证:2026-10,PWA aa337c45,平台bff65fce._