面试系统

创建面试

POST /open_api/v1/interviews

请求参数:

参数名 参数名 必填 参数类型 描述
user_id 否 Integer 创建人ID
candidate_name 否 String 候选人名字
expire_in 否 Integer 面试官链接有效期,单位为小时,默认为14天(已废弃,链接永久有效)
written_pad_id 否 Integer 笔试板ID, written_pad_id/written_pad_uid 可只填一个
written_pad_uid 否 String 笔试板UID, written_pad_id/written_pad_uid 可只填一个
type_id 否 Integer 面试类型(1: 技术面试(默认),2: 非技术面试)
interviewers 否 Array[] 面试官信息,最多为5个
uid 是 String 面试官ID
name 是 String 面试官名称
phone 是 String 面试官手机号。手机号和邮箱必须填一个
email 是 String 面试官邮箱。手机号和邮箱必须填一个
resume_link 否 String 简历链接,如需展示第三方iframe简历可传入链接
evaluation_link 否 String 评价链接, 如需展示第三方iframe评价页面可传入链接
redirect_uri 否 String 面试结果后跳转链接, 跳转到第三方平台

返回结果(data中的内容):

参数名 参数名 必填 参数类型 描述
uid 是 String 面试UID
interviewer_url 是 String 面试官面试地址
candidate_url 是 String 候选人面试地址
interviewer_urls 否 Array 候选人面试地址
uid 否 String 面试官ID
name 否 String 面试官name
interviewer_url 否 String 面试官专属链接

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "uid": "XABCFK",
    "interviewer_url": "https://www.showmebug.com/xxxxxxxx",
    "candidate_url": "https://www.showmebug.com/xxxxxxxx",
    "interviewer_urls": [
      {
      "uid": "C111",
      "name": "张三",
      "interviewer_url": "https://www.showmebug.com/xxxxxxxx"
      },
      {
      "uid": "C112",
      "name": "李四",
      "interviewer_url": "https://www.showmebug.com/xxxxxxxx"
      }
    ]
  }
}

编辑面试

PATCH /open_api/v1/interviews/UID

请求参数:

参数名 参数名 必填 参数类型 描述
uid 是 Integer 面试UID
type_id 否 Integer 面试类型(1: 技术面试(默认),2: 非技术面试)(该参数已废弃)
interviewers 是 Array[] 面试官信息,最多为5个
uid 是 String 面试官ID
name 是 String 面试官名称
phone 是 String 面试官手机号。手机号和邮箱必须填一个
email 是 String 面试官邮箱。手机号和邮箱必须填一个
resume_link 否 String 简历链接,如需展示第三方iframe简历可传入链接
evaluation_link 否 String 评价链接, 如需展示第三方iframe评价页面可传入链接
redirect_uri 否 String 面试结果后跳转链接, 跳转到第三方平台

返回结果(data中的内容):

参数名 参数名 必填 参数类型 描述
uid 是 String 面试UID
interviewer_urls 否 Array 候选人面试地址
uid 否 String 面试官ID
name 否 String 面试官name
interviewer_url 否 String 面试官专属链接

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "uid": "XABCFK",
    "interviewer_urls": [
      {
      "uid": "C111",
      "name": "张三",
      "interviewer_url": "https://www.showmebug.com/xxxxxxxx"
      },
      {
      "uid": "C112",
      "name": "李四",
      "interviewer_url": "https://www.showmebug.com/xxxxxxxx"
      }
    ]
  }
}

获取面试结果

GET /open_api/v1/interviews/:uid/result

请求参数:

参数名 必填 参数类型 描述
uid 是 String 面试UID

返回结果(data中的内容):

参数名 必填 参数类型 描述
uid 是 String 面试UID
rate 是 Integer 平均得分(四舍五入)
rate_content 是 String 评分详情
evaluation 是 String 评语
report_url 是 String 报告地址

例:

{
    "errcode":0,
    "errmsg":"请求成功",
    "data":{
        "uid":"AUYDED",
        "rate":3,
        "rate_content":[
            [
                "沟通交流",
                "2"
            ],
            [
                "编码能力",
                "3"
            ],
            [
                "工程素养",
                "4"
            ]
        ],
        "evaluation":"满意,建议录用",
        "report_url":"https://www.showmebug.com/xxxxxxxx"
    }
}

