You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
面试管理接口文档
概述
面试管理基础模块,支持企业创建面试、学生响应面试、企业取消/完成面试,以及面试状态时间线查看。
状态机
SCHEDULED → CONFIRMED → COMPLETED (终态)
↓ ↓
↓→ DECLINED (终态)
↓→ RESCHEDULE_REQUESTED → SCHEDULED
↓→ CANCELLED (终态)
接口列表
1. 创建面试 (企业)
POST /api/v1/applications/{applicationId}/interviews
请求体:
{
"roundNo": 1,
"title": "技术面试",
"interviewType": "ONLINE",
"startAt": "2026-08-10T14:00:00",
"endAt": "2026-08-10T15:00:00",
"timezone": "Asia/Shanghai",
"meetingUrl": "https://meeting.example.com/123",
"interviewerName": "张经理",
"notes": "请准备项目经验介绍"
}
2. 查询投递的面试列表
GET /api/v1/applications/{applicationId}/interviews
3. 我的面试列表
GET /api/v1/interviews/me?status=SCHEDULED&from=2026-08-01&to=2026-08-31&page=0&size=20
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | String | 否 | 状态筛选 |
| from | DateTime | 否 | 开始时间 >= from |
| to | DateTime | 否 | 开始时间 <= to |
| page | int | 否 | 页码, 默认0 |
| size | int | 否 | 每页大小, 默认20, 最大100 |
4. 面试详情
GET /api/v1/interviews/{interviewId}
5. 修改面试 (企业)
PUT /api/v1/interviews/{interviewId}
6. 学生响应面试
POST /api/v1/interviews/{interviewId}/respond
请求体:
{
"action": "CONFIRM",
"reason": "时间可以接受"
}
action 可选值: CONFIRM, DECLINE, REQUEST_RESCHEDULE
7. 企业取消面试
POST /api/v1/interviews/{interviewId}/cancel
8. 企业完成面试
POST /api/v1/interviews/{interviewId}/complete
9. 状态时间线
GET /api/v1/interviews/{interviewId}/timeline
权限矩阵
| 操作 | 企业 | 学生 |
|---|---|---|
| 创建面试 | 仅本企业岗位投递 | ❌ |
| 查看面试 | 仅本企业 | 仅本人 |
| 修改面试 | 仅本企业 | ❌ |
| 取消面试 | 仅本企业 | ❌ |
| 响应面试 | ❌ | 仅本人 |
| 完成面试 | 仅本企业 | ❌ |
错误码
| 错误码 | 说明 |
|---|---|
| 8401 | 面试不存在 |
| 8402 | 无权访问面试 |
| 8403 | 非法状态流转 |
| 8404 | 时间区间无效 |
| 8405 | 面试时长超过8小时 |
| 8406 | 在线面试需要会议链接 |
| 8407 | 线下面试需要地址 |
| 8408 | 面试开始时间必须在未来 |
| 8409 | 面试未结束不能完成 |
| 8410 | 已响应,不可重复操作 |