NAV Navbar
Language切换
代码
  • API文档版本切换
  • Offer API
  • 用户API
  • 候选人API
  • 组织架构API
  • API文档版本切换

    Api接口新版本

    切换到Api接口新版本

    考试/测评、背调、视频面试接入指南 (platform)

    切换到考试/测评、背调、视频面试接入指南

    Offer API

    获取offer自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offers/custom_fields
    

    返回样例

    {
      "social": [
        {
            "id": 496,
            "name": "dmj-offer",
            "type": 1,
            "detail": null,
            "hire_mode": 1
        },
        {
            "id": 281,
            "name": "子公司",
            "type": 6,
            "detail": [
                "子公司1",
                "子公司2",
                "子公司3"
            ],
            "hire_mode": 2
        },
        {
            "id": 456,
            "name": "offer-校-年月日",
            "type": 9,
            "detail": null,
            "hire_mode": 2
        }
      ],
      "campus": [
        {
            "id": 273,
            "name": "时间段4",
            "type": 7,
            "detail": null,
            "hire_mode": 2
        },
        {
            "id": 276,
            "name": "单行文本",
            "type": 1,
            "detail": null,
            "hire_mode": 2
        },
        {
            "id": 277,
            "name": "家庭住址",
            "type": 1,
            "detail": null,
            "hire_mode": 2
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/offers/custom_fields

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    social array 社招自定义字段
    social[].id integer 自定义字段id
    social[].name string 自定义字段名称
    social[].type integer 自定义字段类型: 1单行文本,2多行文本,3是否题,4年月选择,6选择题,7时间段,8Offer关联的HC,9日期,10数字
    social[].detail array 自定义字段选择项
    social[].hire_mode integer 招聘类型: 1 社招, 2 校招
    campus array 校招自定义字段
    campus[].id integer 自定义字段id
    campus[].name string 自定义字段名称
    campus[].type integer 自定义字段类型: 1单行文本,2多行文本,3是否题,4年月选择,6选择题,7时间段,8Offer关联的HC,9日期,10数字
    campus[].detail array 自定义字段选择项
    campus[].hire_mode integer 招聘类型: 1 社招, 2 校招

    用户API

    同步人事信息给Moka系统

    Moka 系统中会根据请求的列表对当前系统中的人员进行同步(新增,更新,标记删除)。 同步以用户的邮箱、工号、手机号任意一个为主键,与系统中用户的邮箱、工号、手机号任意一个进行对比: 1、当前系统没有,同步时有:新增一个用户 2、当前系统有,同步时也有:更新已经存在的用户信息。如果同步时有,当前系统职责状态标识为删除,更新后,状态改为正常。

    HTTP 请求

    POST https://api.mokahr.com/api-platform/v1/users/syncInfo

    请求样例 (JSON)

    {
        "usersInfo": [{
            "email": "test@mokahr.com",
            "name": "张三",
            "phone": "18710000182",
            "number": "101",
            "role": 10,
            "departmentCode": ["888","999"],
            "superiorEmail": "superior@mokahr.com",
            "deactivated": 0,
            "thirdPartyId": "E12345",
            "updateDepartment": true,
            "updateSuperiorEmail": true,
            "autoActivated": 1,
            "locale":"en-English"
        }]
    }
    

    操作成功

    { 
      "success": true 
    }
    

    操作失败

    {
      "success": false,
      "errorMessage": "错误信息"
    }
    

    请求body参数

    字段 必填 类型 描述
    email string 邮箱
    name string 姓名
    phone string 电话
    number string 工号
    role integer 角色
    可选值:
    0:内推人
    5:前台
    10:面试官
    20:用人经理
    25:高级用人经理
    30:HR
    40:管理员
    50:超管
    当前字段创建时可使用,不支持数据更新,如果更新则去对应的v2接口中。
    roleId integer 自定义角色id:当前字段创建时可使用,不支持数据更新,如果更新则去对应的v2接口中
    departmentCode array 部门,全部部门传空数组
    superiorEmail string 上级邮箱,传空字符串会清空moka系统中的汇报关系,可以通过设置updateSuperiorEmail 参数,选择是否更新汇报关系
    deactivated integer 是否被禁用
    可选值:
    0:可用
    1:禁用
    thirdPartyId string 功能性字段,用作单点登录,没有传空字符串
    updateDepartment boolean !!!注意:不传默认是true
    是否更新部门
    true:更新
    false:不更新
    updateSuperiorEmail boolean 是否更新上级汇报人
    可选值:
    true:更新
    false:不更新
    默认true
    autoActivated integer 是否自动激活,高级经理、HR、管理员和超管角色默认需要发送邮件进行账号激活。
    可选值:
    0:不自动激活,发邮件给用户手动激活
    1:自动激活,系统自动生成默认密码自动进行激活
    传空字符串默认为0
    locale string 用户语言
    可选值:
    zh-CN:为中文
    en-US:英文
    默认为中文

    处理

    Moka 系统中会根据请求的列表中每个用户的邮箱和工号对当前系统中的用户进行同步(新增,更新)。

    可能的错误信息

    errorMessage 描述
    未开启人事信息同步开关
    参数格式错误 比如:部门必须为数组
    每次最多同步100个用户
    邮箱和工号不能同时为空
    角色为整数或者空字符串 空字符串默认面试官
    缺少必须参数 全部为必须参数 没有传空
    未找到对应的部门信息 开启组织架构同步时 未找到任何一个匹配的部门
    该手机号码已被所在公司其他账号使用,请尝试其他号码
    此邮箱已为其他用户使用
    此工号已为其他用户使用
    至少需要一名管理员
    可用高级用人经理账户数不足
    可用账户数不足
    系统错误
    ...

    注意事项

    调试请先联系相关负责人开启。 请确认开启组织架构同步,并且已同步过组织架构数据,否则人事部门信息将按照全部门处理 邮箱和工号不能同时为空。 只支持内置角色,角色信息是空或是0默认面试官。 每次同步的用户信息不能大于100个。 同步到某个用户出错时,会停止同步并且报错误。错误信息前会加上(邮箱或者工号)的前缀。并且从报错之前的数据已经同步成功。

    候选人API

    获取候选人信息

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/data/ehrApplications?stage=all&applicationId=333333333' \
    --header 'Authorization: Basic TW4xY**********ckpDdnk6' \
    --data-raw ''
    

    返回样例

    {
      "data": [{
        "applicationId": 47151744,
        "candidateId": 28739723,
        "name": "张三",
        "phone": null,
        "email": "yang111@163.com",
        "gender": null,
        "birthYear": null,
        "birthDate": "2020-03-17T00:00:00.000Z",
        "nationality": null,
        "experience": null,
        "ethnic": null,
        "certificateType": null,
        "citizenId": null,
        "nativePlace": "",
        "source": "其它渠道",
        "sourceType": 2,
        "sourceList": [
          {
            "name": "其它渠道", 
            "isBuiltin": true
          }, {
            "id": 4, 
            "name": "历史渠道", 
            "isBuiltin": true
          }
        ],
        "academicDegree": null,
        "lastSpeciality": "人力资源管理",
        "married": null,
        "jobCommitment": "全职",
        "hireMode": 1,
        "departmentCode": null,
        "parentDepartmentCode": null,
        "resumeKey": null,
        "stageName": "沟通offer",
        "nativePlaceCode": null,
        "nationalityCode": null,
        "genderCode": null,
        "academicDegreeCode": null,
        "ethnicCode": null,
        "lastCompany": "郑州***限公司",
        "campus_site_id": 1,
        "campus_site_name": "哈尔冰佛学院",
        "job": {
          "title": "test",
          "department": "xinjan2",
          "departmentCode": null,
          "parentDepartmentCode": null,
          "departmentPath": "华北地区/二级财务部/产品部/产研部/xinjan2",
          "jobId": "39d3d5c9-949e-40d4-8d4b-5cb247d327a8",
          "customFields": [
            {
              "name": "职位-年月",
              "value": "2019-01"
            }
          ]
        },
        "jobManager": {
          "name": "test",
          "email": "11q1@qq.com",
          "phone": "17611232222",
          "employeeId": "01"
        },
        "officeweb365Url": null,
        "officeweb365PrintUrl": null,
        "resumePdfMeta": null,
        "portraitUrl": null,
        "resumeUrl": "",
        "educationInfo": [{
          "id": 34263162,
          "startDate": "",
          "endDate": "",
          "school": null,
          "speciality": null,
          "academicDegree": null,
          "startTime": null,
          "endTime": null,
          "now": false
        }],
        "experienceInfo": [{
          "id": 76685202,
          "startDate": "",
          "endDate": "",
          "company": null,
          "title": null,
          "startTime": null,
          "endTime": null,
          "now": false,
          "underlingNumber": "5"
        }],
        "awardInfo": [{
          "awardDate": null,
          "awardName": null
        }],
        "customFields": [{
          "name": "单行文本",
          "value": "122",
          "section": "题型测试",
          "index": 0
        }, {
          "name": "字段呀",
          "value": "1333",
          "section": "1测试",
          "index": 0
        }, {
          "name": "我叫何为",
          "value": "题型0001",
          "section": "测试",
          "index": 0
        }, {
          "codes": "",
          "name": "T选择",
          "value": "A",
          "section": "1测试",
          "index": 0
        }, {
          "name": "字段呀",
          "value": "133333333",
          "section": "1测试",
          "index": 0
        }, {
          "name": "我叫何为",
          "value": "题型0002",
          "section": "1测试",
          "index": 0
        }, {
          "codes": "",
          "name": "T选择",
          "value": "B:4",
          "section": "1测试",
          "index": 0
        }, {
          "name": "T多文本 ",
          "value": "多文本 必填",
          "section": "basicInfo"
        }, {
          "codes": "",
          "name": "T确认型",
          "value": "Y",
          "section": "basicInfo"
        }],
        "interviewers": [],
        "interviewFeedbackUrl": null,
        "referrer": {
          "name": "杨",
          "email": "11111@mokahr.com",
          "phone": "15001802222",
          "number": "2019"
        },
        "headcountInfo": [],
        "jobRanksInfo": [],
        "offer": {
          "approvalStatus": "APPROVED",
          "salaryNumber": null,
          "checkinDate": "2018-09-20T13:00:07.000Z",
          "location": "上海市 普陀区 XXXX大学XXXX教室",
          "creator": {
            "name": "报表_HR",
            "email": "mce35@yuoia.com"
          },
          "finishedAt": null,
          "customFields": [{
            "name": "合同日期",
            "value": "2022"
          }, {
            "name": "转正日期",
            "value": "2018-09-20"
          }, {
            "name": "自定义 - 据offer后去向",
            "value": null
          }, {
            "name": "测试123",
            "value": null
          }, {
            "name": "自定义offer字段",
            "value": null
          }, {
            "name": "多行",
            "value": null
          }, {
            "name": "222按时",
            "value": null
          }, {
            "name": "1212111111",
            "value": null
          }],
          "hcInfo": null,
          "jobRankInfo": null,
          "departmentName": "产品创新部",
          "departmentCode": 30,
          "parentDepartmentCode": 10,
          "departmentPath": "产研部/产品创新部",
          "offerLastSentAt": "2019-10-29T03:41:07.000Z"
        },
        "attachments": [
          {
            "name": "附件1",
            "size": 1024,
            "url": "https://cdn.mokahr.com/e11d677-4962-4309-b507-2273bf2499c8.pdf?OSSAccessKeyId=BBc12XXIQWCGUAZO&Expires=1505300229&Signature=Vdw6zpNH8HTUnu1FvhSjdXiqK6Q="
          }
        ],
        "ehrCandidateExternalLink": "https://cdn.mokahr.com/forward/candidate/info?access_token=93e0eb37-6a5c-4fe4-91db-0579a844fb51"
      },
        {
          "applicationId": 47168265,
          "candidateId": 28755998,
          "name": "test",
          "phone": "17600000000",
          "email": "111111@qq.com",
          "gender": null,
          "birthYear": null,
          "nationality": null,
          "experience": null,
          "ethnic": null,
          "citizenId": null,
          "nativePlace": "",
          "source": "其他",
          "sourceType": 2,
          "academicDegree": null,
          "lastSpeciality": "人力资源管理",
          "married": null,
          "jobCommitment": "全职",
          "hireMode": 1,
          "departmentCode": null,
          "parentDepartmentCode": null,
          "resumeKey": null,
          "stageName": "沟通offer",
          "nativePlaceCode": null,
          "nationalityCode": null,
          "genderCode": null,
          "academicDegreeCode": null,
          "ethnicCode": null,
          "lastCompany": null,
          "campus_site_id": 0,
          "campus_site_name": null,
          "job": {
            "title": "test",
            "department": "xinjan2",
            "departmentCode": null,
            "parentDepartmentCode": null,
            "departmentPath": "华北地区/二级财务部/产品部/产研部/xinjan2",
            "jobId": "ea932057-2637-4408-98a2-a3366b4ade14",
            "customFields": [
              {
                "name": "职位-年月",
                "value": "2019-01"
              }
            ]
          },
          "jobManager": {
            "name": "test",
            "email": "11q1@qq.com",
            "phone": "17611232222",
            "employeeId": "01"
          },
          "officeweb365Url": null,
          "officeweb365PrintUrl": null,
          "resumePdfMeta": null,
          "portraitUrl": null,
          "resumeUrl": "",
          "educationInfo": [],
          "experienceInfo": [],
          "awardInfo": [],
          "customFields": [],
          "interviewers": [],
          "interviewFeedbackUrl": null,
          "referrer": null,
          "headcountInfo": [],
          "jobRanksInfo": [],
          "offer": {
            "salaryNumber": 111,
            "checkinDate": "2018-09-20T12:58:17.000Z",
            "location": "上海市 普陀区 XXXX大学XXXX教室",
            "creator": {
              "name": "报表_HR",
              "email": "mc435@yuoia.com"
            },
            "finishedAt": null,
            "customFields": [{
              "name": "合同日期",
              "value": "2022-03"
            }, {
              "name": "转正日期",
              "value": "2018-09-20"
            }, {
              "name": "自定义 - 据offer后去向",
              "value": null
            }, {
              "name": "测试123",
              "value": null
            }, {
              "name": "自定义offer字段",
              "value": null
            }, {
              "name": "多行",
              "value": null
            }, {
              "name": "222按时",
              "value": null
            }, {
              "name": "1212111111",
              "value": null
            }],
            "hcInfo": {
              "id": 8,
              "number": "005",
              "name": "啦啦",
              "status": "timeout"
            },
            "jobRankInfo": {
              "level": 3,
              "name": "总裁",
              "type": null
            },
            "departmentName": "产品创新部",
            "departmentCode": 30,
            "parentDepartmentCode": 10,
            "departmentPath": "产研部/产品创新部",
            "offerLastSentAt": "2019-10-29T03:41:07.000Z"
          },
          "attachments": [
            {
              "name": "附件1",
              "size": 1024,
              "url": "https://cdn.mokahr.com/e11d677-4962-4309-b507-2273bf2499c8.pdf?OSSAccessKeyId=BBc12XXIQWCGUAZO&Expires=1505300229&Signature=Vdw6zpNH8HTUnu1FvhSjdXiqK6Q="
            }
          ],
          "examReportLinks": [
            {
              "name": "考试结果链接",
              "url": "https://t.cn/XXXXXX"
            }
          ],
          "examAttachments": [
            {
              "name": "考试结果",
              "url": "https://cdn.mokahr.com/1234567-4962-4309-b507-2273bf2499c8.pdf?OSSAccessKeyId=BBc12XXIQWCGUAZO&Expires=1505300229&Signature=Vdw6zpNH8HTUnu1FvhSjdXiqK6Q="
            }
          ],
          "ehrCandidateExternalLink": "https://cdn.mokahr.com/forward/candidate/info?access_token=93e0eb37-6a5c-4fe4-91db-0579a844fb51",
          "invitationUpdateStatus": 1
        }],
      "next": "47168265"
    }
    

    获取候选人信息

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/data/ehrApplications

    请求query

    字段 必填 类型 描述
    applicationId string 候选人申请ID
    注意:
    1、如有此参数,下面参数均无效;获取多个候选人信息,则用逗号(,)分隔,如:81,82,83
    2、applicationId和stage参数必须传其一
    stage string offer(offer类型的阶段)
    1、pending_checkin(待入职阶段)
    2、all(offer类型的阶段与待入职阶段
    注:applicationId和stage参数必须传其一,若当前查询stage阶段没有候选人会提示服务器异常
    email string 候选人邮箱
    phone string 候选人手机号
    movedAtStartTime string 开始时间(移动到当前阶段的时间)
    movedAtEndTime string 结束时间(移动到当前阶段的时间)
    limit string 分页用的每页条数,默认20,最大20
    fromTime 此接口无此参数
    order string 拉取数据的排序方式,排序key为进入当前阶段的日期.可选值为
    DESC 按照从新到旧的顺序拉取,此为默认值
    ASC 按照从旧到新的数据拉取
    注意:当排序方式为ASC时,无论是否有更多数据,返回body中都会包含next(可用作增量拉取)
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。如果响应中没有next字段,表示没有更多的数据了
    注意:当排序方式为ASC时,无论是否有更多数据,返回body中都会包含next(可用作增量拉取)
    invitationUpdateStatus integer 邀请更新状态 0、未邀请 1、未更新 2、已更新

    返回的data数据

    字段 类型 描述
    candidateId integer 候选人在Moka中的唯一id
    applicationId integer 候选人该申请在Moka中的唯一id
    name string 姓名
    phone string 电话
    email string 邮箱
    prefixPhone string 国家呼叫代码
    gender string 性别,以下值之一:
    created_at string 简历进入系统的时间
    birthYear integer 出生年份,如1990
    birthDate string 出生日期
    ethnic string 民族
    certificateType integer 证件类型 1:身份证,2:香港身份证,3:澳门身份证,4:台湾身份证,5:护照,6:其他证件
    citizenId string 证件号码
    nationality string 国家/地区
    nativePlace string 籍贯
    experience integer 工作经验,0表示应届生,-1表示在校生,其他数字表示具体年限
    portraitUrl string 候选人头像的图片地址,链接有效期为1小时
    hireMode integer 招聘模式,1: 社招, 2: 校招
    finishedAt string 职位目标完成时间
    source string 渠道,如拉勾
    sourceList Array 渠道分级,数组按照一级渠道、二级渠道、三级渠道的顺序排列
    sourceList[].id integer 渠道id(第一级渠道不存在id)
    sourceList[].name string 渠道名称
    sourceList[].isBuiltin boolean 是否系统内置渠道
    sourceType integer 来源,以下值之一:1231代表主动搜索2代表主动投递3代表人才推荐。PS:2020-03-16日起不在使用4代表猎头推荐
    location string 所在地,如北京
    lastCompany string 最近公司,以下值之一:null无最近公司,xxx任职公司名称
    academicDegree string 最高学历,以下值之一:本科硕士博士高中大专中专MBA其他
    lastSpeciality string 最近毕业专业
    married string 婚姻状态,以下值之一:'已婚', '未婚', '离异', '丧偶', 'CIVILUNION', 'COHABITATING', 'MARRIED', 'DIVORCED', 'ENGAGED', 'SEPARATED', 'SINGLE', 'WIDOWED'
    nativePlaceCode integer 籍贯编码(籍贯为空时为null,编码详情见附件)
    nationalityCode integer 国籍编码(国籍为空时为null,编码详情见附件)
    genderCode integer 性别编码(性别为空时为null,编码详情见附件)
    academicDegreeCode integer 学历编码(学历为空时为null,编码详情见附件)
    ethnicCode integer 民族编码(民族为空时为null,编码详情见附件)
    personal string 自我描述
    salary string 当前工资
    forwardLocation string 期望城市
    aimSalary string 期望工资
    personalInterests string 兴趣爱好
    political string 政治面貌
    educationInfo[] array 教育经历
    educationInfo[].startDate string 学校开始时间,最多精确到月。如2010-09, 2008
    educationInfo[].endDate string 学校结束时间,最多精确到月。如2010-09, 2008
    educationInfo[].now boolean 结束时间是否表示“至今”。如true。如果为true,则endDate的值将可能为任意值,此时直接忽略endDate即可
    educationInfo[].school string 学校名称
    educationInfo[].speciality string 专业名称
    educationInfo[].academicDegree string 学历,以下值之一:本科硕士博士高中大专中专MBA其他
    experienceInfo[] array 工作经历
    experienceInfo[].startDate string 工作开始时间,最多精确到月。如2010-09, 2008
    experienceInfo[].endDate string 工作结束时间,最多精确到月。如2010-09, 2008
    experienceInfo[].now boolean 结束时间是否表示“至今”。如false。如果为true,则endDate的值将可能为任意值,此时直接忽略endDate即可
    experienceInfo[].company string 公司名称
    experienceInfo[].title string 职位名称
    experienceInfo[].department string 部门
    experienceInfo[].salary string 薪资
    experienceInfo[].summary string 工作职责
    experienceInfo[].reasonForLeaving string 离职原因
    experienceInfo[].underlingNumber string 下属人数
    experienceInfo[].type string 公司类型
    experienceInfo[].size string 公司规模
    awardInfo[] array 获奖经历
    awardInfo[].awardDate datetime 获奖时间
    awardInfo[].awardName string 获奖名称
    resumeUrl string 简历下载链接,HTTP GET请求该URL即可下载简历原文件,此链接有时效性,过期时间为1小时,需要收到请求后尽快下载在服务器保存
    job object 应聘职位信息
    job.jobId string 职位ID
    job.title string 职位名称
    job.department string 职位所在部门
    job.departmentPath string 职位所在部门的完整路径,从上级到下级,以/分割
    job.departmentCode string 部门code
    job.parentDepartmentCode string 父级部门code
    job.competencyType string 职能类型
    job.jobDescription string 工作描述
    job.customFields array job自定义字段
    job.customFields[].name string job自定义字段名称
    job.customFields[].value string job自定义字段值
    interviewers[] array 参与候选人此次申请的面试官
    interviewers[].name string 面试官姓名
    interviewers[].email string 面试官邮箱
    interviewers[].phone string 面试官电话
    interviewers[].id number 面试id
    interviewers[].groupId string 面试组id
    interviewers[].attendStatus string 候选人是否接受面试 候选人未反馈, 候选人未到场, 候选人已拒绝, 候选人已接受
    interviewers[].cancelReason string 面试取消原因
    interviewers[].participated string 面试反馈分类 面试未进行, 已填写反馈, 未填写反馈
    interviewers[].status string 面试状态 已取消, 未结束, 已结束
    interviewers[].round integer 面试轮次,1: 初试,2: 复试,3: 终试 等
    interviewers[].roundName string 面试轮次名称,初试复试终试
    interviewers[].roundOtherName object 面试轮次其它语言的名称
    interviewers[].startTime string 面试开始时间
    interviewers[].createdAt string 面试创建时间
    interviewers[].locationCountry string 面试地点(国家)
    interviewers[].locationCityId number 面试地点(城市id)
    interviewers[].locationAddress string 面试地点(详细地址)
    interviewers[].result Deprecated integer 面试结果 1: 非常不满意, 2: 不满意, 3: 满意, 4: 非常满意
    interviewers[].resultName string 面试反馈结果
    interviewers[].resultType integer 面试反馈结果类型 0: 不满意 1: 满意
    interviewers[].feedback string 面试反馈内容
    interviewers[].resultTime string 面试反馈填写时间
    interviewers[].feedbackTemplateResult array 面试评价表的信息
    interviewers[].feedbackTemplateResult[].type number
    题目类型, 1: 打分题, 2: 单选题, 3: 描述题, 4: 多选题
    interviewers[].feedbackTemplateResult[].title string 题目标题
    interviewers[].feedbackTemplateResult[].description string 题目描述
    interviewers[].feedbackTemplateResult[].result number 总分
    interviewers[].feedbackTemplateResult[].calcScoreType string avg: 计算平均分, total: 计算总分 (只在type为1时有效)
    interviewers[].feedbackTemplateResult[].scoreType number 5 表示5分制,10 表示10分制(只在type为1时有效)
    interviewers[].feedbackTemplateResult[].needReason string 是否需要打分综述(只在type为1时有效)
    interviewers[].feedbackTemplateResult[].subjects array 题目下各个小题的信息
    interviewers[].feedbackTemplateResult[].subjects[].type number
    题目类型, 1: 打分题, 2: 单选题, 3: 描述题, 4: 多选题
    interviewers[].feedbackTemplateResult[].subjects[].title string 小题标题
    interviewers[].feedbackTemplateResult[].subjects[].description string 小题描述
    interviewers[].feedbackTemplateResult[].subjects[].result number 小题结果:打分题为所选分数的数值;单选题为选项的索引值,从0开始;描述题为描述的字符串题目type=2单选题,返回值为 "result": 0,题目type=4多选题 返回值为"result": [1,2]
    interviewers[].feedbackTemplateResult[].subjects[].reason string 打分综述
    interviewers[].feedbackTemplateResult[].subjects[].options string 选项字符串数组(只在type为2时有效)
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord object 面试满意度相关信息
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord.sendTime string 面试满意度评价表发送时间
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord.isAnonymous Boolean 是否匿名评价
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord.content string 评价内容,json格式: {"customFields":[{"options":[//选项"选项1","选项2","选项3"],"subTitle":"单选题描述说明111",//子标题"title":"单选题",//标题"type":"single",//类型single单选题,mutiSelect多选题,describe描述题"value":"0"//单选值(下标从0开始)},{"options":["选项11","选项22","选项33","选项44"],"subTitle":"多选题描述说明333","title":"多选题","type":"mutiSelect",//多选题"value":"[0,2,1]"//多选值(下标从0开始,无序)},{"subTitle":"描述题说明4444","title":"描述题","type":"describe",//描述题"value":"描述题结果"//描述题的值}],"essaySectionTitle":"其它评价",//其他评价(在评价表设置时可通过开关配置是否展示)"essayValue":"其他评价结果"//其他评价对应的值}
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord.satisfactionDimensions array 维度数组(面试过程
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord[].name string 维度名称
    data[].interviewInfo[].interviewerFeedbacks[].satisfactionRecord[].name string 维度对应值
    interviewFeedbackUrl string 面试反馈汇总文件下载链接,HTTP GET请求该URL即可下载面试反馈汇总文件,此链接有时效性,过期时间为1小时,需要收到请求后尽快下载在服务器保存
    extendedInterviewers[] array 参与候选人此次申请面试官的无面试反馈信息,具体字段参考interviewers
    extendedInterviewerFeedbackUrl string 面试反馈汇总文件下载链接,HTTP GET请求该URL即可下载面试反馈汇总文件,此链接有时效性,过期时间为1小时,需要收到请求后尽快下载在服务器保存
    ehrCustomFields[] array ehr自定义导出字段集合
    ehrCustomFields[].name string 自定义字段名
    ehrCustomFields[].value any 自定义字段值
    ehrCandidateExternalLink string 候选人详情的链接,可以直接在浏览器中打开查看,该链接有效期默认14天
    referrer object 推荐人信息
    referrer.name string 推荐人姓名
    referrer.email string 推荐人邮箱
    referrer.phone string 推荐人电话
    referrer.number string 推荐人工号,以下值之一:null无工号,xxx工号
    jobRanksInfo[].name string 职位级别名称
    jobRanksInfo[].type string 职位级别类型
    jobRanksInfo[].level string 职位级别等级
    headcountInfo[].id number Headcount ID
    headcountInfo[].number string Headcount 编号
    headcountInfo[].name string Headcount 名称
    headcountInfo[].status string Headcount 状态
    customFields[] array 候选人自定义字段,仅包含标准简历中设置的自定义字段
    customFields[].name string 自定义字段名称
    customFields[].value string 自定义字段值。对于是否题类型,1代表“是”,0代表“否”。
    customFields[].now boolean 当自定义字段是时间时存在该字段,表示时间(或时间范围的结束时间)是否是“至今”。例如true。如果为true,则对应的时间将可能为任意值,请注意
    customFields[].section string 自定义字段所在的模块名称,模块可以是内置模块(如experienceInfo)或者自定义模块(如紧急联系人)
    customFields[].index string 对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    offer object offer信息
    offer.createdAt string offer创建时间。日期格式为:ISO8601
    offer.status string offer状态;未创建:notCreated 未发送: pending 待接受:sent 已接收: accepted 已拒绝: rejected
    offer.approvalStatus string 审批状态
    UNINITIATED: // 未发起;INPROGRESS: // 审批中;APPROVED: // 已通过;REJECTED: // 已驳回;RECALLED: // 已撤回
    offer.salaryNumber number 月薪标准
    offer.checkinDate string 预计入职时间
    offer.location string 入职地点
    offer.creator object offer创建人信息
    offer.creator.name string offer创建人姓名
    offer.creator.email string offer创建人邮箱
    offer.finishedAt string offer接受时间。日期格式为:ISO8601
    offer.customFields array offer自定义字段
    offer.customFields[].name string offer自定义字段名称
    offer.customFields[].value string offer自定义字段值
    offer.customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    offer.hcInfo object offer选中的headCount信息
    offer.hcInfo.id number offer选中的Headcount ID
    offer.hcInfo.number string offer选中的Headcount 编号
    offer.hcInfo.name string offer选中的Headcount 名称
    offer.hcInfo.status string offer选中的Headcount 状态
    offer.jobRankInfo object offer选中的职位级别信息
    offer.jobRankInfo.type string offer选中的职位级别 类型
    offer.jobRankInfo.level string offer选中的职位等级
    offer.jobRankInfo.name string offer选中的职位级别 名称
    offer.departmentName string 入职部门名称
    offer.departmentCode number 入职部门code
    offer.parentDepartmentCode number 入职部门上级部门code
    offer.departmentPath string 入职部门完整路径
    offer.offerLastSentAt string 末次发送offer时间
    offer.offerAttachmentDownloadUrl string offer生成的附件下载URL,有效期1个小时
    attachments array 候选人的所有附件
    attachments[].name string 候选人附件的文件名
    attachments[].applyFormId number 登记表模板ID
    attachments[].size integer 候选人附件的文件大小
    attachments[].url string 候选人附件的下载地址
    attachments[].customFieldId integer 自定义附件字段ID
    attachments[].customFieldName string 自定义附件字段名称
    attachments[].type string 候选人附件的类型,值为:
    CANDIDATE_UPLOAD_ATTACHMENT 候选人上传
    UPLOAD_PORTRAIT 候选人头像
    HR_UPLOAD_ATTACHMENT HR手动上传
    HM_UPLOAD_ATTACHMENT 用人经历端手动上传
    INTERVIEW_ACCEPT 候选人接受面试生成的登记表附件
    INTERVIEW_SIGNIN 候选人面试签到生成的登记表附件
    OFFER_ACCEPT 候选人接受OFFER生成的登记表附件
    MERGE_APPLICATION_ATTACHMENT 候选人合并产生的附件
    INVITE_UPDATE_RESUME 邀请候选人更新简历生成的登记表
    offerAttachment object 候选人offer相关附件
    默认无此字段,如果需要请联系您的CMS, 获取候选人接口开关开启也不会有该字段
    offerAttachment.url string 候选人offer相关附件下载地址
    链接地址有效期为1小时
    examReportLinks array 候选人考试/测评结果链接
    examReportLinks[].name string 候选人考试/测评名
    examReportLinks[].url string 候选人考试/测评结果链接
    examAttachments array 候选人考试/测评相关附件
    examAttachments[].name string 候选人考试/测评相关附件文件名
    examAttachments[].url string 候选人考试/测评相关附件下载地址
    链接地址有效期为1小时
    projectInfo array 项目经验
    projectInfo[].startDate string 项目开始时间,最多精确到月。如2010-09, 2008
    projectInfo[].endDate string 项目结束时间,最多精确到月。如2010-09, 2008
    projectInfo[].projectName string 项目名称
    projectInfo[].title string 担任职责
    projectInfo[].projectDescript string 项目描述
    projectInfo[].responsibilities string 项目中职责
    projectInfo[].now boolean 结束时间是否表示“至今”。如false。如果为true,则endDate的值将可能为任意值,此时直接忽略endDate即可
    languageInfo array 语言能力
    languageInfo[].language string 语言类型
    languageInfo[].level string 掌握程度
    languageInfo[].listenAndSpeak string 听说能力
    languageInfo[].readAndWrite string 读写能力
    stageName string 阶段名字
    jobManager object 职位管理员
    jobManager.name string 职位负责人名字
    jobManager.phone string 职位负责人电话
    jobManager.email string 职位负责人邮箱
    jobManager.employeeId string 职位负责人工号
    jobAssistants array 职位协助人
    jobAssistants[].name string 职位协助人名字
    jobAssistants[].phone string 职位协助人电话
    jobAssistants[].email string 职位协助人邮箱
    jobAssistants[].employeeId string 职位协助人工号
    label array 候选人标签
    label[].id number 标签id
    label[].label string 标签名称
    remarks array 候选人备注
    remarks[].creator object 备注的创建者信息
    remarks[].creator.name object 备注的创建者名称
    remarks[].creator.phone object 备注的创建者手机号吗
    remarks[].creator.email object 备注的创建者邮箱
    remarks[].creator.number object 备注的创建者工号
    remarks[].content string 备注的内容
    remarks[].targets array 备注的@的人员信息,格式同创建者信息
    remarks[].is_private number 备注是不是私密,1:私密0:非私密
    remarks[].type string 备注类型:人工填写
    remarks[].created_at string 备注创建时间
    owners object 候选人所有者
    owners.name string 候选人所有者名字
    owners.phone string 候选人所有者电话
    owners.email string 候选人所有者邮箱
    owners.employeeId string 候选人所有者工号
    survey array 背调内容
    survey[].name string 背调名称
    survey[].date string 背调日期
    survey[].result string 背调结果
    survey[].surveyAttachmentsUrl string 背调报告链接
    survey[].surveyAttachmentName string 背调附件名称
    survey[].surveyAttachments[] array
    背调多附件(新版的单附件和多附件都在这个附件集合,原来的单附件结果只做历史兼容使用)
    survey[].surveyAttachments[].surveyAttachmentsUrl string
    背调报告链接
    survey[].surveyAttachments[].surveyAttachmentName string
    背调附件名称
    practiceInfo[] array 实习经历
    practiceInfo[].startDate string 实习开始时间
    practiceInfo[].endDate string 实习结束时间
    practiceInfo[].company string 公司名称
    practiceInfo[].title string 职位名称
    customstyleAttachments object 自定义登记表信息
    customstyleAttachments.type string 附件类型固定doc
    customstyleAttachments.createTime string 创建时间
    customstyleAttachments.customFieldName string 自定义附件名称
    customstyleAttachments.url string 附件下载地址

    组织架构API

    组织架构相关API

    组织架构全量同步

    Moka 系统中会根据请求的列表对当前系统中的部门进行同步(新增,更新,标记删除)。
    同步以department_code为主键,与系统中部门department_code进行对比,允许不同的department_code下同步同名组织:
    1、当前系统没有,同步时有:新增一个部门
    2、当前系统有,同步时也有:更新已经存在的部门信息。如果同步时有,当前系统部门状态标识为删除,更新后,状态改为正常。
    3、当前系统有,同步时没有时:部门打标已删除,需要手动进入 Moka 系统中将该部门合并到其他部门进行删除。

    HTTP 请求

    PUT https://api.mokahr.com/api-platform/v1/departments

    请求样例

    $curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/departments' \
    --header 'Authorization: Basic Vl*********8*888888*' \
    --header 'Content-Type: application/json' \
    --data-raw '[
        {
            "sequence": 1.68,
            "parent_code": "",
            "department_code": "110",
            "name": "api测试"
        },
        {
            "sequence": 0.92,
            "parent_code": "",
            "department_code": "112",
            "name": "api测试2",
            "type": 1
        },
        {
            "sequence": 0.06,
            "department_code": "120",
            "name": "技术支持测试",
            "parent_code": "110",
            "type": 1
        }
    ]'
    

    操作成功

    { 
      "success": true,
      "result": { 
        "new": 0, 
        "delete": 0, 
        "update": 0 
      } 
    }
    

    操作失败

    {
      "success": false,
      "errorMessage": "错误信息"
    }
    

    请求body参数

    字段 必填 类型 描述
    name string 部门名称
    department_code string 客户系统的部门id
    parent_code string 部门的上级部门的唯一 id, 如为 null 则为一级部门
    type number 部门类型:
    可选值:
    1: 普通部门(默认)
    2:门店部门(门店的名称和组织架构内的门店类部门名称一致则会关联对应同名门店)
    sequence number 指定部门排序
    数据范围:支持0至10000之间的数,精确到两位小数。
    规则:排序按照数字从小到大,相同数字按照创建时间从先到后,该值为空默认排在最后。

    可能的错误信息

    errorMessage 描述
    部门 ID 重复 请求列表中有重复使用的 department_code
    部门重复 请求列表中有相同父级部门,名称的部门
    父级部门未找到 部门的父级部门未在列表中找到
    部门的父级部门不能直接(间接)为自身 部门的父级部门(的父级部门...)不能为自身

    新增组织架构

    新增组织架构,不允许同步任何同名组织,无论该组织是否在同一个department_code下。
    注意:组织架构增量同步必须使用POST请求,如果使用PUT请求,为全量同步,请求中未提供的部门,部门将标记为已删除。

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/departments/sync/incremental

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/departments/sync/incremental' \
       -u 'your_api-keys:' \
       -X POST \
       -d '[
        { "department_code": "ididid1", "name": "namenamename1", "parent_code": "ididid1", "sequence": 0 },
        { "department_code": "ididid2", "name": "namenamename2", "parent_code": "ididid2" },
        { "department_code": "ididid2", "name": "部门2", "parent_code": "ididid2", "type": 2 },
      ]'
    

    操作成功

    { 
      "success": true 
    }
    

    操作失败

    { 
      "success": false, 
      "errorMessage": "错误信息" 
    }
    

    请求body参数

    字段 必填 类型 描述
    name string 部门名称
    department_code string 客户系统的部门id
    parent_code string 上级部门的唯一 id, 如为 null 则为一级部门
    type number 部门类型:
    可选值:
    1: 普通部门(默认)
    2:门店部门
    sequence number 指定部门排序
    数据范围:支持0至10000之间的数组,精确到两位小数。
    规则:排序按照数字从小到大,相同数字按照创建时间从先到后,该值为空默认排在最后。

    返回字段

    字段 类型 描述
    success boolean 操作是否成功
    可选值:
    true:成功
    false:失败
    errorMessage string 操作失败的错误原因

    可能的错误信息

    errorMessage 描述
    当前有未处理完的组织架构更新,请稍后再试
    部门名称: XXX, 编号XXX的部门编号重复 请求列表中存在重复部门数据或者请求列表中存在于已同步至系统的部门中存在重复
    父级部门未找到 部门的父级部门未在列表中找到
    部门的父级部门不能直接(间接)为自身 部门的父级部门(的父级部门...)不能为自身
    部门名称XXX,父编号XXX的部门名称已存在 某部门下存在相同名称的部门
    ...

    更新组织架构

    对指定部门更新组织架构信息 注意: 以department_code为主键进行更新,如果需要更新department_code时,需要传入department_id,将以department_id为主键更新department_code。

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/departments

    请求样例

    curl 'https://api.mokahr.com/api-platform/v1/departments' \
    -X POST \
    -u 'your_api_keys' \
    -d '[
        {
            "department_code": "ididid111123",
            "name": "namenamename1221",
            "parent_code": null,
            "sequence": 0
        },
        {
            "department_code": "ididid211123",
            "name": "namenamename21_testhema",
            "parent_code": "ididid31112"
        },
        {
            "department_code": "ididid311123",
            "name": "namenamename222test_hema",
            "parent_code": "huangtiandi",
            "type": 2,
            "department_id": 387
        }
    ]'
    

    操作成功

    {
        "code": 0,
        "msg": "成功",
        "success": true,
        "errorMessage": "",
        "data": {}
    }
    

    操作失败

    {
        "code": 625011,
        "msg": "department_code(3213232888)在系统中已存在",
        "success": false,
        "errorMessage": "department_code(323232888)在系统中已存在",
        "data": {}
    }
    

    请求body参数

    字段 必填 类型 描述
    name string 部门名称
    department_code string 客户系统的部门id
    parent_code string 上级部门的唯一 id, 如为 null 则为一级部门
    type number 部门类型:
    可选值:
    1:普通部门(默认)
    2:门店部门
    department_id number 部门在Moka系统中的id,此参数存在时,会优先匹配该参数的部门。
    sequence number 指定部门排序,支持0至10000的两位小数,为空默认排在最后。按排序从小到大,创建时间从先到后排序

    返回json字段

    字段 类型 描述
    success boolean 操作是否成功
    errorMessage string 操作失败的错误原因

    可能的错误信息

    errorMessage 描述
    当前有未处理完的组织架构更新,请稍后再试
    部门名称: XXX, 编号XXX的部门编号重复 请求列表中存在重复部门数据或者请求列表中存在于已同步至系统的部门中存在重复
    父级部门未找到 部门的父级部门未在列表中找到
    部门的父级部门不能直接(间接)为自身 部门的父级部门(的父级部门...)不能为自身
    部门名称XXX,父编号XXX的部门名称已存在 某部门下存在相同名称的部门
    ...