如果面试未结束,则返回

{
    "errcode":422,
    "errmsg":"面试尚未结束"
}

批量创建面试

POST /open_api/v1/batch_interviews

请求参数:(一次最大支持100条数据)

参数名 参数名 参数名 必填 参数类型 描述
user_id 否 Integer 创建人ID
type_id 否 Integer 面试类型(1: 技术面试(默认),2: 非技术面试)
interviews 是 Array[] 面试列表,最多为100个
uid 是 String 候选人uid
name 是 String 候选人名字
interviewers 否 Array[] 面试官信息,最多为5个
uid 是 String 面试官ID, 用于区分不同面试官
name 是 String 面试官名称
phone 是 String 面试官手机号。手机号和邮箱必须填一个
email 是 String 面试官邮箱。手机号和邮箱必须填一个
resume_link 否 String 简历链接,如需展示第三方iframe简历可传入链接
evaluation_link 否 String 评价链接, 如需展示第三方iframe评价页面可传入链接
redirect_uri 否 String 面试结果后跳转链接, 跳转到第三方平台

例:

{
  "user_id": 1001,
  "interviews": [
    {
      "uid": "C001",
      "name": "李四",
      "interviewers": [
        {
          "uid": "C111",
          "name": "王五",
          "phone": "13000000000",
          "resume_link": "https://www.xxx.com",
          "evaluation_link": "https://www.xxx.com",
          "redirect_uri": "https://www.xxx.com",
        }
      ]
    }
  ]
}

返回结果(data中的内容):

参数名 参数名 参数名 必填 参数类型 描述
interviews Array 面试数组
uid 是 String 面试UID
interviewer_url 是 String 面试官面试地址
candidate_url 是 String 候选人面试地址
candidate_uid 是 String 候选人uid
candidate_name 是 String 候选人名称
interviewers 否 Array[] 面试官信息,最多为5个
uid 是 String 面试官ID
name 是 String 面试官名称
interviewer_url 是 String 面试官专属链接

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "interviews": [
      {
        "uid": "XABCFK",
        "interviewer_url": "https://www.showmebug.com/xxxxxxxx",
        "candidate_url": "https://www.showmebug.com/xxxxxxxx",
        "candidate_uid": "C001",
        "candidate_name": "李四",
        "interviewers": [
          {
            "uid": "C123",
            "name": "张三",
            "interviewer_url": "https://www.showmebug.com/xxxxx"
          }
        ]
      }
    ]
  }
}

获取面试列表

GET /open_api/v1/interviews

请求参数:

参数名 必填 参数类型 描述
search 否 string 搜索关键字,笔试板名称
creator_id 否 Integer 发卷人ID
status 否 Array 笔试状态:interview_opened 未开始,interview_started 正在进行,interview_ended 已完成
created_time_start 否 Datetime 创建时间,时间段开始时间
created_time_end 否 Datetime 创建时间,时间段结束时间
ended_time_start 否 Datetime 面试结束时间,时间段开始时间
ended_time_end 否 Datetime 面试结束时间,时间段结束时间
page 否 Integer 页数
per_page 否 Integer 分页大小,默认25,最大50

返回结果(data中的内容):

参数名 参数类型 描述
count Integer 面试总数
interviews Array 面试数组
id Integer 面试ID
number String 面试唯一编号,uid
name String 面试板名称
status String 面试状态
creator_id Integer 创建人ID
creator_name String 创建人名称
rate Integer 面试评分,1 ~ 5 星
pad_duration_time Integer 面试时长,单位秒
interview_evaluation String 面试官评价
created_at Datetime 创建时间,格式ISO8601
interview_started_at Datetime 开始时间,格式ISO8601
interview_ended_at Datetime 结束时间,格式ISO8601

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "count": 2,
    "interviews": [
      {
        "id": 1,
        "number": "ABCDEF",
        "name": "李某",
        "status": "interview_ended",
        "creator_id": 1,
        "creator_name": "李四",
        "rate": 5,
        "interview_evaluation": "还不错,可以继续",
        "pad_duration_time": 1800,
        "created_at": "2020-10-01T16:00:00+08:00",
        "interview_started_at": "2020-10-01T17:00:00+08:00",
        "interview_ended_at": "2020-10-01T19:00:00+08:00",
      },
      {
        "id": 1,
        "number": "ABCDEF",
        "name": "李某",
        "status": "interview_drafted",
        "creator_id": 1,
        "creator_name": "李四",
        "rate": null,
        "interview_evaluation": null,
        "pad_duration_time": null,
        "created_at": "2020-10-01T16:00:00+08:00",
        "interview_started_at": null,
        "interview_ended_at": null,
      }
    ]
  }
}

删除面试

DELETE /open_api/v1/interviews/:uid

请求参数:

参数名 必填 参数类型 描述
user_id 否 Integer 操作者ID

返回结果:

例:

{
  "errcode": 0,
  "errmsg": "成功"
}

创建排队面试

POST /open_api/v1/interview_rooms

请求参数:

参数名 参数名 参数名 必填 参数类型 描述
rounds 是 Array 轮次信息
round_number 是 Integer 轮次顺序
candidates 是 Array 候选人信息
name 是 String 候选人名称
email 是 String 候选人邮箱
phone 是 String 候选人手机号
start_time 是 String 预约面试时间, 输入格式:2022/12/01 10:00
job_name 否 String 岗位名称
interviewers 是 Array 面试官信息
name 是 String 面试官名称
email 是 String 面试官邮箱
phone 是 String 面试官手机号

例:

{
 rounds: [
     {
      "round_number": "1",
      "candidates": [{
          "name": "xxx",
          "email": "ss@ss.com",
          "phone": "12100000000",
          "start_time": "xxx",
          "job_name": "xxx"
      }],
      "interviewers": [{
          "name": "xxx",
          "email": "ss@ss.com",
          "phone": "12100000000"
      }]
     },
     {
      "round_number": "2",
      "candidates": [{
          "name": "xxx",
          "email": "ss@ss.com",
          "phone": "12100000000",
          "start_time": "xxx",
          "job_name": "xxx"
      }],
      "interviewers": [{
          "name": "xxx",
          "email": "ss@ss.com",
          "phone": "12100000000"
      }]
     }
 ]
}

返回结果(data中的内容):

参数名 参数名 参数名 必填 参数类型 描述
project_id 是 Integer 叫号面试的项目ID
rounds 是 Array 轮次信息
round_number 是 Integer 轮次顺序
candidates 是 Array 候选人信息
name 是 String 候选人名称
phone 是 String 候选人电话
email 是 String 候选人邮箱
appointment_at 是 String 预约时间
created_at 是 String 创建时间
pad_url 是 String 面试链接
expired_at 是 String 面试链接失效时间
errmsg 否 String 创建失败时,展示失败原因
interviewers 是 Array 面试官信息
name 是 String 面试官名称
phone 是 String 面试官电话
email 是 String 面试官邮箱
created_at 是 String 创建时间
pad_url 是 String 面试链接
errmsg 否 String 创建失败时,展示失败原因

例 :

{
  "errcode": 0,
  "errmsg": "成功",
  "rounds": [
     {
      "round_number": "1",
      "candidates": [{
      "name": "sss",
      "email": "aa@aa.com",
      "phone": "19000000000",
      "appointment_at": "2023/08/30 10:00",
      "created_at": "2023/02/27 14:44",
      "pad_url": "https://www.showmebug.com/ninterview_rooms/XXXXX",
      "expired_at": "2023-03-13 18:00"
      }],
    "interviewers": [{
      "name": "aaa",
      "email": "aaa@aa.com",
      "phone": "12100000000",
      "created_at": "2023/02/27 14:44",
      "pad_url": "https://www.showmebug.com/interview_waiting_rooms/XXXXX"
    }]
     }
 ]
}

删除排队面试

DELETE /open_api/v1/interview_rooms/:ID

请求参数:

参数名 必填 参数类型 描述
id 是 Integer 叫号面试的项目ID

例:

{
  "errcode": 0,
  "errmsg": "成功"
}

获取面试题目列表

GET /open_api/v1/questions

请求参数:

参数名 必填 参数类型 描述
search 否 string 搜索关键字,题目标题
page 否 Integer 页数
per_page 否 Integer 分页大小,默认25,最大50

返回结果(data中的内容):

参数名 必填 参数类型 描述
count 是 Integer 题目总数
questions 是 Array 题目数组
id 是 Integer 题目ID
title 否 String 题目标题备注
language 是 String 编程语言
contents 是 String 题目内容及代码
description 是 String 题目描述备注
creator_id 否 Integer 创建人ID
creator_name 否 String 创建人名称
created_at 是 String 创建时间,ISO8601格式
updated_at 是 String 更新时间,ISO8601格式

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "count": 2,
    "questions": [
      {
        "id": 1,
        "title": "测试编程题 - 五",
        "creator_id": 1001,
        "creator_name": "李四",
        "language": "Java",
        "contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
        "description": "考察冒泡排序",
        "created_at": "2020-10-01T16:00:00+08:00",
        "updated_at": "2020-10-01T16:00:00+08:00"
      },
      {
        "id": 2,
        "title": "测试编程题 - 六",
        "creator_id": 1001,
        "creator_name": "李四",
        "language": "Ruby",
        "contents": "# 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n def custom\n\nend",
        "description": "考察冒泡排序",
        "created_at": "2020-10-01T16:00:00+08:00",
        "updated_at": "2020-10-01T16:00:00+08:00"
      }
    ]
  }
}

创建面试题目

POST /open_api/v1/questions

请求参数:

参数名 必填 参数类型 描述
creator_id 否 Integer 题目创建人、默认为管理员
language 否 string 题目语言,默认富文本
contents 是 string 题目内容及代码
description 否 string 题目描述备注,仅面试官可见
title 否 string 题目标题备注

返回结果(data中的内容):

参数名 参数类型 描述
id 是 Integer 题目ID
title 否 String 题目标题备注
language 是 String 编程语言
contents 是 String 题目内容及代码
description 是 String 题目描述备注
creator_id 否 Integer 创建人ID
creator_name 否 String 创建人名称
created_at 是 String 创建时间,ISO8601格式
updated_at 是 String 更新时间,ISO8601格式

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "id": 1,
    "title": "测试编程题 - 五",
    "creator_id": 1001,
    "creator_name": "李四",
    "language": "Java",
    "contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
    "description": "考察冒泡排序",
    "created_at": "2020-10-01T16:00:00+08:00",
    "updated_at": "2020-10-01T16:00:00+08:00"
  }
}

批量创建面试题目

POST /open_api/v1/batch_questions

请求参数:(一次最大支持100条数据)

参数名 必填 参数类型 描述
creator_id 否 Integer 题目创建人,默认为管理员
questions 是 Array 题目列表,最大长度为100
language 否 string 题目语言,默认富文本
contents 是 string 题目内容及代码
description 否 string 题目描述备注,仅面试官可见
title 否 string 题目标题备注

返回结果(data中的内容):

参数名 参数类型 描述
success_count 是 Boolean 创建成功数量
fail_count 否 String 失败数量
questions 是 Array 题目数组
success 是 Boolean 是否创建成功
message 否 String 失败原因
question 是 Object 题目信息,成功时与创建题目返回一致,失败时为传入题目参数

例:

{
  "errcode": 0,
  "errmsg": "成功",
  "data": {
    "success_count": 1,
    "fail_count": 1,
    "questions": [
      {
        "success": true,
        "message": "",
        "question": {
          "id": 1,
          "title": "测试编程题 - 五",
          "creator_id": 1001,
          "creator_name": "李四",
          "language": "Java",
          "contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
          "description": "考察冒泡排序",
          "created_at": "2020-10-01T16:00:00+08:00",
          "updated_at": "2020-10-01T16:00:00+08:00"
        }
      },
      {
        "success": false,
        "message": "Contents 不能为空",
        "question": {
          "contents": null,
          "title": null,
          "language": "ruby",
          "description": ""
        }
      }
    ]
  }
}

删除面试题目

DELETE /open_api/v1/questions/:id

返回结果:

例:

{
  "errcode": 0,
  "errmsg": "成功"
}

条 "" 的搜索结果

    没有 "" 的搜索结果