NAV Navbar
Language切换
shell node
  • 文档介绍(Intro)
  • 时间字段格式说明(Date)
  • API开发指南(Guide)
  • 主动推送说明(Webhooks)
  • 公共API
  • 招聘官网API
  • 企业信息API
  • 门店API
  • 组织架构API
  • 职责API
  • 用户API
  • 招聘需求 API
  • 候选人API
  • 人才库API
  • 职位API
  • 面试API
  • Offer API
  • 入职API
  • 内推奖励API
  • 内推账户API
  • 猎头API
  • BI报表API
  • JD模板API
  • district code
  • 错误码
  • 文档介绍(Intro)

    API endpoint shell 正式环境:'https://api.mokahr.com/api-platform/v1' 测试环境:'https://api-staging-3.mokahr.com/api-platform/v1' javascript 正式环境:'https://api.mokahr.com/api-platform/v1' 测试环境:'https://api-staging-3.mokahr.com/api-platform/v1'

    Moka API的设计基于REST,使用标准的HTTP功能如HTTP方法、HTTP状态码以及HTTP basic auth等,以便于支持HTTP的服务可以便捷接入。所有的接口数据都通过JSON格式传输(包括错误信息),并使用Unicode UTF-8进行编码。当有字段值为空的时候,返回的结果为null,若字段为数组型且为空的时候,返回的结果为空数组[]

    为了提供更好的体验,Moka API在不断完善升级中。当更新中包含不向后兼容的接口时,我们会升级API版本,并保留旧的API正常运行。这意味着在接入Moka API时,你的代码需要能够处理一些如返回数据字段增加等向后兼容的变动。

    Api接口老版本

    Api接口老版本,老版本接口不再更新,不建议使用。

    切换到Api接口老版本

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

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

    时间字段格式说明(Date)

    当前版本API中时间类型的字段共有如下几种格式:

    类型 格式 例子 例子的含义
    精确到年的日期 yyyy 2018 例如毕业年份
    精确到月的日期 yyyy-MM 2018-09 例如毕业时间
    精确到天的日期 yyyy-MM-dd 2018-09-27 例如到岗日期
    精确到时、分、秒的日期 yyyy-MM-ddTHH:mm:ss.sssZ 2018-09-27T02:00:00.000Z 例如面试开始时间

    其中,YYYY-MM-DDTHH:mm:ss.sssZ的格式为ISO8601标准,具体含义可以参考这里

    注意:由于历史原因,某些字段并没有严格按照以上规则设置格式。比如存在某些精确到天的日期也使用了yyyy-MM-ddTHH:mm:ss.sssZ的格式。因此开发者最好做到能同时识别这几种格式,并根据需要解析成想要的内容。

    API开发指南(Guide)

    ATS API标准集成方案

    鉴权验证说明(Basic Auth)

    请求示例

    $ curl https://api.mokahr.com/api-platform/v1/archiveReasons \
       -u 'your_api_key:'
    

    注:
    1、请将'your_api_key'替换为你的API Key来进行测试
    2、curl使用-u flag来传入basic auth的验证信息。由于password为空,username后面的冒号:是必要的。

    你需要使用Moka为你的机构生成的私密API Key来验证访问Moka API的请求。如有需要,请向你的CSM(客户成功经理)索取API Key。

    Moka API的验证基于HTTP Basic Auth。发送请求时,需要将API Key作为basic auth的username提供,password不需要提供。测试时请确认发送的HTTP请求里有如下header:

    Authorization: Basic <base64("username:password")>

    所有的请求都必须通过HTTPS发送。

    Oauth2鉴权说明(Oauth2)

    如果您需要和 Moka 开放平台对接获取隐私数据(如申请、职位信息等),为保证数据的安全与隐私,您需要取得授权才可访问,即获取访问用户数据的授权令牌 accessToken。该流程采用国际通用的 OAuth2.0 标准协议作为用户身份验证与授权协议。 OAuth2.0协议规范

    前期准备

    您需要使用 Moka 为你的机构生成的私密 clientId 和 clientSecret,通过clientId 和 clientSecret 获取accessToken。 通过accessToken访问 Moka API 的请求。如有需要,请向你的 CSM(客户成功经理)索取 clientId 和 clientSecret。

    获取访问凭证accessToken

    调用接口令牌 accessToken 有效期为 2 小时。
    1、当有效期大于等于 30 分钟时,调用获取 accessToken 接口返回老的 accessToken。
    2、当有效期小于 30 分钟时,调用获取 accessToken 接口返回新的 accessToken。此时新老两个 accessToken 都有效。

    请求样例

    curl  --location --request POST 'https://api.mokahr.com/api-platform/v1/auth/oauth2/getToken' \
    --header 'Content-Type: application/json' \
    --data-raw '
    
    {
       "clientID": "moka_Z1Y99DlokiOGXmw8",
       "clientSecret": "ell2Wl2dwUQ7no75BAsLrwtUaPw8W0tAEoYXv13ibRoV",
       "grantType": "client_credentials"
    }'
    

    响应样例

    {
        "code": 0,
        "msg": "成功",
        "data": {
            "accessToken": "a-685ca366-45e8-4025-9825-9840280ecd39",
            "expiresIn": 6824,
            "tokenType": "Bearer"
        }
    }
    

    错误响应样例

    {
        "code": 110020,
        "msg": "unauthorized_client",
        "data": {}
    }
    

    HTTP 请求

    POST https://api.mokahr.com/api-platform/v1/auth/oauth2/getToken

    Body参数

    字段 类型 是否必填 描述
    clientID String 应用唯一标识,联系CSM获取
    clientSecret String 应用秘钥,联系CSM获取
    grantType String 授权类型 ,值为client_credentials

    返回参数

    字段 类型 描述
    code integer 0:成功,其他:错误
    msg String 错误信息
    data Object
    data.accessToken String 接口访问凭证
    data.tokenType String accessToken的类型目前只支持Bearer
    data.expiresIn Number accessToken过期时间,单位:秒

    错误码

    code errorMessage 错误描述
    110020 unauthorized_client clientID或者clienSecret无效,请联系CSM获取有效的clientID或者clienSecret

    调用业务接口

    请求样例

    curl --location --request PUT 'https://api.mokahr.com/api-platform/v2/departments' \
    --header 'Authorization: Bearer <accessToken>' \
    --header 'Content-Type: application/json' \
    --data '{
           "departments": [
            { "departmentCode": "ididid1", "name": "namenamename1", "parentCode": "ididid1", "sequence": 0 },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2" },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2", "type": 2 },
            { "departmentCode": "ididid3", "name": "namenamename3", "parentCode": "0"}
        ]
      }'
    

    调用业务接口时,需要在Header中增加Authorization参数,值为Bearer <accessToken> 。 以调用新增组织架构接口为例,请求示例如下:

    主动推送说明(Webhooks)

    什么是webhooks

    Webhooks是当某种事件发生时,触发Moka主动推送数据的一种方式。当这些事件发生时,我们会发送一个HTTP POST请求到你设置的webhook endpoint URL。请求的body中会包含JSON格式的相关数据。由于webhook并不是访问Moka的API endpoint,所以并不需要API Key来进行HTTP basic auth的验证。 除了支持HTTP RESTful方式的接口,我们还支持WebService(SOAP)方式的接口。请参考下方说明。

    如何设置webhooks

    请提供给CSM一个公网可以访问的HTTPS的URL,作为接收webhook请求的地址。我们配置好后会提供给你一个签名密钥(signing key),用作验证,请妥善保存。 如果是WebService(SOAP)方式的接口,请提供给CSM一个可以获取WSDL的地址,并告知这是WebService(SOAP)的方式。

    webhooks的安全保障(HTTP RESTful方式)

    我们只支持HTTPS endpoint

    由于Moka需要发送一些候选人信息到外部,其中可能包含敏感信息,我们要确保所有信息都是加密过的。虽然要求是HTTPS的endpoint,但是我们并不会去向CA验证证书的有效性,所以你可以提供self-signed证书。关于如何创建并使用self-signed证书。

    签名验证

    签名验证

    ```javascript import crypto from 'crypto';

    /** * @description body签名 * @description 加密方式 HamcSha256 * @description 加密结果为16进制 * @param {Object} body 接口参数 * @param {String} signKey 加密使用的key */ function validateWebhook(body, signKey) { const signStr = JSON.stringify(body); console.log('sha256 signStr:', signStr);// sha256 signStr: {"name":"test","email":"test@mokahr.com"} const sign = crypto.createHmac('sha256', signKey).update(signStr).digest('hex');
    console.log('sha256 sign:', sign);// sha256 sign: 7d6981ccf0d789e29e4f5940fe9a7e9385d8a211ad44ecaaba335fb14dd2a32d } const body = { name: 'test', email: 'test@mokahr.com', } const signKey = 'qwer';

    validateWebhook(body, signKey); ```

    我们通过对请求body签名的方式来确保请求来源的真实性(authentication,即请求来源于Moka)。签名生成的signature会被放置于请求url的query中随着请求内

    容一起发送。请求URL如:

    https://your-endpoint.com/moka?sign=d23da96c279366d66e2780d300d9b09d6b0ec09efbbe2c3fd84980d981e4b41a

    验证方面,需要你用signing key作为密钥、请求body作为内容,通过HMAC-SHA256来计算得出结果,并与请求URL中的signature进行比较。












    数据加密

    数据加密解密

    如果您对数据的安全性要求更高,可以选择对传输的数据进行加密。我们的加密算法采用AES-256,16进制,加密模式为CBC。 我们只会对body中的data字段进行加密,不包括id,event,triggeredAt等字段。 如果需要数据加密,请联系CSM进行开通,并设置加密密钥。 加密密钥请妥善保存,如泄漏请及时联系我们进行处理。

    接收webhooks(HTTP RESTful方式)

    你需要配置你的服务器来接收Moka推送的webhook请求。请求方法为HTTP POST,内容为JSON格式。

    每个事件都有一致的JSON结构,但是不同触发事件会有不同的data内容。JSON结构如下:

    字段 类型 描述
    id string 唯一标识该请求的id
    event string 事件类型,如pushCandidate
    triggeredAt timestamp 触发时间
    data object 实际数据。不同事件对应不同的结构和内容

    目前提供的webhook事件如下:

    事件类型 描述
    pushCandidate 推送候选人信息。可应用场景如:待发送offer的候选人需要推送到OA/EHR系统中进行offer审批和发送,待入职候选人需要推送到EHR系统进行员工信息录入等等。

    回复webhooks(HTTP RESTful方式)

    成功接收并处理webhook请求后,返回2xx即可。Moka在接收到非2xx的结果时,会提示用户导入失败。 如果有错误信息,可以在body中返回,eg:{msg:'当前数据存在错误'}。

    WebService(SOAP)方式

    WebService方式的WebHooks与HTTP方式的类似,只是协议是基于SOAP的。要按照SOAP方式配置WebHooks,需要提供给CSM一个可以获取WSDL的地址。SOAP的方法名、参数、以及返回值需要与下面文档中描述的一致。 签名使用Bearer方式,可以参考 这里

    SOAP方式的说明

    除了使用HTTP RESTful方式的接口,也可以提供一个SOAP服务的接口,由Moka来发起调用。如果要使用SOAP的方式,需要把对应的WSDL地址提供给CSM。 SOAP方式的接口标准如下:

    类型 描述
    方法名 pushCandidate
    参数 候选人信息,数据类型为xml,字段的类型与json一致,请参考上面json部分的描述。
    返回值 true/false 表示成功或失败

    跳转外部系统

    如果OA/EHR想在MOKA中触发webhooks后想跳转到目标地址,只需要在 body的返回参数中加上redirectUrl参数即可。当MOKA收到类似的参数后会根据用户的设备去判断跳转PC端还是Mobile端。目前跳转只支持RESTful方式的webhooks。

    字段 类型 描述
    redirectUrl array 外部链接
    mobileUrl string 第三方系统移动端跳转外部系统临时链接,建议带token可直接登录
    pcUrl string 第三方系统pc端跳转外部系统临时链接,建议带token可直接登录

    返回样例

    {
        "redirectUrl": {
            "mobileUrl": "https: //app.mokahr.com/m/interviews/356408095/intervi",
            "pcUrl": "https://app.mokahr.com/m/interviews/356408095/intervi"
        }
    }
    

    推送候选人信息

    功能说明

    推送候选人信息目前在Moka中是由""导入EHR"按钮点击触发,如下图:

    Ehr

    跳转到REST方式
    跳转到SOAP方式

    REST方式的说明

    推送数据样例:

    {
      "id": "f353e5ce-17e0-4783-bee4-4a6b734b20fe",
      "event": "pushCandidate",
      "triggeredAt": 1505296287,
      "data": {
        "applicationId": 12798,
        "candidateId": 8030,
        "moved_at": "2018-08-03T10:25:12.000Z",
        "name": "邵旭冬",
        "phone": "18600000000",
        "email": "shaodong@example.com",
        "gender": "男",
        "created_at": "2018-08-03T10:25:12.000Z",
        "birthYear": 1992,
        "birthDate":"2020-03-17T00:00:00.000Z",
        "nationality": "中国",
        "experience": 7,
        "ethnic": "汉族",
        "forwardLocation": null,
        "salary": "",
        "aimSalary": null,
        "certificateType": 1,
        "citizenId": "410322199202152910",
        "nativePlace": "北京市朝阳区",
        "location": "北京",
        "source": "其它渠道",
        "sourceList": [
          {
            "name": "其它渠道",
            "isBuiltin": true
          }, {
            "id": 4,
            "name": "其它",
            "isBuiltin": true
          }
        ],
        "sourceType": 1,
        "academicDegree": "本科",
        "lastSpeciality": "人力资源管理",
        "married": "未婚",
        "jobCommitment": "全职",
        "hireMode": 1,
        "finishedAt": "2019-08-23T16:00:00.000Z",
        "resumeKey": "962bcac5-7671-4cbb-bbd7-376177703674.doc",
        "stageName": "待入职",
        "probation": null,
        "lastCompany": null,
        "operator": {
          "name": "李明",
          "email": "liming@example.com",
          "phone": "18600000001",
          "number": "A001"
        },
        "lastCompany": "郑州麦田伙伴科技有限公司",
        "nativePlaceCode": 310107,
        "nationalityCode": 3,
        "genderCode": 0,
        "academicDegreeCode": 7,
        "ethnicCode": 2,
        "job": {
          "title": "黑龙江-资易通业务线-催收部-CEO",
          "department": "运维部",
          "departmentCode": "6758",
          "parentDepartmentCode": "6836",
          "departmentPath": "信息物流中心/运维部",
          "competencyType": "产品类",
          "jobId": "39d3d5c9-949e-40d4-8d4b-5cb247d327a8",
          "jobDescription": "<p>职位表述职位表述</p>",
          "customFields": [
            {
              "name": "职位-年月",
              "value": "2019-01"
            }
          ]
        },
        "jobManager": {
          "name": "test",
          "email": "11q1@qq.com",
          "phone": "17611232222",
          "employeeId": "01"
        },
        "officeweb365Url": "http://www.officeweb365Url.com",
        "officeweb365PrintUrl": "http://www.officeweb365PrintUrl.com",
        "resumePdfMeta": null,
        "portraitUrl": "http://www.portraitUrl.com",
        "resumeUrl": "https://moka-test.oss-cn-beijing.aliyuncs.com/962bcac5-7671-4cbb-bbd7-376177703674.doc?OSSAccessKeyId=LTAIoEXIQWCGUAZO&Expires=1540374892&Signature=M1KKiwjG240uTmqK4qSbmRAU+yI=",
        "educationInfo": [
          {
            "startDate": "2011-09",
            "endDate": "2015-06",
            "now": false,
            "school": "北京邮电大学",
            "speciality": "土木工程",
            "academicDegree": "本科"
          }
        ],
        "experienceInfo": [
          {
            "startDate": "2016-03",
            "endDate": "2017-09",
            "now": true,
            "company": "北京有利科技有限公司",
            "title": "高级Java工程师",
            "summary": "工作职责XXX",
            "reasonForLeaving": "离职原因XXX",
            "underlingNumber": "5"
          },
          {
            "startDate": "2015-05",
            "endDate": "2016-03",
            "now": false,
            "company": "北京水果电商技术有限公司",
            "title": "java工程师",
            "summary": "工作职责XXX",
            "reasonForLeaving": "离职原因XXX",
            "underlingNumber": "5"
          }
        ],
        "customFields": [
          {
            "name": "身高",
            "value": 175,
            "section": "educationInfo",
            "index": 0
          },
          {
            "name": "联系人姓名",
            "value": "张三",
            "section": "紧急联系人",
            "index": 0
          },
          {
            "name": "联系人关系",
            "value": "父亲",
            "section": "紧急联系人",
            "index": 0
          },
          {
            "name": "联系人电话",
            "value": "13012341234",
            "section": "紧急联系人",
            "index": 0
          },
          {
            "name": "联系人邮箱",
            "value": "zs@demo.com",
            "section": "紧急联系人",
            "index": 0
          },
          {
            "name": "联系人姓名",
            "value": "张小四",
            "section": "紧急联系人",
            "index": 1
          },
          {
            "name": "联系人关系",
            "value": "兄弟",
            "section": "紧急联系人",
            "index": 1
          },
          {
            "name": "联系人电话",
            "value": "130567585678",
            "section": "紧急联系人",
            "index": 1
          },
          {
            "name": "联系人邮箱",
            "value": "zxs@demo.com",
            "section": "紧急联系人",
            "index": 1
          },
          {
            "name": "预计到岗日期",
            "value": "2018-4-23T09:10:26.000Z",
            "now": false,
            "section": "basicInfo",
            "index": 1
          },
          {
            "name": "实习期",
            "value": {
              "startDate": "2004-01",
              "endDate": "2005-01"
            },
            "now": true,
            "section": "basicInfo",
            "index": 1
          }
        ],
        "interviewers": [
          {
            "name": "李明",
            "email": "liming@example.com",
            "phone": "18600000001",
            "round": 1,
            "roundName": "初试",
            "roundOtherName": {
              "en-US": {
                "name": "1st round"
              }
            },
            "startTime": "2018-08-03T10:25:12.000Z",
            "createdAt": "2018-08-03T10:20:12.000Z",
            "locationCountry": "中国",
            "locationCityId": 141129,
            "locationAddress": "滨海镇小山村",
            "resultName": "非常不满意",
            "resultType": 0,
            "feedback": "水平一般",
            "feedbackTemplateResult": [
              {
                "type": 1,
                "title": "题目1的标题",
                "description": "题目1的描述",
                "calcScoreType": "total",
                "needReason": true,
                "result": 9,
                "scoreType": 1,
                "subjects": [
                  {
                    "type": 1,
                    "title": "小题1的标题",
                    "description": "小题1的描述",
                    "result": 9,
                    "reason": "小题1的打分综述"
                  }
                ]
              },
              {
                "type": 2,
                "title": "题目2的标题",
                "description": "题目2的描述",
                "result": 1,
                "subjects": [
                  {
                    "title": "小题1的标题",
                    "description": "小题1的描述",
                    "result": 1,
                    "options": ["选项1", "选项2"],
                    "reason": "小题1的打分综述"
                  }
                ]
              },
              {
                "type": 3,
                "title": "题目3的标题",
                "description": "题目3的描述",
                "subjects": [
                  {
                    "title": "小题1的标题",
                    "description": "小题1的描述",
                    "result": "技术很棒",
                    "reason": "小题1的打分综述"
                  }
                ]
              }
            ]
          },
          {
            "name": "王宏",
            "email": "wanghong@example.com",
            "phone": "18600000002",
            "round": 2,
            "roundName": "复试",
            "roundOtherName": {
              "en-US": {
                "name": "2st round"
              }
            },
            "startTime": "2018-08-03T10:25:12.000Z",
            "createdAt": "2018-08-03T10:20:12.000Z",
            "resultName": "满意",
            "resultType": 1,
            "feedback": "水平有限"
          }
        ],
        "interviewFeedbackUrl": "https://cdn.mokahr.com/e11d677-4962-4309-b507-2273bf2499c8.pdf?OSSAccessKeyId=BBc12XXIQWCGUAZO&Expires=1505300229&Signature=Vdw6zpNH8HTUnu1FvhSjdXiqK6Q=",
        "extendedInterviewers":[],
        "extendedInterviewerFeedbackUrl":"",
        "referrer": {
          "name": "杨",
          "email": "11111@mokahr.com",
          "phone": "15001802222",
          "number": "2019"
        },
        "headcountInfo": [
          {
            "id": 1,
            "number": "A001",
            "name": "紧急hc",
            "status": "timeout"
          }
        ],
        "jobRanksInfo": [
          {
            "name": "初级",
            "type": "类别1",
            "level": 1
          }
        ],
        "offer": {
          "approvalStatus": "APPROVED",
          "salaryNumber": 8000,
          "checkinDate": "2018-5-3",
          "location": "北京市海淀区中关村方正国际大厦1001",
          "creator": {
            "name": "赵摩卡",
            "email": "zhao@mokahr.com"
          },
          "finishedAt": "2018-4-23T09:10:26.000Z",
          "customFields": [
            {
              "name": "职级",
              "value": "P6"
            }
          ],
          "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=",
            "type": "CANDIDATE_UPLOAD_ATTACHMENT",
            "customFieldId": 1,
            "customFieldName": "上传简历"
          }
        ],
        "offerAttachment": {
          "url": "https://cdn.mokahr.com/1234567-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="
          }
        ],
        "projectInfo": [
          {
            "startDate": "2018-09",
            "endDate": "2018-10",
            "projectName": "测试项目",
            "title": "工程师",
            "projectDescript": "这是个测试的项目",
            "responsibilities": "开发",
            "now": false
          }
        ],
        "languageInfo": [
          {
            "language": "213",
            "level": "一般",
            "listenAndSpeak": "良好",
            "readAndWrite": "熟练"
          }
        ],
        "ehrCustomFields": [
          {
            "name": "extendDepartmentId",
            "value": 3
          }
        ],
        "ehrCandidateExternalLink": "https://cdn.mokahr.com/forward/candidate/info?access_token=93e0eb37-6a5c-4fe4-91db-0579a844fb51",
        "label": [
          {
            "id": 76,
            "label": "特别厉害"
          },
          {
            "id": 62,
            "label": "FisH"
          }
        ],
        "remarks": [
          {
            "creator": {
              "name": "李国兴",
              "phone": "18810380011",
              "email": "guoxing123@trymoka.com",
              "number": "1234"
            },
            "content": "这个候选人还不错@[李国兴](1) ",
            "targets": [
              {
                "name": "李国兴",
                "phone": "18810380011",
                "email": "guoxing123@trymoka.com",
                "number": "1234"
              }
            ],
            "is_private": 1,
            "type": "人工填写",
            "created_at": "2020-03-30T05:53:28.000Z"
          }
        ],
        "owners": {
          "name": "张乔",
          "phone": "15810253321",
          "email": "zhangqiao@mokahr.com",
          "employee_id": "220"
        }
      }
    }
    

    请求data里的结构如下:

    字段 类型 描述
    candidateId integer 候选人在Moka中的唯一id
    applicationId integer 候选人该申请在Moka中的唯一id
    name string 姓名
    prefixPhone string 国家呼叫代码
    phone string 电话
    email string 邮箱
    gender string 性别
    可选值:

    created_at string 简历进入系统的时间
    birthYear integer 出生年份,如1990
    birthDate string 出生日期
    ethnic string 民族
    certificateType integer 证件类型
    可选值:
    1:身份证
    2:香港身份证
    3:澳门身份证
    4:台湾身份证
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证
    citizenId string 证件号码
    nationality string 国家/地区
    nativePlace string 籍贯
    experience integer 工作经验,0表示应届生,-1表示在校生,其他数字表示具体年限
    portraitUrl string 候选人头像的图片地址,链接有效期为1小时
    hireMode integer 招聘模式
    可选值:1: 社招
    2: 校招
    finishedAt string 职位目标完成时间
    industry string 所在行业
    archived boolean 申请是否归档
    archivedAt string 申请归档时间
    archiveReasonId number 归档原因id
    archiveReasons string 归档原因
    archiveReasonsDetails string 详细的归档原因
    talentPoolsList array 候选人所属人才库信息
    talentPoolsList[].talentPoolId number 人才库id
    talentPoolsList[].name string 人才库名称
    talentPoolsList[].description string 人才库描述
    source string 渠道,如拉勾
    sourceList Array 渠道分级,数组按照一级渠道、二级渠道、三级渠道的顺序排列
    sourceList[].id integer 渠道id(第一级渠道不存在id)
    sourceList[].name string 渠道名称
    sourceList[].isBuiltin boolean 是否系统内置渠道
    sourceType integer 来源
    可选值:
    1:主动搜索,2:主动投递,3:人才推荐
    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 标识结束时间是否为“至今”。当结束时间为至今时,now=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 标识结束时间是否为“至今”。当结束时间为至今时,now=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[].location string 工作地点
    experienceInfo[].size string 公司规模
    awardInfo[] array 获奖经历
    awardInfo[].awardDate datetime 获奖时间
    awardInfo[].awardName string 获奖名称
    resumeUrl string 简历下载链接,HTTP GET请求该URL即可下载简历原文件,此链接有时效性,过期时间为48小时,需要收到请求后尽快下载在服务器保存
    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.customFields[].name string 职位自定义字段名称
    job.customFields[].value string 职位自定义字段值
    interviewers[] array 参与候选人此次申请的面试官
    interviewers[].name string 面试官姓名
    interviewers[].email string 面试官邮箱
    interviewers[].phone string 面试官电话
    interviewers[].id number 面试id
    interviewers[].groupId string 面试组id
    interviewers[].interviewType string 面试类型。现场面试、电话面试、视频面试
    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[].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时有效)
    interviewFeedbackUrl string 面试反馈汇总文件(仅包含该申请在当前申请下产生的面试反馈数据),下载链接,HTTP GET请求该URL即可下载面试反馈汇总文件,此链接有时效性,过期时间为1小时,需要收到请求后尽快下载在服务器保存
    extendedInterviewers[] array 参与候选人此次申请面试官的无面试反馈信息,具体字段参考interviewers
    extendedInterviewerFeedbackUrl string 面试反馈汇总(如果该申请是从其他岗位推荐产生的,面试反馈包含在其他岗位的申请所产生的面试反馈)文件下载链接,HTTP GET请求该URL即可下载面试反馈汇总文件,此链接有时效性,过期时间为48小时,需要收到请求后尽快下载在服务器保存
    ehrCustomFields[] array CSM后台配置的ehr自定义导出字段集合
    ehrCustomFields[].name string 自定义字段名
    ehrCustomFields[].value any 自定义字段值
    ehrCandidateExternalLink string 候选人详情的链接,可以直接在浏览器中打开查看,该链接有效期默认14天,最大可设置365天
    idCardFrontList array 上传身份证照片(人像面)
    idCardBackList string 上传身份证照片(国徽面)
    idCardSignOrganization string 身份证签发机关
    idCardValidity string 证件有效期
    customAttachmentList obj 候选人标准简历的所有附件
    customAttachmentList.customUpload+customId ary 候选人标准简历的附件的key由customUpload(固定字符串)+customId组成
    customAttachmentList.customUpload+customId[].attachmentName string 附件名称
    customAttachmentList.customUpload+customId[].attachmentSize number 附件大小(byte)
    customAttachmentList.customUpload+customId[].candidateId number 候选人id
    customAttachmentList.customUpload+customId[].customId number 自定义字段id
    customAttachmentList.customUpload+customId[].downloadUrl string 下载地址24小时失效
    customAttachmentList.customUpload+customId[].createdAt string 附件创建时间(时间戳格式)
    referrer object 推荐人信息
    referrer.name string 推荐人姓名
    referrer.email string 推荐人邮箱
    referrer.phone string 推荐人电话
    referrer.number string 推荐人工号
    可选值:
    null:无工号
    xxx:工号
    operator object 操作人信息
    operator.name string 操作人姓名
    operator.email string 操作人邮箱
    operator.phone string 操作人电话
    operator.number string 操作人工号
    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 当自定义字段是时间段时存在该字段,标识结束时间是否为“至今”。结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    customFields[].section string 自定义字段所在的模块名称,模块可以是内置模块(如experienceInfo)或者自定义模块(如紧急联系人)
    customFields[].index string 对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    offer object offer信息,当未创建offer时,offer整体返回null
    offer.createdAt string offer创建时间。日期格式为:ISO8601
    offer.status string offer状态
    可选值:
    notCreated:未创建
    : pending: 未发送
    sent: 待接受
    : accepted :已接收
    rejected:已拒绝
    offer.approvalStatus string 审批状态
    可选值:
    UNINITIATED:未发起
    INPROGRES: 审批中
    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.attachmentList array offer附件列表
    offer.attachmentList[].name string offer附件名称
    offer.attachmentList[].size number offer附件大小
    offer.attachmentList[].downloadUrl string offer附件下载链接,48小时有效
    offer.attachmentList[].attachmentType number offer附件类型
    可选值:
    0:发送给候选人的附件
    1.发送给审批人的附件
    2:offer附件
    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,有效期48个小时
    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相关附件下载地址
    链接地址有效期为48小时
    examReportLinks array 候选人考试/测评结果链接
    examReportLinks[].name string 候选人考试/测评名
    examReportLinks[].url string 候选人考试/测评结果链接
    examReportLinks[].type string 代表:exam或者evaluation
    examReportLinks[].result string 候选人考试/测评结果的结果
    examReportLinks[].detailResult string 候选人考试/测评的详细结果
    examAttachments array 候选人考试/测评相关附件
    examAttachments[].name string 候选人考试/测评相关附件文件名
    examAttachments[].url string 候选人考试/测评相关附件下载地址
    链接地址有效期为1小时
    examAttachments[].result string 候选人考试/测评结果的结果
    examAttachments[].detailResult string 候选人考试/测评详细结果
    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 标识结束时间是否为“至今”。当结束时间为至今时,now=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.number 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 职位名称

    SOAP候选人信息参数样例:

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
      <event>pushCandidate</event>
      <id>f353e5ce-17e0-4783-bee4-4a6b734b20fe</id>
      <triggeredAt>1505296287</triggeredAt>
      <data>
        <academicDegree>本科</academicDegree>
        <applicationId>12798</applicationId>
        <birthYear>1992</birthYear>
        <candidateId>8030</candidateId>
        <customFields>
          <element>
            <index>0</index>
            <name>身高</name>
            <section>educationInfo</section>
            <value>175</value>
          </element>
          <element>
            <index>0</index>
            <name>联系人姓名</name>
            <section>紧急联系人</section>
            <value>张三</value>
          </element>
          <element>
            <index>0</index>
            <name>联系人关系</name>
            <section>紧急联系人</section>
            <value>父亲</value>
          </element>
          <element>
            <index>0</index>
            <name>联系人电话</name>
            <section>紧急联系人</section>
            <value>13012341234</value>
          </element>
          <element>
            <index>0</index>
            <name>联系人邮箱</name>
            <section>紧急联系人</section>
            <value>zs@demo.com</value>
          </element>
          <element>
            <index>1</index>
            <name>联系人姓名</name>
            <section>紧急联系人</section>
            <value>张小四</value>
          </element>
          <element>
            <index>1</index>
            <name>联系人关系</name>
            <section>紧急联系人</section>
            <value>兄弟</value>
          </element>
          <element>
            <index>1</index>
            <name>联系人电话</name>
            <section>紧急联系人</section>
            <value>130567585678</value>
          </element>
          <element>
            <index>1</index>
            <name>联系人邮箱</name>
            <section>紧急联系人</section>
            <value>zxs@demo.com</value>
          </element>
        </customFields>
        <educationInfo>
          <element>
            <academicDegree>本科</academicDegree>
            <endDate>2015-06</endDate>
            <school>北京邮电大学</school>
            <speciality>土木工程</speciality>
            <startDate>2011-09</startDate>
          </element>
        </educationInfo>
        <email>shaodong@example.com</email>
        <experienceInfo>
          <element>
            <company>北京有利科技有限公司</company>
            <endDate>2017-09</endDate>
            <startDate>2016-03</startDate>
            <title>高级Java工程师</title>
          </element>
          <element>
            <company>北京水果电商技术有限公司</company>
            <endDate>2016-03</endDate>
            <startDate>2015-05</startDate>
            <title>java工程师</title>
          </element>
        </experienceInfo>
        <gender></gender>
        <headcountInfo>
          <element>
            <id>1</id>
            <number>A001</number>
          </element>
        </headcountInfo>
        <interviewFeedbackUrl>https://cdn.mokahr.com/e11d677-4962-4309-b507-2273bf2499c8.pdf?OSSAccessKeyId=BBc12XXIQWCGUAZO&amp;Expires=1505300229&amp;Signature=Vdw6zpNH8HTUnu1FvhSjdXiqK6Q%3D</interviewFeedbackUrl>
        <interviewers>
          <element>
            <email>liming@example.com</email>
            <feedback>水平一般</feedback>
            <feedbackTemplateResult>
              <element>
                <calcScoreType>total</calcScoreType>
                <description>题目1的描述</description>
                <needReason>true</needReason>
                <scoreType>5</scoreType>
                <subjects>
                  <element>
                    <description>小题1的描述</description>
                    <result>10</result>
                    <title>小题1的标题</title>
                  </element>
                </subjects>
                <title>题目1的标题</title>
                <type>1</type>
              </element>
              <element>
                <description>题目2的描述</description>
                <subjects>
                  <element>
                    <description>小题1的描述</description>
                    <options>
                      <element>选项1</element>
                      <element>选项2</element>
                    </options>
                    <result>1</result>
                    <title>小题1的标题</title>
                  </element>
                </subjects>
                <title>题目2的标题</title>
                <type>2</type>
              </element>
              <element>
                <description>题目3的描述</description>
                <subjects>
                  <element>
                    <description>小题1的描述</description>
                    <result>技术很棒</result>
                    <title>小题1的标题</title>
                  </element>
                </subjects>
                <title>题目3的标题</title>
                <type>3</type>
              </element>
            </feedbackTemplateResult>
            <name>李明</name>
            <phone>18600000001</phone>
            <result>1</result>
            <round>1</round>
            <roundName>初试</roundName>
          </element>
          <element>
            <email>wanghong@example.com</email>
            <feedback>水平有限</feedback>
            <name>王宏</name>
            <phone>18600000002</phone>
            <result>2</result>
            <round>2</round>
            <roundName>复试</roundName>
          </element>
        </interviewers>
        <job>
          <department>研发部</department>
          <title>java工程师</title>
        </job>
        <jobRanksInfo>
          <element>
            <level>1</level>
            <name>初级</name>
            <type>类别1</type>
          </element>
        </jobRanksInfo>
        <location>北京</location>
        <married>未婚</married>
        <name>邵旭冬</name>
        <offer>
          <checkinDate>2018-5-3</checkinDate>
          <creator>
            <email>zhao@mokahr.com</email>
            <name>赵摩卡</name>
          </creator>
          <customFields>
            <element>
              <name>职级</name>
              <value>P6</value>
            </element>
          </customFields>
          <finishedAt>2018-4-23T09:10:26.000Z</finishedAt>
          <location>北京市海淀区中关村方正国际大厦1001</location>
          <lastCompany>郑州麦田伙伴科技有限公司</lastCompany>
          <salaryNumber>8000</salaryNumber>
        </offer>
        <operator>
          <email>liming@example.com</email>
          <name>李明</name>
          <phone>18600000001</phone>
          <number>A001</number>
        </operator>
        <phone>18600000000</phone>
        <referrer>
          <email>11111@mokahr.com</email>
          <name></name>
          <phone>18600000001</phone>
          <number>2019</number>
        </referrer>
        <resumeUrl>https://cdn.mokahr.com/55142a64-ab10-4292-ac9e-93af856fa001.doc?OSSAccessKeyId=LTAIoEXIQWCGUAZO&amp;Expires=1505300229&amp;Signature=fiD81pNH8HTUnu1FvhsnjCvjK6Q%3D</resumeUrl>
        <source>其他</source>
        <sourceType>1</sourceType>
      </data>
    </root>
    

    附件:

    系统内置字段code映射表.xlsx

    推送面试信息

    推送添加面试信息目前在Moka中是由添加面试完成确认按钮点击时触发

    推送数据样例:

    {
      "id":"f353e5ce-17e0-4783-bee4-4a6b734b20fe",
      "event":"createInterviewsInfo",
      "triggeredAt":1505296287,
      "data":{
        "applicationIds":[
          200006263
        ],
        "interviewType":3,
        "createTime":1597391796747,
        "creator":{
          "id":"200000217",
          "name":"张武杰",
          "email":"z@mokahr.com",
          "phone":"17610230001"
        },
        "interviews":[
          {
            "event_id":"12345612",
            "applicationIds":[
              200006263
            ],
            "roomId":1,
            "roomName":"会议室A",
            "address":{
              "id":1524,
              "country":"中国",
              "cityId":310109,
              "address":"Xxx城市xx县xx小区"
            },
            "startTime":1597392000000,
            "endTime":1597393800000,
            "interviewerIds":[
              200000217
            ],
            "interviewee":[
              {
                "id":200006257,
                "name":"zwj5",
                "email":"z@mokahr.com",
                "phone":"17610230000",
                "jobId":"6c465f4b-e791-423f-a053-5e76e04e5f29",
                "jobTitle":"java"
              }
            ],
            "interviewer":[
              {
                "id":200000217,
                "name":"张武杰",
                "email":"z@mokahr.com",
                "phone":"17610230000"
              }
            ]
          }
        ]
      }
    }
    
    

    请求data里的结构如下:

    字段 类型 描述
    id array 唯一id
    event array 事件类型
    createInterviewsInfo:创建面试信息
    updateInterviewsInfo:更新面试信息
    deleteInterviewsInfo:删除面试信息
    triggeredAt array 触发时间
    data object 面试信息
    data.applicationIds array 申请id
    data.interviewType integer 面试类型。1:现场面试 2:集体面试 3:电话面试 4:视频面试 5:叫号面试
    data.createTime integer 时间戳
    data.creator object 创建面试人信息
    data.creator.id string 创建面试人id
    data.creator.name string 创建面试人姓名
    data.creator.email string 创建面试人邮箱
    data.creator.phone string 创建面试人电话
    data.interviews array 面试信息
    data.interviews[].event_id array 面试信息唯一id
    data.interviews[].applicationIds array 申请id
    data.interviews[].roundId integer 轮次id
    data.interviews[].roundName string 轮次姓名
    data.interviews[].roomId integer 面试房间id
    data.interviews[].roomName string 面试房间名称
    data.interviews[].address object 面试地点信息
    data.interviews[].address.id integer 面试地点id
    data.interviews[].address.country string 面试地点 - 国家
    data.interviews[].address.cityId integer 面试地点 - 城市id
    data.interviews[].address.address string 面试地点 - 具体地点
    data.interviews[].startTime integer 面试开始时间 (时间戳)
    data.interviews[].endTime integer 面试结束时间 (时间戳)
    data.interviews[].interviewerIds array 面试官id
    data.interviews[].interviewee array 候选人信息
    data.interviews[].interviewee[].id integer 候选人id
    data.interviews[].interviewee[].name string 候选人姓名
    data.interviews[].interviewee[].email string 候选人邮箱
    data.interviews[].interviewee[].phone string 候选人电话
    data.interviews[].interviewee[].jobId string 候选人面试职位id
    data.interviews[].interviewee[].jobTitle string 候选人面试职位名称
    data.interviews[].interviewee[].intervieweeUrl string 候选人链接
    data.interviews[].interviewer array 面试官信息
    data.interviews[].interviewer[].id integer 面试官id
    data.interviews[].interviewer[].name string 面试官姓名
    data.interviews[].interviewer[].email string 面试官邮箱
    data.interviews[].interviewer[].phone string 面试官电话
    data.interviews[].interviewer[].interviewerUrl string 面试官链接

    返回body的JSON数据如下

    字段 类型 描述
    code Integer 响应码,0:成功 非0代表失败
    msg String 响应信息
    data Object 返回数据

    公共API

    上传附件

    上传附件接口

    请求样例

    $  https://api.mokahr.com/api-platform/v1/file/upload \
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: multipart/form-data' \
       -F 'upload_file=@/path/to/uploads/upload_file.txt'
    

    返回样例

    {
      "data": {
        "key": "xxx"
      },
      "code": 200,
      "msg": ""
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/file/upload

    请求body参数(multipart/form-data方式)

    字段 必填 类型 描述
    upload_file file 上传文件

    返回body的JSON数据如下

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    data Object 返回数据
    data.key String 唯一key

    获取开关状态

    获取开关状态接口

    请求样例

    $  https://api.mokahr.com/api-platform/v1/public/switchStatus \
       -u 'your_api_key:' \
      -u 'your-api-key:' \
      -X POST \
      -H 'Content-Type: application/json' \
      -d '{
      "type": "",
      "belongOrgId": "",
      "hireMode": 0
    }'
    

    返回样例

    {
      "data": {
            "belongOrgId": "vipshophr-test",
            "content": "false",
            "hireMode": 0,
            "orgId": "vipshophr-test",
            "type": "send_offer_force_cc",
            "version": "1.0"
        },
      "code": 0,
      "msg": ""
    }
    

    HTTP请求

    POST hhttps://api.mokahr.com/api-platform/v1/public/switchStatus

    请求body参数

    字段 必填 类型 描述
    type string config type 目前只支持 send_offer_force_cc
    belongOrgId string 所属子公司id,必须是那些change_dept_id=0的公司id; 如果不传默认采用orgId
    hireMode integer 招聘模式(社招1 ,校招2)

    返回body的JSON数据如下

    字段 类型 描述
    code string 0:成功
    非0代表错误
    msg string 接口返回值说明
    data Object 返回数据
    data.type String 查询的类型
    data.content String 返回内容
    data.belongOrgId String 所属子公司id,必须是那些change_dept_id=0的公司id; 如果不传默认采用orgId
    data.hireMode String 招聘模式(社招1 ,校招2)
    data.orgId String 租户 id

    创建操作记录

    创建操作记录接口

    请求样例

    $  curl https://api.mokahr.com/api-platform/history/create \
    
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '{
      "email": "zhangshengnan@mokahr.com",
      "type": "创建职位",
      "data": "创建了职位 测试工程师2019_01_07_15_31_29"
        }'
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/history/create

    请求body参数JSON数据如下

    字段 必填 类型 描述
    email string 用户邮箱
    type string 操作类型
    data string 操作详细信息

    返回body的JSON数据如下

    字段 类型 描述
    code integer 200:成功
    msg string 接口返回值说明
    data object

    招聘官网API

    此部分API主要用于获取招聘官网中的职位信息,以及投递简历到一个职位。

    获取官网列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/website/list \
       -X GET
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": [
            {
                "id": 29189,
                "name": "系统默认社会招聘门户",
                "type": "social",
                "creator": {
                    "email": "系统"
                }
            },
            {
                "id": 29190,
                "name": "系统默认校园招聘门户",
                "type": "campus",
                "creator": {
                    "email": "系统"
                }
            },
            {
                "id": 29191,
                "name": "内部推荐",
                "type": "recommend",
                "creator": {
                    "email": "系统"
                }
            }
        ]
    }
    

    获取企业在招聘官网模块处所有创建的官网信息列表

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/website/list

    请求参数无

    返回body的JSON数据如下:

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    data[].id string 官网id
    data[].name string 官网名称
    data[].type string 官网类型
    可选值:
    camp:校招
    social:社招
    recommend:内推(内推默认不区分社校招)
    recommend_campus:校招内推
    recommend_social:社招内推
    data[].creator object 创建人信息
    data[].creator.id number 创建人在moka的用户id
    data[].creator.email string 创建人邮箱

    获取职位列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/jobs/moka\?mode\=social \
       -X GET
    

    返回样例

    {
       "total": 10000,
      "jobs": [
       {
        "id": "1234",
        "title": "网页设计师",
        "status": "open",
        "description": "<div><b>我们是谁</b><div>",
        "minSalary": 1000,
        "maxSalary": 9000,
        "minExperience": 3,
        "maxExperience": 5,
        "number": 10,
        "commitment": "全职",
        "education": "本科",
        "closedAt": "2017-10-01T22:00:00.000Z",
        "openedAt": "2017-09-01T21:00:00.000Z",
        "prior": 1,
        "hireMode": 1,
        "mjCode": "MJ001",
        "finishedAt": "2019-08-23T16:00:00.000Z",
        "department": {
            "id": 1,
            "name": "技术部"
        },
        "locations": [
            {
                "id": 1,
                "province": "广东",
                "city": "深圳市",
                "area": "福田区",
                "country": "中国",
                "address": "车公庙泰然大厦C座22楼"
            }
        ],
        "zhineng": {
            "id": 1,
            "name": "技术类"
        },
        "customFields": [
            {
                "id": 1,
                "name": "薪资范围",
                "value": "100-200",
                "type": "string_info"
            }
        ]
        }
      ]
    }
    

    获取招聘官网上的职位列表

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/jobs/{orgId}

    请求URL参数

    字段 必填 类型 描述
    orgId string 每个企业客户对应的唯一id

    请求query参数

    字段 必填 类型 描述
    mode string 招聘模式
    可选值:
    social:社招
    campus:校招
    keyword string 搜索关键字
    limit string 分页用的每页条数,默认30
    offset string 分页用的偏移量,所示索引从0开始
    locationIds array 通过地址列表接口返回的地址id,比如[1,2,3]
    详细参数见职位地址
    zhinengId number 通过职能列表接口返回的地址id
    详细参数见职位职能
    siteId number 官网id
    commitment number 职位性质
    可选值:
    1:全职
    2:兼职
    3:实习
    4:其他
    updatedFromAt string 职位按更新时间筛选的起始时间,比如2020-06-01
    updatedEndAt string 职位按更新时间筛选的截止时间,比如2020-07-01
    departmentCodes array 职位所属部门编号列表
    status string 职位状态
    可选值:
    open:开启
    closed:关闭
    pause:暂停

    返回body的JSON数据如下:

    字段 类型 描述
    total integer 职位总数量
    jobs[] array 职位列表
    jobs[].id string 职位id
    jobs[].title string 职位名称
    jobs[].status string 职位状态
    可选值:
    open:开启
    closed:关闭
    pause:暂停
    jobs[].description string 职位描述
    jobs[].mjCode string 职位编号
    jobs[].minSalary integer 最低薪资,单位:千(K)
    jobs[].maxSalary integer 最高薪资,单位:千(K)
    jobs[].minExperience integer 最低工作经验
    jobs[].maxExperience integer 最高工作经验
    jobs[].number integer 招聘人数
    jobs[].commitment string 职位性质
    可选值:
    全职
    兼职
    实习
    其他
    jobs[].education string 学历要求
    jobs[].closedAt string 职位关闭时间。日期格式为:ISO8601
    jobs[].openedAt string 开始招聘时间。日期格式为:ISO8601
    jobs[].updatedAt string 职位更新时间。日期格式为:ISO8601
    jobs[].prior integer 是否优先招聘,1为优先招聘
    jobs[].hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    jobs[].finishedAt string 职位目标完成时间
    jobs[].isRecommendation boolean 是否为内推职位
    jobs[].department object 职位所在部门信息
    jobs[].department.id integer 部门id
    jobs[].department.name string 部门名称
    jobs[].locations array 职位工作地
    jobs[].locations[].id integer 地址id
    jobs[].locations[].province string
    jobs[].locations[].city string
    jobs[].locations[].area string
    jobs[].locations[].country string 国家
    jobs[].locations[].address string 详细地址
    jobs[].zhineng object 职位职能信息
    jobs[].zhineng.id integer 职能id
    jobs[].zhineng.name string 职能名称
    jobs[].customFields array 职位自定义字段列表
    jobs[].customFields[].id integer 自定义字段id
    jobs[].customFields[].name string 自定义字段名称
    jobs[].customFields[].type string 自定义字段类型
    可选值:
    string_info
    bool_info
    jobs[].customFields[].value string 自定义字段的值
    jobs[].jobManager object 职位负责人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobManager.name string 职位负责人姓名
    jobs[].jobManager.email string 职位负责人邮箱
    jobs[].jobManager.phone string 职位负责人手机号
    jobs[].jobManager.employee_id string 职位负责人工号
    jobs[].jobHrAssistant object[] 职位协助人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobHrAssistant[].name string 职位协助人姓名
    jobs[].jobHrAssistant[].email string 职位协助人邮箱
    jobs[].jobHrAssistant[].phone string 职位协助人手机号
    jobs[].jobHrAssistant[].employee_id string 职位协助人工号
    jobs[].jobHiringManager object[] 用人经理 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobHiringManager[].name string 用人经理姓名
    jobs[].jobHiringManager[].email string 用人经理邮箱
    jobs[].jobHiringManager[].phone string 用人经理手机号
    jobs[].jobHiringManager[].employee_id string 用人经理工号
    jobs[].jobInterviewer object[] 面试官 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobInterviewer[].name string 面试官姓名
    jobs[].jobInterviewer[].email string 面试官邮箱
    jobs[].jobInterviewer[].phone string 面试官手机号
    jobs[].jobInterviewer[].employee_id string 面试官工号

    Q&A

    1、关于已关闭招聘的职位是否显示:职位在关闭的时候如果没勾选取消在官网显示,则还会官网显示,并且其中closedAt是关闭时间。
    image.png 2、是否支持删除职位或者显示删除的职位:不支持,删除了就彻底没了,如果这个职位下有招聘过程中的候选人数据,则系统内无法删除。

    获取单个职位信息

    请求样例

    curl --location --request GET
     'https://api-staging-3.mokahr.com/api-platform/v1/jobs/orgid-test/b19c75f0-170'
    

    返回样例

    {
      "id": "1234",
      "title": "网页设计师",
      "status": "open",
      "description": "<div><b>我们是谁</b><div>",
      "minSalary": 1000,
      "maxSalary": 9000,
      "minExperience": 3,
      "maxExperience": 5,
      "number": 10,
      "commitment": "全职",
      "education": "本科",
      "closedAt": "2017-10-01T22:00:00.000Z",
      "openedAt": "2017-09-01T21:00:00.000Z",
      "updatedAt": "2017-09-01T21:00:00.000Z",
      "hireMode": 1,
      "finishedAt": "2019-08-23T16:00:00.000Z",
      "department": {
          "id": 1,
          "name": "技术部"
      },
      "locations": [
          {
              "id": 1,
              "country": "中国",
              "address": "北京市海淀区海淀西大街"
          }
      ],
      "zhineng": {
          "id": 1,
          "name": "技术类"
      },
      "customFields": [
          {
              "id": 1,
              "name": "薪资范围",
              "value": "100-200",
              "type": "string_info"
          }
      ]
    }
    

    获取单个职位的所有信息。

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/jobs/{orgId}/{jobId}

    请求Path参数

    字段 必填 类型 描述
    orgId string 每个公司客户对应的唯一id
    jobId string 职位id

    返回

    字段 类型 描述
    id string 职位id
    title string 职位名称
    status string 职位状态
    可选值:
    open:开启
    closed:关闭
    pause:暂停
    description string 职位描述
    mjCode string 职位编号
    minSalary integer 最低薪资,单位:千(K)
    maxSalary integer 最高薪资,单位:千(K)
    minExperience integer 最低工作经验
    maxExperience integer 最高工作经验
    number integer 招聘人数
    commitment string 职位性质
    可选值:
    全职
    兼职
    实习
    其他
    education string 学历要求
    closedAt string 职位关闭时间。日期格式为:ISO8601
    openedAt string 开始招聘时间。日期格式为:ISO8601
    updatedAt string 职位更新时间。日期格式为:ISO8601
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    finishedAt string 职位目标完成时间
    isRecommendation boolean 是否为内推职位
    department object 职位所在部门信息
    department.id integer 部门id
    department.name string 部门名称
    locations array 职位工作地
    locations[].id integer 地址id
    locations[].province string
    locations[].city string
    locations[].area string
    locations[].country string 国家
    locations[].address string 详细地址
    zhineng object 职位职能信息
    zhineng.id integer 职能id
    zhineng.name string 职能名称
    customFields array 职位自定义字段列表
    customFields[].id integer 自定义字段id
    customFields[].name string 自定义字段名称
    customFields[].type string 自定义字段类型
    可选值:
    string_info
    bool_info
    customFields[].value string 自定义字段的值
    jobManager object 职位负责人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobManager.name string 职位负责人姓名
    jobManager.email string 职位负责人邮箱
    jobManager.phone string 职位负责人手机号
    jobManager.employee_id string 职位负责人工号
    jobHrAssistant object[] 职位协助人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobHrAssistant[].name string 职位协助人姓名
    jobHrAssistant[].email string 职位协助人邮箱
    jobHrAssistant[].phone string 职位协助人手机号
    jobHrAssistant[].employee_id string 职位协助人工号
    jobHiringManager object[] 用人经理 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobHiringManager[].name string 用人经理姓名
    jobHiringManager[].email string 用人经理邮箱
    jobHiringManager[].phone string 用人经理手机号
    jobHiringManager[].employee_id string 用人经理工号
    jobInterviewer object[] 面试官 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobInterviewer[].name string 面试官姓名
    jobInterviewer[].email string 面试官邮箱
    jobInterviewer[].phone string 面试官手机号
    jobInterviewer[].employee_id string 面试官工号

    申请一个职位

    请求样例(json方式)

    $ curl https://api.mokahr.com/api-platform/v1/jobs/moka/1234/apply \
      -u 'your-api-key:' \
      -X POST \
      -H 'Content-Type: application/json' \
      -d '
      {
        "basicInfo":
      {
          "name": "张三",
          "age": 22,
          "email": "zhangsan@mokahr.com",
          "gender": "男",
          "phone": "18612345678",
          "lastCompany": "阿里巴巴",
          "lastSpeciality": "计算机",
          "academicDegree": "本科"
      },
      "educationInfo":
      [
         {
         "school": "北京大学",
         "startDate": "2014-09",
         "endDate": "2017-06",
         "speciality": "软件工程",
         "academicDegree": "本科"
          }
      ],
      "experienceInfo":
      [
          {
              "company": "百度",
              "startDate": "2014-09",
              "endDate": "2017-06",
              "title": "初级工程师",
              "summary": "负责产品功能实现"
          }
      ],
      "languageInfo": [
        {
          "language": "213",
          "level": "一般",
          "listenAndSpeak": "良好",
            "readAndWrite": "熟练"
        }
      ],
      "projectInfo":
      [
        {
          "projectName": "项目1",
          "startDate": "2017-01",
          "endDate": "2017-11",
          "projectDescription": "项目功能描述",
          "title": "后端工程师",
          "responsibilities": "项目职责"
        }
      ],
      "practiceInfo":
      [
        {
          "company": "腾讯",
          "title": "实习工程师",
          "startDate": "2017-01",
          "endDate": "2017-11",
          "summary": "负责简单的功能实现"
        }
      ],
      "jobIntention": {
        "aimSalary": "7000-13000元/月",
        "forwardLocation": "北京"
      },
      "selfDescription": {
        "personal": "人经历丰富,在校担任过部长,主持人以及新生教官。"
      },
      "customFields": [
        {
            "id": 1,
            "value": "aaa"
            "index": 0,
        },
        {
            "id": 2,
            "value": "bbb"
        }
      ],
      "recommender": {
        "email": "zhangsan@mokahr.com",
        "name": "张三",
        "phone": "18612345678",
        "employeeId": "1"
      }
      }'
    

    请求样例(multipart/form-data方式)

    $ curl https://api.mokahr.com/api-platform/v1/jobs/moka/1234/apply \
       -u 'your-api-key:' \
       -X POST \
       -H 'Content-Type: multipart/form-data' \
       -F 'basicInfo={"name": "张三", "age": 20, "gender": "男", "phone": "18612345678"}' \
       -F 'educationInfo=[{"school": "北京大学", "startDate": "2014-01", "endDate": "2017-01", "speciality": "软件工程"}]' \
       -F 'experienceInfo=[{"company": "百度", "startDate": "2017-01", "endDate": "2017-01", "title": "工程师"}]' \
       -F 'projectInfo=[{"projectName": "项目1", "startDate":"2017-01","endDate":"2017-11","title":"工程师"}]' \
       -F 'practiceInfo=[{"company":"腾讯", "title":"实习工程师", "startDate":"2017-01", "endDate":"2017-11"}]' \
       -F 'jobIntention={"aimSalary": "7000-13000/月", forwardLocation: "北京"}' \
       -F 'selfDescription={personal: "人经历丰富,在校担任过部长,主持人以及新生教官。"}' \
       -F 'customFields=[{"id": "1", "value": "aaa"}, {"id": "2", "value": "bbb"}]' \
       -F 'recommender={"email": "zhangsan@mokahr.com","name": "张三","phone":"18612345678","employeeId":"1"}' \
       -F 'resume=@/path/to/resume/张三.pdf' \
       -F 'attachments=@/path/to/attachments/attach1.txt' \
       -F 'attachments=@/path/to/attachments/attach2.txt'
    

    返回新申请的信息 这个API支持两种请求格式,分别是multipart/form-data方式和json方式。 如果你需要上传简历或者附件文件,就必须使用multipart/form-data方式。 使用multipart/form-data方式上传的简历文件会经过我们的简历解析服务做处理。 此API需要验证身份信息,验证方式请参考请求验证/Auth部分。 注意:该模块字段是否必填取决于系统内字段属性设置

    返回样例(部分字段)

    {
      "id": 1,
      "name": "张三",
      "age": 20,
      "gender": "男",
      "educationInfo":
      [
         {
         "school": "北京大学",
         "startDate": "2014-09",
         "endDate": "2017-06",
         "speciality": "软件工程",
         "academicDegree": "本科"
          }
      ],
      "experienceInfo":
      [
          {
              "company": "百度",
              "startDate": "2014-09",
              "endDate": "2017-06",
              "title": "初级工程师",
              "summary": "负责产品功能实现"
          }
      ],
      "projectInfo":
      [
        {
          "projectName": "项目1",
          "startDate": "2017-01",
          "endDate": "2017-11",
          "projectDescription": "项目功能描述",
          "title": "后端工程师",
          "responsibilities": "项目职责"
        }
      ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/jobs/{orgId}/{jobId}/apply

    请求URL参数

    字段 必填 类型 描述
    orgId string 每个公司客户对应的唯一id
    jobId string 职位id

    请求query参数

    字段 必填 类型 描述
    isRecommendation integer 是否是内推申请
    可选值:
    1:是内推申请
    不传参:非内推申请
    当isRecommendation传入1的时候body中recommender必填
    isCheckProtect integer 是否校验保护期
    可选值:
    1:且isRecommendation=1 校验保护期
    不传参:不校验保护期
    recommendationType integer 内推官网拆分后需要配合使用
    可选值:1:社招内部推荐
    2:校招内部推荐
    siteId integer 是否是指定官网渠道,如果不传是系统默认官网,如果传入了isRecommendation,则此参数无效
    acquisitionMode integer 申请方式
    可选值:
    0:未知
    2:后台导入
    5:人才推荐
    8:主动推荐
    9:主动申请
    websiteSourceId integer 来源效果,siteId有效时生效
    ownerEmail string 候选人所有者的邮箱,有效值为超管、管理员以及职位协助人和负责人

    请求body(json方式)

    字段 必填 类型 描述
    basicInfo string 基本信息,至少要有一个属性
    basicInfo.name string 候选人姓名
    basicInfo.age integer 候选人年龄
    basicInfo.gender string 候选人性别
    可选值

    basicInfo.email string 候选人邮箱地址
    basicInfo.phone string 候选人电话号码
    basicInfo.lastCompany string 最近公司
    basicInfo.lastSpeciality string 最近毕业专业
    basicInfo.academicDegree string 最高学历
    basicInfo.political string 政治面貌
    educationInfo array 教育经历
    educationInfo[].school string 学校名称
    educationInfo[].startDate string 开始时间
    educationInfo[].endDate string 结束时间
    educationInfo[].speciality string 专业
    educationInfo[].academicDegree string 学历
    experienceInfo array 工作经验
    experienceInfo[].company string 公司名称
    experienceInfo[].startDate string 开始时间
    experienceInfo[].endDate string 结束时间
    experienceInfo[].title string 工作职位
    experienceInfo[].summary string 工作职责
    languageInfo array 语言能力
    languageInfo[].language string 语言类型
    languageInfo[].level string 掌握程度
    languageInfo[].listenAndSpeak string 听说能力
    languageInfo[].readAndWrite string 读写能力
    projectInfo array 项目经验
    projectInfo[].projectName string 项目名称
    projectInfo[].startDate string 开始时间
    projectInfo[].endDate string 结束时间
    projectInfo[].title string 项目中担任的> 职责
    projectInfo[].projectDescription string 项目描述
    projectInfo[].responsibilities string 项目中的职责
    practiceInfo array 实习经验
    practiceInfo[].company string 公司名称
    practiceInfo[].title string 职位名称
    practiceInfo[].startDate string 开始时间
    practiceInfo[].endDate string 结束时间
    practiceInfo[].summary string 工作职责
    jobIntention object 求职意向
    jobIntention.aimSalary string 期望薪资,单位:千(K)
    jobIntention.forwardLocation string 期望城市
    selfDescription object 自我描述
    selfDescription.personal object 自我描述,简介
    customFields[].id integer 自定义字段id
    customFields[].value string 自定义字段值
    customFields[].index number 如果当前模块数据是一个数组且含有自定义字段,则该值必填且与数组下标一致(备注:支持自定义模块数据)
    recommender.name string 推荐人姓名
    recommender.email string 推荐人邮箱
    recommender.phone string 推荐人电话
    recommender.employeeId string 推荐人工号

    请求body(multipart/form-data方式)

    字段 必填 类型 描述
    basicInfo string json格式的字符串,字段同json请求方式的basicInfo
    educationInfo string json格式的字符串,字段同json请求方式的educationInfo
    experienceInfo string json格式的字符串,字段同json请求方式的experienceInfo
    projectInfo string json格式的字符串,字段同json请求方式的projectInfo
    practiceInfo string json格式的字符串,字段同json请求方式的practiceInfo
    languageInfo string json格式的字符串,字段同json请求方式的languageInfo
    jobIntention string json格式的字符串,字段同json请求方式的jobIntention
    selfDescription string json格式的字符串,字段同json请求方式的selfDescription
    recommender string json格式的字符串,字段同json请求方式的recommender
    customFields string json格式的字符串,字段同json请求方式的customFields
    resume file 简历文件
    attachments file 附件文件,最多支持10个

    返回(部分字段)

    字段 类型 描述
    id integer 申请id
    candidateId integer 候选人id
    orgId integer 租户id
    stageId integer 阶段id
    name name 候选人姓名
    age age 候选人年龄
    candidateId long 候选人ID
    gender string 候选人性别
    countryCallingCode string 国家呼叫代码
    skill string 技能
    recommendReason string 推荐原因
    educationInfo array 教育经历
    educationInfo[].school string 学校名称
    educationInfo[].startDate string 开始时间
    educationInfo[].endDate string 结束时间
    educationInfo[].speciality string 学习专业
    educationInfo[].academicDegree string 学历
    experienceInfo array 工作经验
    experienceInfo[].company string 公司名称
    experienceInfo[].startDate string 开始时间
    experienceInfo[].endDate string 结束时间
    experienceInfo[].title string 工作职位
    experienceInfo[].summary string 工作职责
    projectInfo array 项目经验
    projectInfo[].projectName string 项目名称
    projectInfo[].startDate string 开始时间
    projectInfo[].endDate string 结束时间
    projectInfo[].title string 项目中担任的> 职责
    projectInfo[].projectDescription string 项目功能描述
    projectInfo[].responsibilities string 项目中的职责
    practiceInfo array 实习经验

    获取申请状态

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/applications/33211111' \
    --header 'Authorization: Basic aHRuYlJqcGhyRDhzNQ3dUw6'
    

    返回样例

    {
        "candidateId": 201170308,
        "stageName": "笔试",
        "status": "in_progress",
        "code": 0,
        "msg": "成功",
        "success": true
    }
    

    获取一个申请的状态,包括是否被拒绝,是否已入职,是否在流程中 ,以及当前阶段的名称等。

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/applications/{applicationId}

    请求URL参数

    字段 必填 类型 描述
    applicationId integer 申请的唯一id

    返回body的JSON数据如下:

    字段 类型 描述
    status string 申请的状态
    可选值:
    in_progress:在流程中
    rejected:已拒绝
    hired:已入职
    stageName string 申请所在当前阶段的名称
    candidateId integer 候选人在Moka中的唯一id
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    success string true:成功
    false:失败
    已废弃,请勿用于业务逻辑判断,请使用code来判断调用结果

    获取职位地址列表

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/jobs-groupedby-location/orgid-test?mode=social' \
    --header 'Authorization: Basic aHRuYlJq*********3J6RWNLd3FWR0Q3dUw6'
    

    返回样例

    {
      "jobs": [
        {
          "id": "北京市",
          "label": "北京市",
          "locationRows": [
            {
                "id": 445,
                "cityId": 110000
            },
            {
                "id": 446,
                "cityId": 110105
            }
          ],
          "jobCount": 2
        },
        {
          "id": "上海市",
          "label": "上海市",
          "locationRows": [
            {
              "id": 398,
              "cityId": 310000
            }
          ],
          "jobCount": 1
        },
        {
          "id": "其他",
          "label": "其他",
          "cityId": null,
          "locationRows": [
            {
              "id": 377,
              "cityId": null
            }
          ],
          "jobCount": 6
        },
        {
          "id": "阿尔巴尼亚",
          "label": "阿尔巴尼亚",
          "cityId": null,
          "locationRows": [
            {
              "id": 2061,
              "cityId": null
            }
          ],
          "jobCount": 1
        }
      ]
    }
    

    获取职位地址列表。 注意:可用于职位列表接口查询用的id是locationRows里的id,因为同一个北京市下可能会有多个办公地址,用右边的接口举例,需要查询北京市下的职位,需要给职位接口传locationIds:[445, 446]

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/jobs-groupedby-location/{orgId}

    请求URL参数

    字段 必填 类型 描述
    orgId string 组织id

    请求query

    字段 必填 类型 描述
    mode string 招聘模式
    social:社招
    campus:校招

    返回

    返回body的JSON数据如下:

    字段 字段类型 描述
    jobs array
    jobs.id string 省份id
    jobs.label string 省份名字
    jobs.locationRows object
    jobs.locationRows.id integer 办公地点列表id
    jobs.locationRows.cityId integer 城市id
    jobs.labelCityId string 城市标签id
    jobs.jobCount integer 该地址下所有职位的总数

    获取职位职能列表

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/jobs-groupedby-zhineng/orgid-test?mode=social&siteId=33232323' \
    --header 'Authorization: Basic aHRuYlJqcGhyRDhzNWl********FWR0Q3dUw6'
    

    返回样例

    {
      "jobs": [
        {
          "id": 2873,
          "label": "技术类",
          "jobCount": 64
        }
      ]
    }
    

    获取职位职能列表。 注意:数组里的id是可以用过过滤职位列表接口里的;用右边的接口举例,需要查询技术类下的职位,需要给职位接口传zhinengId:2873

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/jobs-groupedby-zhineng/{orgId}

    请求URL参数

    字段 必填 类型 描述
    orgId string 组织id

    请求query

    字段 必填 类型 描述
    mode string 招聘模式
    可选值:
    social:社招
    campus:校招
    siteId number 官网id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 职能id
    label string 职能名称
    parentId integer 父级职能id
    jobCount integer 本级及所有下级职能的职位数量

    官网职位申请页配置(无需登录)

    请求样例

    <iframe src="https://app.mokahr.com/apply/test/90#/job/2bc083cf-bf34-45ba-a1a8-d028ed039d2d?pure=1" />
    

    纯净版官网申请表,去除了候选人申请页面的导航和其他moka元素,只包含申请表单与渠道导入简历部分,可通过iframe方式嵌入自研官网。

    有pc端和移动端的区分。只需在原来的普通申请页面的url加上query pure=1

    落地页

    请求URL参数

    字段 必填 类型 描述
    orgId string 组织id
    siteId integer 开启了多官网后的多官网id, 没有可省略
    比如其中一个多官网的链接是https://app.mokahr.com/apply/test/56,siteId就是最后面那个56,这个链接可以在系统内官网管理的官网链接获取。
    jobId string 职位id

    注意 校招职位需要将pathname的 apply 替换为 campus_apply
    例:

    获取指定官网的来源效果信息

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/website/website-soure' \
    --header 'Authorization: Basic aHRuYlJqcGhyRDhzNWl********FWR0Q3dUw6'
    --header 'Content-Type: application/json' \
    --data-raw '{
        "siteId":1222
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "total": 560,
            "version": "1.0",
            "websiteSourceInfoDTOList": [
                {
                    "id": 3,
                    "isPreach": true,
                    "name": "宣讲会1",
                    "shortUrl": "https://app.mokahr.com/su/aaaaa",
                    "version": "1.0"
                },
                {
                    "id": 5,
                    "isPreach": false,
                    "name": "官网的来源效果1",
                    "shortUrl": "https://app.mokahr.com/su/bbbbb",
                    "version": "1.0"
                }
            ]
        }
    }
    

    获取指定官网的来源效果信息。 注意:校招官网id可以查出该校招官网下的所有来源效果+宣讲会;社招官网id只能返回社招官网下的来源效果;不支持内推官网

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/website/website-soure

    请求query

    字段 必填 类型 描述
    siteId number 官网id,只支持社招官网id 或 校招官网id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 错误码,非0表示失败
    message string 错误描述
    data object
    data.total number 总数据量
    data.websiteSourceInfoDTOList array 来源效果信息
    data.websiteSourceInfoDTOList[].id number 来源效果id
    data.websiteSourceInfoDTOList[].isPreach boolean 是否宣讲会,true:宣讲会,false:不是宣讲会
    data.websiteSourceInfoDTOList[].name string 来源效果名称
    data.websiteSourceInfoDTOList[].shortUrl string 短链接地址

    企业信息API

    获取企业地点列表

    获取企业地点列表信息

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/locations \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    [
      {
        "id": 15,
        "country": "中国",
        "province": "上海市",
        "city": null,
        "area": null,
        "address": "人民广场",
        "map": {
          "locPoint": {
            "lng": 121.487899,
            "lat": 31.249162
          },
          "center": {
            "lng": 121.492498,
            "lat": 31.245087
          }
        }
      }
    ]
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/locations

    请求参数

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 地点的id
    country string 国家
    province string 省份
    city string 城市
    area string 地区
    address string 具体地点
    map object 地图相关信息
    map.locpoint object 地图标记点坐标
    map.locpoint.lng number 地图标记点经度,高德坐标系
    map.locpoint.lat number 地图标记点纬度,高德坐标系
    map.center object 地图切片中心点坐标
    map.center.lng number 地图中心点经度,高德坐标系
    map.center.lat number 地图中心点纬度,高德坐标系

    新增公司地址(批量)

    批量新增公司地址 通过addressCode新增公司地址
    addressCode已存在:跳过并报错
    addressCode不存在:新增
    部门不支持向下级联

    请求样例

    $ curl --location --request POST 'https://api.mokahr.com/api-platform/locations/v2/batch_create_locations' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: ' \
    --data-raw '{
        "locations": [
            {
                "addressCode": "114514",
                "cityId": 110105,
                "address": "测试address",
                "lat": 22.627981,
                "lng": 114.115447
            }
        ]
    }'
    

    返回样例

    {
        "code":0,
        "message":"",
        "data":[{
            "message":"",
            "addressCode":"",
            "addressId":"",
            "succeed":true
        }]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/locations/v2/batch_create_locations

    请求body(json方式)

    字段 必填 类型 描述
    locations array 公司地址信息
    locations[].addressCode string 公司地址在外部系统的唯一id
    locations[].cityId integer 所在地区行政区代码 详情见 http://www.mokahr.com/docs/api/#district-code
    locations[].address string 详细地址
    locations[].lat double 经度(高德地图系)
    locations[].lng double 纬度(高德地图系)
    locations[].departmentIds[] array[integer] Moka系统部门信息
    部门在Moka的唯一id
    departmentId与departmentCode都传时,departmentId
    departmentId与departmentCode都不传时,默认为全部部门
    locations[].departmentCodes[] array[string] 外部系统的部门信息
    部门在外部系统的唯一id(需开启组织架构同步)
    departmentId与departmentCode都传时,departmentId
    departmentId与departmentCode都不传时,默认为全部部门

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 错误码,非0表示失败
    message string 错误描述
    data array
    data[].message string 错误描述
    data[].addressCode string 公司地址在外部系统的唯一id
    data[].addressId string 公司地址在Moka的唯一id
    data[].succeed boolean 是否成功
    可选值:
    true:成功
    false:失败

    删除公司地址(批量)

    批量删除公司地址
    通过addressCode删除公司地址
    addressCode已存在:删除
    addressCode不存在:跳过,并报错

    请求样例

    $ curl --location --request POST 'https://api.mokahr.com/api-platform/locations/v2/batch_delete_locations' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: ' \
    --data-raw '{
        "locations": [
            {
                "addressCode": "114514"
            }
        ]
    }'
    

    返回样例

    {
        "code":0,
        "message":"",
        "data":[{
            "message":"",
            "addressCode":"",
            "succeed":true
        }]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/locations/v2/batch_delete_locations

    请求body(json方式)

    字段 必填 类型 描述
    locations array 公司地址信息
    locations[].addressCode string 公司地址在外部系统的唯一id

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 错误码,非0表示失败
    message string 错误描述
    data array
    data[].message string 错误描述
    data[].addressCode string 公司地址在外部系统的唯一id
    data[].succeed boolean 是否成功
    可选值:
    true:成功
    false:失败

    更新公司地址(批量)

    批量更新公司地址
    通过addressCode更新公司地址
    addressCode已存在:更新
    addressCode不存在:跳过,并报错
    部门不支持级联

    请求样例

    $ curl --location --request POST 'https://api.mokahr.com/api-platform/locations/v2/batch_update_locations' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: ' \
    --data-raw '{
        "locations": [
            {
                "addressCode": "114514",
                "cityId": 110105,
                "address": "测试address",
                "lat": 22.627981,
                "lng": 114.115447
            }
        ]
    }'
    

    返回样例

    {
        "code":0,
        "message":"",
        "data":[{
            "message":"",
            "addressCode":"",
            "addressId":"",
            "succeed":true
        }]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/locations/v2/batch_update_locations

    请求body(json方式)

    字段 必填 类型 描述
    locations array 公司地址信息
    locations[].addressCode string 公司地址在外部系统的唯一id
    locations[].cityId integer 所在地区行政区代码 详情见 http://www.mokahr.com/docs/api/#district-code
    locations[].address string 详细地址
    locations[].lat double 经度(高德地图系)
    locations[].lng double 维度(高德地图系)
    locations[].departmentIds[] array[integer] Moka系统部门信息
    部门在Moka的唯一id
    departmentId与departmentCode都传时,departmentId
    departmentId与departmentCode都不传时,默认为全部部门
    locations[].departmentCodes[] array[string] 外部系统的部门信息
    部门在外部系统的唯一id(需开启组织架构同步)
    departmentId与departmentCode都传时,departmentId
    departmentId与departmentCode都不传时,默认为全部部门

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 错误码,非0表示失败
    message string 错误描述
    data array
    data[].message string 错误描述
    data[].addressCode string 公司地址在外部系统的唯一id
    data[].succeed boolean 是否成功
    可选值:
    true:成功
    false:失败

    获取公司地址(批量)

    批量获取公司地址
    (1)V1名称更新:“获取企业地点列表”改为“获取公司地址”
    (2)新增“获取公司地址”V2接口
    通过addressType查询对应类型的公司地址
    有则返回
    无则跳过,并报错

    请求样例

    $ curl --location --request POST 'https://api.mokahr.com/api-platform/locations/v2/get_location_list' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: ' \
    --data-raw '{
        "addressType": 0
    }'
    

    返回样例

    {
        "code":0,
        "message":"",
        "data":[{
            "addressId":"",
            "addressCode":"",
            "country":"",
            "province":"",
            "city":"",
            "district":"",
            "address":"",
            "map":{},
            "departments":[
                {
                    "departmentName":"",
                    "departmentId":"",
                    "departmentCode":""
                }
            ]
        }]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/locations/v2/get_location_list

    请求body(json方式)

    字段 必填 类型 描述
    addressType integer 公司地址类型,必填
    可选值:
    0:API同步创建的公司地址
    1:系统内创建的公司地址
    2:全部公司地址(API同步和系统内创建)

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 错误码,非0表示失败
    message string 错误描述
    data array
    data[].addressId string 公司地址在Moka的唯一id
    data[].addressCode string 公司地址在外部系统的唯一id
    为空代表该地址是在Moka系统内创建
    data[].country string 国家
    data[].province string 省份
    data[].city string 城市
    data[].district string 县区
    data[].address string 公司地址具体地点
    data[].map object object
    data[].departments[].departmentName string 公司地址关联的部门名称
    data[].departments[].departmentId string 部门在Moka的唯一id
    data[].departments[].departmentCode string 部门在外部系统的唯一id(需开启组织架构同步)

    门店API

    获取门店列表

    拉取门店列表

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/get_stores' \
       -u 'your_api_key:' \
       -X POST \
       -d '{
        "apiCodes": ["111111","22222"],
        "pageNum": 1,
        "pageSize": 20,
        "disabled": 0
      }'
    

    请求返回数据样例:

    {
      "data": [
        {
            "id": 1,
            "name": "门店1通恒大厦",
            "lat": 39.980769,
            "lng": 116.373172,
            "locationId": 5,
            "departmentId": 9,
            "apiCode": "1111",
            "createdAt": "2019-12-03T07:12:36.000Z",
            "disabled": 0,
            "country": "中国",
            "cityId": 110108,
            "address": "通恒大厦",
            "mapJson": "{\"locPoint\":{\"lng\":116.373172,\"lat\":39.980769},\"center\":{\"lng\":116.373172,\"lat\":39.980769},\"zoom\":14}",
            "jobNumber": 0
        },
        {
            "id": 2,
            "name": "门店2翠微",
            "lat": 39.982824,
            "lng": 116.372663,
            "locationId": 6,
            "departmentId": 0,
            "apiCode": "",
            "createdAt": "2019-12-03T07:12:36.000Z",
            "disabled": 0,
            "country": "中国",
            "cityId": 110108,
            "address": "海淀翠微",
            "mapJson": "{\"locPoint\":{\"lng\":116.372663,\"lat\":39.982824},\"center\":{\"lng\":116.370759,\"lat\":39.983045},\"zoom\":16}",
            "jobNumber": 0
        }
      ]
    }
    
    

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    apiCodes Array[string] 客户存的店铺唯一码
    pageNum number 页码,默认1
    pageSize number 每页数量,默认20,最大20
    disabled number 门店启停状态
    可选值:
    0:启用的门店
    1:禁用的门店

    返回json数据

    data为门店数组,按照门店创建时间由早到晚排序。其中每一项的数据结构为:

    字段 类型 描述
    data array
    id number 门店id,moka的门店唯一码
    name string 门店名
    lat number 门店坐标纬度,高德坐标系
    lng number 门店坐标经度,高德坐标系
    locationId number 地点id
    departmentId number 门店所关联的部门id
    cityId string 门店所属行政区码, 详情见 http://www.mokahr.com/docs/api/#district-code
    apiCode string 客户存的门店唯一码
    address string 门店地址
    disabled number 门店启停状态
    可选值:
    0:启用的门店
    1:禁用的门店
    createdAt string 门店创建时间,格式遵从ISO8601标准
    jobNumber number 门店下的职位数量
    mapJson json 已废弃

    注意,字段若为空,则内容为空字符串

    同步门店

    Moka 系统中会根据请求的列表中每个门店信息对当前系统中的门店进行同步(新增,更新,停用,启用)。

    HTTP 请求

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

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/stores' \
       -u 'your_api_key:' \
       -X PUT \
       -d '[
      {
        "apiCode": "111111",
        "name": "北京海淀区门店",
        "lat": 39.985043,
        "lng": 116.293914,
        "address": "北京海淀区花园路x号",
        "cityId": 110108,
        "departmentName": "北京海淀区门店组织"
      },
      {
        "apiCode": "222222",
        "name": "北京朝阳区门店",
        "lat": 22.627981,
        "lng": 114.115447,
        "address": "北京市朝阳区麦子店街道枣营北里社区",
        "cityId": 110105,
        "departmentName": "北京朝阳区门店组织"
      },
      ...
    ]'
    

    操作成功:

    {
      "success": true,
      "result": {
        "new": 20,
        "update": 10,
        "disabled": 0
      }
    }
    

    操作失败:

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

    未开启门店错误:

    {
      "success": false,
      "errorMessage": "未开启门店功能"
    }
    

    validation错误:

    {
      "success": false,
      "errorMessage": "Validation Failed",
      "errors": [
        {
          "field": "apiCode",
          "code": "duplicated",
          "details": "123456"
        },
        {
          "field": "name",
          "code": "duplicated",
          "details": "北京朝阳区门店1"
        },
        {
          "field": "cityId",
          "code": "invalid",
          "details": {
            "cityId": "999999",
            "apiCode": "123456",
            "name": "北京朝阳区门店1",
            "lat": 22.627981,
            "lng": 114.115447,
            "address": "北京朝阳区",
            "departmentName": "朝阳部门"
          },
          "document_url": "http://www.mokahr.com/docs/api/#stores"
        },
        {
          "field": "name,cityId",
          "code": "missing_field",
          "details": {
            "apiCode": "111111",
            "lat": 24.775118681,
            "lng": "115.49405445",
            "address": "海淀区花园路4号"
          }
        }
      ]
    }
    

    请求body参数

    字段 必填 类型 描述
    apiCode string 门店的唯一id
    name string 门店名称
    address string 门店地址 (包含省市区的地址)
    cityId number 门店所属行政区码,详情见 http://www.mokahr.com/docs/api/#district-code
    lat number 门店坐标纬度(高德地图系)
    lng number 门店坐标经度(高德地图系)
    relationDepartmentType boolean 可选值:
    true:根据部门code来匹配部门
    false:根据部门名称来匹配部门
    departmentCode string 部门code
    (relationDepartmentType为true的话,会使用departmentCode字段匹配部门)
    departmentName string 部门名称
    (没有传relationDepartmentType,或者relationDepartmentType是false,然后同时传了departmentName,就用departmentName匹配)
    disabled number 门店启停状态
    可选值:
    0:启用的门店
    1:禁用的门店

    处理

    我们会对数据field进行校验, 如果校验未通过, 则返回具体的错误信息:

    进行校验的field:['name', 'apiCode', 'cityId', 'address']

    可能的错误码:

    code 描述
    duplicated 信息重复
    invalid 数据不正确,比如传入了不支持的cityId
    missing_field 缺少该field,或有field值为空

    调整门店权限

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/store/changeJobManagerOrAssistantByStore' \
       -u 'your_api_key:' \
       -X POST \
       -d '{
               "operation" : "add",
               "dataType" : 1,
               "userData" : "jinhaiyang@mokahr.com",
               "managerType" : 30,
               "apiCode":"10086",
               "orgId" : "livingsimple"
       }'
    

    请求成功返回数据样例:

    {
        "code": 200,
        "msg": "success",
        "data": {}
    }
    

    请求失败返回数据样例:

    {
        "code": 12714002,
        "msg": "错误信息:不支持的负责人类型"
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/store/changeJobManagerOrAssistantByStore

    请求body参数

    字段 必填 类型 描述
    orgId string 公司id
    operation string 操作
    add:授予一个用户该门店对应职位的权限
    remove:移除该门店对应职位的指定用户权限
    dataType number userData的类型
    1:邮箱
    2:手机号
    3:工号
    userData string 用户标识,邮箱/手机号/工号
    managerType number !!!注意:managerType和additionalRoles至少有一个是必填
    负责人类型
    30:代表为门店下职位负责人
    25:代表为门店下职位协助人
    additionalRoles array !!!注意:managerType和additionalRoles至少有一个是必填
    附加角色类型
    20:代表用人经理
    10:代表面试官
    apiCode string 门店的唯一id

    返回json数据

    code为200返回成功,其它失败

    code错误码如下:

    code 中文描述
    12714000 不支持的操作类型
    12714001 不支持的用户数据类型
    12714002 不支持的负责人类型
    12714003 用户信息重复,存在多个用户
    12714004 apicode重复,存在多个门店
    12714005 用户角色权限不能低于HR
    12714006 找不到该门店
    12714007 请开启门店与门店同步
    12714008 找不到该用户
    12714009 当前门店下没有职位可被操作
    12714010 无法添加职位负责人为协助人
    12714011 用户已禁用
    12714012 不支持移除负责人权限
    12714013 不支持集团化客户
    12714014 不支持的附加角色类型:入参仅支持职位面试官、用人经理
    12714015 附加角色类型超出两个:入参类型最多两个
    12714016 附加角色类型重复,请检查additionalRoles参数:入参仅支持职位面试官、用人经理请勿重复
    12714017 该用户角色需为面试官及以上:当将用户设置为面试官或用人经理时,用户需为面试官及以上
    12714018 没有指定角色:负责人角色类型 和 附加角色类型至少选择一个

    组织架构API

    组织架构相关API

    获取全量组织架构

    可以获得全量组织架构信息

    HTTP 请求

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

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/departments' \
       -u 'your_api_key:' \
       -X GET \
    

    操作成功

    { "success": true,
      "departments": [
        {
          "name": "大数据部",
          "type": 2,
          "departmentId": 353,
          "departmentCode": "big_data"
        },
        {
          "name": "新媒体营销团队",
          "type": 1,
          "departmentId": 363,
          "parentCode": "big_data",
          "departmentCode": "new_media_marketing"
        }
      ]
    }
    

    操作失败

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

    请求参数

    返回字段

    字段 类型 描述
    success boolean true:成功
    false:失败
    errorMessage string 错误信息
    departments array 组织架构信息
    departments.name string 部门名称
    departments.departmentId number MOKA系统的部门id
    departments.departmentCode string 客户系统的部门id
    departments.parentCode string 部门的上级部门的唯一 id, 如为 null 则为一级部门
    departments.deletedByApi number 是否删除
    可选值:
    0: 没有删除
    1:被标记为已删除
    departments.type number 部门类型:
    可选值:
    1:普通部门(默认)
    2:门店部门
    departments.parentId number MOKA系统的父部门id

    组织架构全量同步

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

    HTTP 请求

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

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v2/departments' \
       -u 'your_api-keys:' \
       -X PUT \
       -d '{
           "departments": [
            { "departmentCode": "ididid1", "name": "namenamename1", "parentCode": "ididid1", "sequence": 0 },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2" },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2", "type": 2 },
            { "departmentCode": "ididid3", "name": "namenamename3", "parentCode": "0"}
        ]
      }'
    

    操作成功

    { 
      "code": 0,
      "msg": "success",
      "data":{
        "result": { 
            "new": 0, 
            "delete": 0, 
            "update": 0 
        }
      }
    }
    

    操作失败

    {
      "code": -1,
      "msg": "false",
    }
    

    请求body参数

    字段 必填 类型 描述
    departments array 部门数据
    departments[].name string 部门名称
    departments[].departmentCode string 客户系统的部门id
    departments[].parentCode string 部门的上级部门的唯一 id, 如为一级部门传“0”
    departments[].type number 部门类型:
    1:普通部门(默认)
    2: 门店部门
    departments[].sequence number 指定部门排序,支持0至10000的两位小数,为空默认排在最后。按排序从小到大,创建时间从先到后排序

    返回json字段

    字段 类型 描述
    code number 200: 成功。其他:错误
    msg string 操作失败的错误原因

    可能的错误信息

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

    新增组织架构

    新增组织架构 注意:组织架构增量同步必须使用POST请求,如果使用PUT请求,为全量同步,请求中未提供的部门,部门将标记为已删除。

    HTTP请求

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

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v2/departments/sync/incremental' \
       -u 'your_api-keys:' \
       -X POST \
       -d '{
           "departments": [
            { "departmentCode": "ididid1", "name": "namenamename1", "parentCode": "ididid1", "sequence": 0 },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2" },
            { "departmentCode": "ididid2", "name": "namenamename2", "parentCode": "ididid2", "type": 2 },
            { "departmentCode": "ididid3", "name": "namenamename3", "parentCode": "0"}
        ]
      }'
    

    操作成功

    { 
      "code": 0,
      "msg": "success",
    }
    

    操作失败

    { 
      "code": -1,
      "msg": "false",
    }
    

    请求body参数

    字段 必填 类型 描述
    departments array 部门数据
    departments[].name string 部门名称
    departments[].departmentCode string 客户系统的部门id
    departments[].parentCode string 部门的上级部门的唯一 id,如为一级部门传“0”
    departments[].type number 部门类型:
    1 :普通部门(默认)
    2 :门店部门
    departments[].sequence number 指定部门排序,支持0至10000的两位小数,为空默认排在最后。按排序从小到大,创建时间从先到后排序

    返回字段

    字段 类型 描述
    code number 200: 成功。其他:错误
    msg string 操作失败的错误原因

    可能的错误信息

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

    更新组织架构

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

    HTTP请求

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

    请求样例

    curl 'https://api.mokahr.com/api-platform/v2/departments' \
    -X POST \
    -u 'your_api_keys' \
    -d '{
            "departments": [
                {
                    "departmentCode": "ididid111123",
                    "name": "namenamename1221",
                    "parentCode": null,
                    "sequence": 0
                },
                {
                    "departmentCode": "ididid211123",
                    "name": "namenamename21_testhema",
                    "parentCode": "ididid31112"
                },
                {
                    "departmentCode": "ididid311123",
                    "name": "namenamename222test_hema",
                    "parentCode": "ididid111123",
                    "type": 2,
                    "departmentId": 387
                },
                {
                    "departmentCode": "ididid3",
                    "name": "namenamename3",
                    "parentCode": "0"
                }
            ]
        }'
    

    操作成功

    { 
      "code": 0,
      "msg": "success",
    }
    

    操作失败

    { 
      "code": -1,
      "msg": "false",
    }
    

    请求body参数

    字段 必填 类型 描述
    departments array 部门数据
    departments[].name string 部门名称
    departments[].departmentCode string 客户系统的部门id
    departments[].parentCode string 部门的上级部门的唯一 id, 如为一级部门传“0”
    departments[].type number 部门类型:
    1:普通部门(默认)
    2:门店部门
    departments[].departmentId number 部门在Moka系统中的id,此参数存在时,会优先匹配该参数的部门。
    departments[].sequence number 指定部门排序,支持0至10000的两位小数,为空默认排在最后。按排序从小到大,创建时间从先到后排序

    返回json字段

    字段 类型 描述
    code number 200: 成功。其他:错误
    msg string 操作失败的错误原因

    可能的错误信息

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

    删除及合并组织架构

    提供部门增加删除标识(已删除部门不合并到另一个部门)和删除部门(删除部门并将已删除部门合并到其他部门

    1、部门改为删除状态:如果不传target_department_code,则该部门仅标记为“已删除”状态,实际上还需要在系统内操作删除;
    2、删除部门:如果传入target_department_code,则部门数据被合并至target_department_code对应的部门,原部门数据被删除。

    HTTP请求

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

    请求样例

    curl 'https://api.mokahr.com/api-platform/v1/departments' \
    -u 'your_api_keys' \
    -X DELETE \
    -d '
    {
      "departments": [
        {
            "department_code": "EN0100321",
            "target_department_code": "EN0100322"
        },
        {
            "department_code": "EN0100323"
        }
    ],
      "email": "test@test.com"
    }'
    

    操作成功

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

    操作失败

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

    请求body参数

    字段 必填 类型 描述
    departments[] array 部门的信息
    departments[].department_code string 客户系统的部门id
    departments[].target_department_code string 目标部门的唯一编号
    email string 已经在moka系统中注册过的邮箱

    返回json字段

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

    可能的错误信息

    errorMessage 描述
    当前有未处理完的组织架构更新,请稍后再试
    父级部门未找到 删除或者合并部门之后某部门的父级部门未找到
    部门的父级部门不能直接(间接)为自身 删除之后部门的父级部门(的父级部门...)不能为自身
    部门名称XXX,父编号XXX的部门名称已存在 某部门下存在相同名称的部门
    系统中不存在email为XXX的用户
    department_code: XXX 在系统中不存在

    职责API

    职责相关API

    职责同步

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

    HTTP 请求

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

    请求样例

    $ curl 'https://api.mokahr.com/api-platform/v1/positions/syncInfo' \
      -u 'your_api_key:' \
      -X POST \
      -d '{
        "data": [
          {
            "name": "1234",
            "positionCode": "s1234567890123456789012345678901234567890123456789",
            "enable": true,
            "departmentCodes":[411,"dd"],
            "departmentIds": [411],
            "allDepartments": true
          },
          {
            "name": "1234567",
            "positionCode": "s111",
            "enable": true,
            "departmentCodes":[411,"dd"],
            "departmentIds":[411],
            "allDepartments": false
          }
        ]
      }'
    

    操作结果

    {
      "code": 200,
      "msg": "success",
      "data": {
        "addCount": 0,
        "errorList": [
          {
            "code": {
                "explain": "> 职责名称已存在",
                "name": "626005"
            },
            "data": {
                "allDepartments": true,
                "departmentCodes": [
                    "411",
                    "dd"
                ],
                "departmentIds": [
                    411
                ],
                "enable": true,
                "name": "1234",
                "positionCode": "s1234567890123456789012345678901234567890123456789"
            }
          },
          {
            "code": {
                "explain": "> 职责名称已存在",
                "name": "626005"
            },
            "data": {
                "allDepartments": false,
                "departmentCodes": [
                    "411",
                    "dd"
                ],
                "departmentIds": [
                    411
                ],
                "enable": true,
                "name": "1234567",
                "positionCode": "s111"
            }
          }
        ],
        "updateCount": 0
      }
    }
    

    请求body参数

    字段 必填 类型 描述
    data array > 职责数组
    data[].name string > 职责名称
    data[].positionCode string > 职责编码,> 职责唯一识别码,用于组织架构同步时,传入关联> 职责。
    data[].enable boolean > 职责是否启用
    可选值:
    true:启用
    false:停用
    data[].departmentCodes array 关联部门code列表,选填,在组织架构中进行关联。匹配优先级低于departmentIds
    data[].departmentIds array 关联部门id列表,选填,在组织架构中进行关联;可以通过“获取全量组织架构”接口进行查询。匹配优先级大于departmentCodes
    data[].allDepartments boolean > 职责是否关联全部部门
    可选值:
    true:该> 职责关联全部部门,departmentIds和departmentCodes不起作用
    false:false时,关联departmentIds或departmentCodes对应的部门。

    返回字段

    字段 类型 描述
    code number 返回的code:200正常,其他的都是错误
    msg string 返回状态说明
    data array 返回的数据
    data[].addCount number 新增> 职责数量
    data[].updateCount number 更新> 职责数量
    data[].errorList array 同步失败的数据
    data[].errorList[].positionCode string 同步失败的> 职责编码
    data[].errorList[].name string 同步失败的> 职责名称
    data[].errorList[].msg string 该> 职责同步失败的原因

    部门绑定职责成员接口

    为指定部门绑定职责以及该职位的成员

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/position/departmentUser

    请求样例

    curl 'https://api.mokahr.com/api-platform/v1/position/departmentUser' \
    -u 'your_api_keys' \
    -X DELETE \
    -d '
    {
        "data": [
            {
                "departmentId": 410937821,
                "departmentCode": "98291011",
                "positionUsers": {
                    "Aa00cebb6d839465880cc8aba7086f02d": [
                        "375645587@qq.com"
                    ]
                },
                "userUniqueType": "email"
            }
        ]
    }'
    

    操作成功

    {
        "code": 200,
        "msg": "success",
        "data": {
            "addCount": 0,
            "errorList": [],
            "updateCount": 1
        }
    }
    

    请求body参数

    字段 必填 类型 描述
    data array
    data[].departmentId number 职责关联的部门id,部门id和部门apiCode必须填写一个,如果两个都传以部门id为准
    data[].departmentCode string 职责关联客户系统的部门id,部门id和客户系统部门id必须填写一个,如果两个都传以部门id为准
    data[].userUniqueType string 指定关联账号的唯一标记
    可选择值:
    email:邮箱
    phone:手机号
    number:员工号
    data[].positionUsers object 职位成员信息
    key:职责id,一个部门多个职责时,再此参数下支持传多个职责
    vale:根据userUniqueType类型,传入员工对应类型的信息

    返回json字段

    字段 类型 描述
    code number 200:成功
    非200代表错误
    msg string 操作失败的错误原因或者成功提示
    data object
    data.addCount number 添加成功的个数
    data.updateCount number 更新成功的个数
    data.errorList array 操作失败的账户和原因

    部门绑定职务成员接口

    为指定部门绑定职务以及该职位的成员

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/position/departmentUser

    请求样例

    curl 'https://api.mokahr.com/api-platform/v1/position/departmentUser' \
    -u 'your_api_keys' \
    -X DELETE \
    -d '
    {
        "data": [
            {
                "departmentId": 410937821,
                "departmentCode": "98291011",
                "positionUsers": {
                    "Aa00cebb6d839465880cc8aba7086f02d": [
                        "375645587@qq.com"
                    ]
                },
                "userUniqueType": "email"
            }
        ]
    }'
    

    操作成功

    {
        "code": 200,
        "msg": "success",
        "data": {
            "addCount": 0,
            "errorList": [],
            "updateCount": 1
        }
    }
    

    请求body参数

    字段 必填 类型 描述
    data arry
    data[].departmentId number 职务关联的部门id,departmentId和departmentCode必须填写一个,如果两个都传以departmentId为准
    data[].departmentCode string 职务关联客户系统的部门id,departmentId和departmentCode必须填写一个,如果两个都传以departmentId为准
    data[].userUniqueType string 指定关联账号的唯一标记
    可选择值:
    email:邮箱
    phone:手机号
    number:员工号
    data[].positionUsers object 职务及成员信息
    key:必填,传入职务对应的positionCode
    vale:根据userUniqueType类型,传入成员信息。

    返回json字段

    字段 类型 描述
    code number 200:成功
    非200代表错误
    msg string 操作失败的错误原因或者成功提示
    data object
    data.addCount number 添加成功的个数
    data.updateCount number 更新成功的个数
    data.errorList array 操作失败的账户和原因

    查询部门职责及对应绑定人员

    通过该接口可查询部门绑定的职责及其对应的人员

    请求样例

    $ curl --location 'https://api.mokahr.com/api-platform/v1/dept_position_user/search' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic Rk55eXA5MkxsTkQya1pQeEV0VU1wNlNheEJqWFJ2eXE6' \
    --data '{
        "departmentCode":["12348","12349"]
    }'
    
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/dept_position_user/search

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": [
            {
                "departmentCode": "12348",
                "positionCode": "A06cd633c55d2434597cb1b87075da89e",
                "positionName": "职责2"
            },
            {
                "departmentCode": "12348",
                "positionCode": "A653b8b1d14b9422ea1b94353d86f2efd",
                "positionName": "职责3"
            },
            {
                "departmentCode": "12349",
                "positionCode": "A06cd633c55d2434597cb1b87075da89e",
                "positionName": "职责2",
                "user": {
                    "email": "grttest15@mokahr.com",
                    "phone": "",
                    "userName": "grtTest",
                    "userNumber": "10000001"
                }
            },
            {
                "departmentCode": "12349",
                "positionCode": "A653b8b1d14b9422ea1b94353d86f2efd",
                "positionName": "职责3",
                "user": {
                    "email": "grttest15@mokahr.com",
                    "phone": "",
                    "userName": "grtTest",
                    "userNumber": "10000001"
                }
            },
            {
                "departmentCode": "12349",
                "positionCode": "Aec46c5605ee24d58b66cd12852cf6d6a",
                "positionName": "新增测试",
                "user": {
                    "email": "grttest15@mokahr.com",
                    "phone": "",
                    "userName": "grtTest",
                    "userNumber": "10000001"
                }
            },
            {
                "departmentCode": "12349",
                "positionCode": "Aa8e819ce80d6426bb1e030627becd344",
                "positionName": "新增测试职责",
                "user": {
                    "email": "grttest15@mokahr.com",
                    "phone": "",
                    "userName": "grtTest",
                    "userNumber": "10000001"
                }
            }
        ],
        "msg": "成功",
        "success": true
    }
    

    请求body参数

    字段 必填 类型 描述
    departmentCode array 部门code,可传多个,最多一次传100个

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 请求相应错误码
    message string 请求响应信息
    data array
    data[].departmentCode string 部门Code
    data[].positionCode string 职责编码,有多个时返回多个,没绑定职责时返回null
    data[].positionName string 职责名称
    data[].user object 每个职责对应的人员(用户邮箱/手机号/工号/名字),没有绑定用户时,返回null

    用户API

    同步人事信息

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

    HTTP 请求

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

    请求样例 (JSON)

    请求样例z

    $ curl https://api.mokahr.com/api-platform/v2/users/syncInfo
        -u 'your-api-key:'
        -X POST
        -H 'Content-Type: application/json'
        -d '{
                "usersInfo": [
                    {
                        "email": "huohuohou2@mokahr.com",
                        "name": "liu大哥89",
                        "phone": "15101069886",
                        "number": "6661889",
                        "roleId": 60,
                        "departmentCode": [],
                        "superiorEmail": "",
                        "deactivated": 0,
                        "thirdPartyId": "",
                        "uniqueType": "number",
                        "autoActivated": 1,
                        "locale": "zh-CN"
                    }
                ]
            }'
    

    操作成功

    { 
      "code": 200,
      "msg": "success",
      "data": {
          "successCount": 1,
          "errorList": []
      }
    }
    

    操作失败

    {
        "code": -1,
        "msg": "success",
        "data": {
            "successCount": 0,
            "errorList": [
                {
                    "data": {
                        "email": "huohuohou2@mokahr.com",
                        "name": "liu大哥89",
                        "phone": "15101069886",
                        "number": "6661889",
                        "roleId": 60,
                        "departmentCode": [],
                        "superiorEmail": "",
                        "deactivated": 0,
                        "thirdPartyId": "",
                        "uniqueType": "number",
                        "locale": "zh-CN"
                    },
                    "msg": "参数错误: roleId",
                    "code": -1
                }
            ]
        }
    }
    

    请求body参数

    字段 必填 类型 描述
    usersInfo array 用户信息数组
    usersInfo[].email 否/uniqueType为email时必填 string 邮箱
    usersInfo[].name string 姓名
    usersInfo[].phone 否/uniqueType为phone时必填 string 电话
    usersInfo[].number 否/uniqueType为number时必填 string 工号
    usersInfo[].roleId 否/首次创建用户必填 int 自定义角色id
    usersInfo[].departmentCode array 部门编号列表,通过组织架构同步进来的departmentCode,如果传空数组,则判断为所有部门。
    usersInfo[].superiorEmail string 上级邮箱,传空字符串会清空moka系统中的汇报关系,可以通过设置updateSuperiorEmail 参数,选择是否更新汇报关系
    usersInfo[].deactivated int 是否禁用/初次创建用户传1,则用户不会创建成功
    0-不禁用 1-禁用
    usersInfo[].thirdPartyId string 功能性字段 用作单点登录 没有传空字符串
    usersInfo[].uniqueType string email或者number或者phone,判断此次传输时用来判断账号唯一性的标识
    usersInfo[].updateDepartment boolean !!!注意:不传默认是true
    是否更新部门
    true:更新
    false:不更新
    usersInfo[].updateSuperiorEmail boolean 是否更新上级汇报人,true更新false不更新
    usersInfo[].autoActivated int 0-不自动激活,1-自动激活,传空字符串默认为0
    usersInfo[].locale string 用户语言:zh-CN为中文,不传默认为中文;en-US为English
    usersInfo[].timezone string 用户时区:传英文缩写 eg: 中国时间 传 : Asia/Shanghai

    返回json

    返回body的JSON数据如下:

    字段 类型 描述
    code number 响应码,非200代表失败
    msg string 响应信息
    data object 返回数据
    data.successCount number 同步成功数据数量。例:"successCount": 1, // 成功了一条数据
    data.errorList Array 同步失败的数据。
    data.errorList[].code int 响应码
    data.errorList[].msg string 该条数据失败的原因
    data.errorList[].data object 数据信息
    data.errorList[].data.email string 邮箱
    data.errorList[].data.name string 姓名
    data.errorList[].data.phone string 电话
    data.errorList[].data.number string 工号
    data.errorList[].data.roleId int 自定义角色id
    data.errorList[].data.locale string 用户语言: zh-CN为中文,不传默认为中文 en-US为English
    data.errorList[].data.departmentCode array 部门编号列表,通过组织架构同步进来的departmentCode,如果传空数组,则判断为所有部门。
    data.errorList[].data.superiorEmail string 上级邮箱
    data.errorList[].data.deactivated int 是否禁用/初次创建用户传1,则用户不会创建成功 0-不禁用 1-禁用
    data.errorList[].data.thirdPartyId string 功能性字段 用作单点登录 没有传空字符串
    data.errorList[].data.uniqueType string email或者number或者phone,判断此次传输时用来判断账号唯一性的标识

    获取人事信息

    HTTP 请求

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

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/users/list' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "deactivated": 0,
      "limit": "20",
      "order": "asc"
    }'
    

    返回示例

    {
        "code": 200,
        "message": "success",
        "data": [
            {
                "userId": 200000188,
                "email": "test2@sdicfund.com",
                "name": "马田",
                "phone": "10065761890",
                "role": 50,
                "roleId": 200000145,
                "deactivated": 0,
                "thirdPartyId": "",
                "locale": "zh-CN",
                "department": []
            },
            {
                "userId": 200000307,
                "email": "1581904186@qq.com",
                "name": "耿凯3",
                "phone": "18732837638",
                "role": 30,
                "roleId": 200000143,
                "superiorEmail": "test@sdicfund.com",
                "deactivated": 0,
                "thirdPartyId": "",
                "locale": "zh-CN",
                "department": []
            }
        ],
        "next": "200000317"
    }
    

    请求query参数

    字段 必填 类型 描述
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。如果响应中没有next字段,表示没有更多的数据了

    请求body参数

    字段 必填 类型 描述
    roleId integer 角色id
    email string 邮箱
    phone string 电话
    number string 工号
    deactivated integer 是否被禁用
    可选值:
    0:可用
    1:禁用
    departmentIdType string 此次调用中使用的部门ID类型。可选值:
    DEPARTMENT_ID(默认值):moka部门id
    DEPARTMENT_CODE:三方系统部门id
    departmentId string 用户所属/负责部门id
    locale string 用户语言
    可选值:
    zh-CN:为中文
    en-US:英文
    默认为中文
    limit string 分页用的每页条数,默认100,最大500
    order string 拉取数据的排序方式, 排序key为用户创建时间.可选值为:DESC 按照从新到旧的顺序拉取,此为默认值DESC。按照从旧到新的数据拉取。注意:当排序方式为ASC时,无论是否有更多数据,返回body中都会包含next(可用作增量拉取)

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 200:成功
    非200代表失败
    message string 提示信息
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。如果响应中没有next字段,表示没有更多的数据了
    data[].userId string 用户id
    data[].email string 邮箱
    data[].name string 姓名
    data[].phone string 电话
    data[].number stirng 工号
    data[].role interger 角色
    0:内推人
    5:前台
    10:面试官
    20:用人经理
    25:高级用人经理
    30:HR
    40:管理员
    50:超管
    data[].roleId interger 自定义角色id
    data[].superiorEmail stirng 上级邮箱
    data[].deactivated stirng 是否被禁用
    可选值:
    0:可用
    1:禁用
    data[].isPending boolean 功能性字段,用作单点登录,没有传空字符串
    data[].thirdPartyId stirng 功能性字段,用作单点登录,没有返回空字符串
    data[].locale string 用户语言
    可选值:
    zh-CN:为中文
    en-US:英文
    默认为中文
    data[].department array 用户所属/负责部门
    data[].department[].departmentCode string 三方部门id
    data[].department[].departmentId string moka部门id
    data[].department[].name string 部门名称

    查询角色信息

    返回值为该客户下所有用户角色

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/users/roles?type=all \
       -u 'your_api_key:' \
       -X GET \
    

    返回样例

    {
      "success": true,
      "data": [
        {
            "id": 44,
            "name": "面试官",
            "role": 10,
            "description": "可筛选简历、填写面试反馈"
        },
        {
            "id": 45,
            "name": "用人经理",
            "role": 20,
            "description": "可筛选简历、填写面试反馈,查看所有的面试反馈"
        },
        {
            "id": 46,
            "name": "HR",
            "role": 30,
            "description": "可查看部分职位的候选人信息及部分报表"
        },
        {
            "id": 47,
            "name": "管理员",
            "role": 40,
            "description": "可以创建并管理HR、用人部门经理、面试官帐号,拥有所属HR的全部权限"
        },
        {
            "id": 48,
            "name": "超级管理员",
            "role": 50,
            "description": "拥有所有权限,可以查看所有候选人信息"
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/users/roles?type=all

    请求url参数

    字段 类型 描述
    type string 查询类型
    可选值:
    all:全部
    custom:自定义
    builtin:内建

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 角色id
    name string 角色名称
    role integer 角色值
    description string 描述

    新增用户组信息

    支持新增用户组基本信息,用户组成员非必填。

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/userGroup/add' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "userGroupName": "用户组1",
      "members": [
          {
              "uniqueType":"email",
              "email":"aaa@aaa.com"
          }
      ]
    }'
    

    返回示例

    {
      "code": 0,
      "msg": "success",
      "data": {
        "userGroupId": 46
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/userGroup/add

    请求body参数

    字段 必填 类型 描述
    userGroupName string 用户组名称(名称不可重复)
    member array 新增用户成员信息
    用户组成员最多1000人
    用户成员的角色必须为面试官及以上,如果用户成员中存在不满足的用户则全部失败。
    member[].uniqueType string 用户信息的唯一标识
    可选值:
    email:邮箱
    phone:手机
    number:工号
    member[].email 否/uniqueType为email时必填 string 用户的邮箱
    member[].phone 否/uniqueType为phone时必填 string 用户的手机号
    member[].number 否/uniqueType为number时必填 string 用户的工号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Object 返回信息
    data.userGroupId integer 用户组id

    更新用户组信息

    支持修改用户组基本信用户组请求参数未传时,则用户组信息不更新。用户组请求参数传空时,信息更新为空。

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/user_group/update' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "userGroupId": 1,
      "userGroupName": "用户组1",
      "activate": true
    }'
    

    返回示例

    { 
      "code": 200,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/user_group/update

    请求body参数

    字段 必填 类型 描述
    userGroupId integer 用户组id
    userGroupName string 用户组名称
    activate boolean 用户组状态 true:启用 false 启用

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息

    根据条件查询用户组列表

    获取用户组列表

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/userGroup/queryUserGroupList' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    }'
    

    返回示例

    {
      "code": 0,
      "msg": "success",
      "data": [
        {
          "groupId": 26,
          "userGroupName": "TI面试官组",
          "activate": true
        }
      ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/userGroup/queryUserGroupList

    请求body参数

    字段 必填 类型 描述
    userGroupIds array 用户组id integer
    onlyValid boolean 是否需要查询有效的用户组, true-有效的 false-全部用户组(默认false)
    groupName string 用户组名称

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Array 返回信息
    data[].groupId integer
    data[].userGroupName string
    data[].activate boolean

    添加用户组成员信息

    支持添加用户组人员。用户组成员的角色类型是面试官及以上,如果传入的用户组成员中包含面试官以下角色,用户组成员添加失败。

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/userGroup/addMember' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "userGroupId": 1,
      "members": [
          {
              "uniqueType":"email",
              "email":"aaa@aaa.com"
          },
          {
              "uniqueType":"phone",
              "email":"12422222222"
          },
          {
              "uniqueType":"number",
              "email":"12123"
          }
    
      ]
    }'
    

    返回示例

    {
      "code": 0,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/userGroup/addMember

    请求body参数

    字段 必填 类型 描述
    userGroupId integer 用户组id
    member array 新增用户成员信息
    用户组成员最多1000人
    用户成员的角色必须为面试官及以上,如果用户成员中存在不满足的用户则全部失败。
    member[].uniqueType string 用户信息的唯一标识
    可选值:
    email:邮箱
    phone:手机
    number:工号
    member[].email 否/uniqueType为email时必填 string 用户的邮箱
    member[].phone 否/uniqueType为phone时必填 string 用户的手机号
    member[].number 否/uniqueType为number时必填 string 用户的工号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Object 返回信息,失败时有数据
    data.errorList array 错误详细信息

    更新用户组成员信息

    支持修改用户组更新用户组的人员,用户组请求参数传空时,清空用户成员。用户组的成员信息需要同步全部成员,不支持局部成员修改,用户组成员的角色类型是面试官及以上,如果传入的用户组成员中包含面试官以下角色,用户组成员更新失败。

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/user_group/update_member' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "userGroupId": 1,
      "members": [
          {
              "uniqueType":"email",
              "email":"aaa@aaa.com"
          },
          {
              "uniqueType":"phone",
              "email":"12422222222"
          },
          {
              "uniqueType":"number",
              "email":"12123"
          }
    
      ]
    }'
    

    返回示例

    { 
      "code": 200,
      "msg": "success",
      "data": {
          "errorList":[
              {
                  "uniqueType":"email",
                  "email":"aaa@aaa.com"
              }
          ]
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/user_group/update_member

    请求body参数

    字段 必填 类型 描述
    userGroupId integer 用户组id
    member array 要更新的用户成员信息
    用户组成员最多1000人
    用户成员的角色必须为面试官及以上,如果用户成员中存在不满足的用户则全部失败。
    member[].uniqueType string 用户信息的唯一标识
    可选值:
    email:邮箱
    phone:手机
    number:工号
    member[].email 否/uniqueType为email时必填 string 用户的邮箱
    member[].phone 否/uniqueType为phone时必填 string 用户的手机号
    member[].number 否/uniqueType为number时必填 string 用户的工号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Object 返回信息,失败时有数据
    data.errorList array 错误详细信息

    删除用户组成员信息

    删除用户组成员信息。用户组的成员信息同新增修改接口

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/userGroup/deleteMember' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "userGroupId": 1,
      "members": [
          {
              "uniqueType":"email",
              "email":"aaa@aaa.com"
          },
          {
              "uniqueType":"phone",
              "email":"12422222222"
          },
          {
              "uniqueType":"number",
              "email":"12123"
          }
    
      ]
    }'
    

    返回示例

    {
      "code": 0,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/userGroup/deleteMember

    请求body参数

    字段 必填 类型 描述
    userGroupId integer 用户组id
    member array 要删除的用户成员信息
    如果用户成员前置校验中存在不满足的用户则全部失败
    用户不在用户组内,不处理,删除在用户组内的用户。
    member[].uniqueType string 用户信息的唯一标识
    可选值:
    email:邮箱
    phone:手机
    number:工号
    member[].email 否/uniqueType为email时必填 string 用户的邮箱
    member[].phone 否/uniqueType为phone时必填 string 用户的手机号
    member[].number 否/uniqueType为number时必填 string 用户的工号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Object 返回信息,失败时有数据
    data.errorList array 错误详细信息

    获取用户组成员信息

    获取用户组成员信息。通过用户组id集合获取用户组成员信息

    请求样例 (JSON)

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/userGroup/listByGroupIds' \
    --header 'Authorization: Basic Mm11UnVBQk******zY6' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "ids": [
        "20"
      ]
    }'
    

    返回示例

    {
      "code": 0,
      "msg": "success",
      "data": [
        {
          "groupId": 26,
          "groupName": "TI面试官组",
          "activate": true,
          "userList": [
            {
              "email": "majingjing002@chacuo.net",
              "id": 1000016465,
              "name": "马晶晶002",
              "phone": "17600785675",
              "role": 40
            },
            {
              "email": "shuobin_dingding@126.com",
              "id": 1000016344,
              "name": "shuobin_dingding@126.com",
              "phone": "13311511532",
              "role": 40
            },
            {
              "email": "shuobin_lark@126.com",
              "id": 1000016345,
              "name": "shuobin_lark@126.com",
              "phone": "",
              "role": 30
            }
          ]
        }
      ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/userGroup/listByGroupIds

    请求body参数

    字段 必填 类型 描述
    ids array 用户组id integer

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息
    data Array 返回信息
    data[].groupId integer
    data[].groupName string
    data[].activate boolean
    data[].userList array
    data[].userList[].id integer
    data[].userList[].email string
    data[].userList[].phone string
    data[].userList[].name string
    data[].userList[].role integer

    招聘需求 API

    此部分API主要用于获取当前Headcount数据,以及批量导入headcount,写入接口请求频率限制1分钟30次。

    各个变量的取值范围

    status HC 状态

    描述
    draft 草稿
    unstart 未进行(默认值)
    ongoing 进行中
    complete 已完成
    suspend 已暂停
    canceled 已取消
    timeout 已超期

    type 需求类型

    描述
    planned 计划内(默认值)
    unplanned 计划外

    commitment 职位性质

    描述
    parttime 兼职
    fulltime 全职(默认值)
    intern 实习
    other 其它

    hiremode 招聘模式

    描述
    1 社招
    2 校招

    新建 招聘需求

    同步信息内包含组织架构、职位id信息需要到相关接口单独获取

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcount/\?currentHireMode\=1 \
      -u 'your-api-key:' \
      -X POST \
      -H 'Content-Type: application/json' \
      -d '
      {
        "number": "hc_automan",
        "jobName": "hcName",
        "needNumber": 1,
        "startDate": "2017-10-12T00:00:00.000Z",
        "education": "本科",
        "departmentCode": "8",
        "maxSalary": 2,
        "minSalary": 1,
        "jobPriorityId": 1,
        "locationId": 1,
        "jobRankIds": [1,3],
        "customData": {
          "1": "test",
          "2": 123,
          "3":["1723553256175","1723553256176"]
        }
      }
      '
    

    返回样例

    {
      "headcount": {
        "id": 1,
        "number": "hc-automan",
        "jobName": "hcname",
        "type": "planned",
        "needNumber": 10,
        "departmentId": 1,
        "commitment": "fulltime",
        "ownerId": 1,
        "managerIds": [2],
        "description": null,
        "status": "unstart",
        "creatorId": 7,
        "hireMode": 1,
        "orgId": "livingsimple",
        "createdAt": "2018-01-09T10:37:32.000Z",
        "updatedAt": "2018-01-09T10:37:32.000Z",
        "startDate": "2017-10-12",
        "completeDate": null,
        "connectedJobIds": [],
        "connectedJobs": [],
        "usedNumber": 0,
        "remainNumber": 5,
        "ownerEmail": "hr@test.moka",
        "managerEmails": ["hr@trymoka.com"],
        "managerEmployeeIds": ["0018"],
        "departmentCode": "7",
        "customData": {
            "3": [
              {
                "localeValues": [
                  {
                    "locale": "zh-CN",
                    "value": "value1"
                  },{
                    "locale": "en-US",
                    "value": "valueA"
                  }
                ],
                "optionId": "1723553256175"
              },
              {
                "localeValues": [
                  {
                    "locale": "zh-CN",
                    "value": "value2"
                  },{
                    "locale": "en-US",
                    "value": "valueB"
                  }
                ],
                "optionId": "1723553256176"
              }
            ],
            "2": "test",
            "1": 123
        },
        "addressInfo": [
            {
                "id": 1,
                "country": "中国",
                "province": "北京市",
                "area": "海淀区",
                "address": "北京市海淀区海淀西大街"
            }
        ],
        "jobPriority": [
            {
                "id": 14,
                "name": "123",
                "isBuiltin": 0
            }
        ],
        "jobRanks": [
            {
                "id": 1,
                "name": "新人",
                "type": "p5",
                "level": 1,
                "hcId": 8
            },
            {
                "id": 3,
                "name": "总裁",
                "type": null,
                "level": 3,
                "hcId": 8
            }
        ]
      }
    }
    

    HTTP请求

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

    请求URL参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    请求body

    字段 是否必填 类型 描述
    number string 招聘需求编号,编号全局唯一,且不可修改
    jobName string 招聘需求名称
    type string 需求类型
    needNumber integer 需求人数
    departmentCode string 部门code,组织架构同步接口传的department_code
    commitment string 职位属性
    ownerEmail string 汇报对象邮箱
    ownerEmployeeId string 汇报对象工号
    managerEmails array 负责人邮箱:需要有权限的人员邮箱,如hr或超管
    managerEmployeeIds array 负责人工号:需要有权限的人员工号,如hr或超管
    description string 需求描述,html字符串:
    status string 进行状态
    creatorEmail String 招聘需求创建者email,只在创建时可添加,编辑时无法修改,系统内不显示
    startDate string 招聘需求开始时间。日期格式为:ISO8601
    completeDate string 目标完成时间。日期格式为:ISO8601
    connectedJobIds array 关联职位的id
    customData object 自定义字段,键值对形式,key为自定义字段id,value为自定义字段值。如果是多选字段,value为选项id数组。2024年11月18日之前创建的社招自定义字段,它的id可以用来创建/编辑校招招聘需求的自定义字段(数据库中存的是校招真实id)。虽然有校社招字段id映射关系,还是尽量使用真正模式的字段id,来新建和编辑自定义字段内容。返回结果里的id,始终都是真正模式的id.
    locationId integer 地点id
    jobPriorityId integer 职位优先级id
    jobRankIds array 职位级别id
    education string 学历要求
    取值范围
    不限
    高中以下
    中专
    中技
    大专
    本科
    硕士
    博士
    sharedUserEmails array 需求共享人邮箱。需求负责人、需求共享人、需求创建人不能为同一个人
    sharedUserEmployeeIds array 需求共享人工号
    zhinengId integer 职能ID
    minSalary integer 最低薪资
    maxSalary integer 最高薪资
    salaryUnit integer 薪资单位
    可选值:
    0:k/月
    1:元/月
    2:元/周
    3:元/天
    4:元/小时
    5:元/次
    payPeriod integer 发薪月数
    最小值:12
    最大值:24
    paymentMethod integer 发薪方式
    可选值:
    0:日结
    1:周结
    2:月结
    3:完工结

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer hc的id
    number string hc编号
    jobName string hc名称
    type string 需求类型
    needNumber integer 需求人数
    departmentId integer 部门id
    commitment string 职位属性
    可选值:
    全职
    兼职
    实习
    其他
    ownerId integer 汇报对象id
    ownerEmail integer 汇报对象Email
    ownerEmployeeId integer 汇报对象工号
    managerIds array 负责人id数组
    managerEmails array 负责人邮箱数组
    managerEmployeeIds array 负责人工号数组
    description string 需求描述
    status string 进行状态
    creatorId integer hc创建者id
    creatorEmail String hc创建者Email
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    orgId string 公司id
    createAt string 创建时间。日期格式为:ISO8601
    updateAt string 更新时间。日期格式为:ISO8601
    startDate string 开始时间。日期格式为:ISO8601
    completeDate string 结束时间。日期格式为:ISO8601
    connectedJobIds array 关联职位的id
    connectedJobs array 关联职位的详情
    usedNumber integer 已使用人数
    remainNumber integer 剩余人数
    customData object 自定义字段
    departmentCode string 部门同步时使用的code
    addressInfo array 地点信息
    jobPriority array 职位优先级信息
    jobRanks array 职位级别
    education string 学历要求
    sharedUserEmails array 需求共享人邮箱
    sharedUserEmployeeIds array 需求共享人工号
    zhineng object 职能信息
    zhineng.id integer 职能ID
    zhineng.name string 职能名称
    minSalary integer 最低薪资
    maxSalary integer 最高薪资
    salaryUnit integer 薪资单位
    payPeriod integer 发薪月数
    paymentMethod integer 发薪方式

    更新 招聘需求

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcount/1 \
      -u 'your-api-key:' \
      -X PUT \
      -H 'content-type: application/json' \
      -d '
      {
        "jobName": "hcName",
        "needNumber": 10,
        "customData": {
            "1": "test",
            "2": 123,
            "3":["1723553256175","1723553256176"]
        },
        "startDate": "2017-10-12T00:00:00.000Z"
      }
      '
    

    返回样例

    {
      "headcount": {
        "id": 1,
        "number": "hc-automan",
        "jobName": "hcname",
        "type": "planned",
        "needNumber": 10,
        "departmentId": 1,
        "commitment": "fulltime",
        "ownerId": 1,
        "managerIds": [2],
        "managerEmails": ["hr@trymoka.com"],
        "managerEmployeeIds": ["0019"],
        "description": null,
        "status": "unstart",
        "creatorId": 7,
        "hireMode": 1,
        "orgId": "livingsimple",
        "createdAt": "2018-01-09T10:37:32.000Z",
        "updatedAt": "2018-01-09T10:37:32.000Z",
        "startDate": "2017-10-12",
        "completeDate": null,
        "connectedJobIds": [],
        "connectedJobs": [],
        "usedNumber": 0,
        "remainNumber": 5,
        "education": "本科",
        "customData": {
            "3": [
              {
                "localeValues": [
                  {
                    "locale": "zh-CN",
                    "value": "value1"
                  },{
                    "locale": "en-US",
                    "value": "valueA"
                  }
                ],
                "optionId": "1723553256175"
              },
              {
                "localeValues": [
                  {
                    "locale": "zh-CN",
                    "value": "value2"
                  },{
                    "locale": "en-US",
                    "value": "valueB"
                  }
                ],
                "optionId": "1723553256176"
              }
            ],
            "2": "test value1",
            "1": "test value2"
        }
      }
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/headcount/{hcId}

    请求URL参数

    字段 类型 描述
    hcId integer 目标hc id

    请求body

    字段 类型 描述
    jobName string hc名称
    type string 需求类型
    needNumber integer 需求人数
    departmentCode string 部门code,组织架构同步接口传的department_code
    commitment string 职位属性
    ownerEmail integer 汇报对象Email
    managerEmails array 负责人邮箱
    managerEmployeeIds array 负责人工号
    description string 需求描述,html字符串
    status string 进行状态
    creatorId integer hc创建者id
    startData string 开始时间
    completeDate string 结束时间
    connectedJobIds array 关联职位的id
    customData object 自定义字段,键值对形式,key为自定义字段id,value为自定义字段值。如果是多选字段,value为选项id数组。2024年11月18日之前创建的社招自定义字段,它的id可以用来创建/编辑校招招聘需求的自定义字段(数据库中存的是校招真实id)。虽然有校社招字段id映射关系,还是尽量使用真正模式的字段id,来新建和编辑自定义字段内容。返回结果里的id,始终都是真正模式的id.
    locationId integer 地点id
    jobPriorityId integer 职位优先级id
    jobRankIds array 职位级别id
    education string 学历要求,取值范围:不限, 高中以下, 中专, 中技, 大专, 本科, 硕士, 博士
    realCompleteDate string 实际完成时间。当更新需求状态为“已完成”时,该字段生效;不传值默认使用更新时间
    sharedUserEmails array 需求共享人邮箱。需求负责人、需求共享人、需求创建人不能为同一个人
    sharedUserEmployeeIds array 需求共享人工号
    zhinengId integer 职能ID
    minSalary integer 最低薪资
    maxSalary integer 最高薪资
    salaryUnit integer 薪资单位
    可选值:
    0:k/月
    1:元/月
    2:元/周
    3:元/天
    4:元/小时
    5:元/次
    payPeriod integer 发薪月数
    最小值:12
    最大值:24
    paymentMethod integer 发薪方式
    可选值:
    0:日结
    1:周结
    2:月结
    3:完工结

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer hc的id
    number string hc编号
    jobName string hc名称
    type string 需求类型
    needNumber integer 需求人数
    departmentId integer 部门id
    commitment string 职位属性
    可选值:
    全职
    兼职
    实习
    其他
    ownerId integer 汇报对象id
    ownerEmail integer 汇报对象Email
    ownerEmployeeId integer 汇报对象工号
    managerIds array 负责人id数组
    managerEmails array 负责人邮箱数组
    managerEmployeeIds array 负责人工号数组
    description string 需求描述
    status string 进行状态
    creatorId integer hc创建者id
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    orgId string 公司id
    createAt string 创建时间。日期格式为:ISO8601
    updateAt string 更新时间。日期格式为:ISO8601
    startData string 开始时间。日期格式为:ISO8601
    completeDate string 结束时间。日期格式为:ISO8601
    connectedJobIds array 关联职位的id
    connectedJobs array 关联职位的详情
    usedNumber integer 已使用人数
    remainNumber integer 剩余人数
    customData object 自定义字段
    departmentCode string 部门同步时使用的code
    addressInfo array 地点信息
    jobPriority array 职位优先级信息
    jobRanks array 职位级别
    education string 学历要求
    realCompleteDate string 实际完成时间。当更新需求状态为“已完成”时,该字段生效;不传值默认使用更新时间
    sharedUserEmails array 需求共享人邮箱
    sharedUserEmployeeIds array 需求共享人工号
    zhineng object 职能信息
    zhineng.id integer 职能ID
    zhineng.name integer 职能名称
    minSalary integer 最低薪资
    maxSalary integer 最高薪资
    salaryUnit integer 薪资单位
    payPeriod integer 发薪月数
    paymentMethod integer 发薪方式

    删除 招聘需求

    请求样例

      $ curl https://api.mokahr.com/api-platform/v1/headcount/1\ \
        -u 'your-api_key:' \
        -X DELETE
    

    返回样例

    ok
    

    HTTP请求

    DELETE https://api.mokahr.com/api-platform/v1/headcount/{hcId}

    请求URL参数

    字段 类型 描述
    hcId integer 目标hc id

    获取hc基本信息列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcount/minimal_headcounts\?currentHireMode\=1 \
      -u 'your_api_key:' \
      -X GET
    

    返回样例

    {
      "headcounts": [
        {
          "id": 1,
          "number": "AoTeMan001",
          "status": "unstart",
          "jobName": "野生奥特曼",
          "needNumber": 5,
          "departmentId": 1,
          "ownerId": 1,
          "orgId": "livingsimple"
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headcount/minimal_headcounts

    请求URL参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    headcounts array
    id integer hc的id
    number string hc编号
    status string 进行状态
    jobName string hc名称
    needNumber integer 需求人数
    departmentId integer 部门id
    departmentCode string 部门同步时使用的code
    ownerId integer 汇报对象id
    orgId string 公司id

    获取指定招聘需求详情

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcount/10 \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    {
      "headcount": {
        "id": 1,
        "number": "AoTeMan001",
        "jobName": "野生奥特曼",
        "type": "planned",
        "needNumber": 5,
        "departmentId": 1,
        "departmentCode": "7",
        "commitment": "fulltime",
        "ownerId": 1,
        "managerIds": [2],
        "description": null,
        "status": "unstart",
        "creatorId": 7,
        "hireMode": 1,
        "orgId": "livingsimple",
        "createdAt": "2018-01-09T10:37:32.000Z",
        "updatedAt": "2018-01-09T10:37:32.000Z",
        "startDate": null,
        "completeDate": null,
        "connectedJobIds": [],
        "connectedJobs": [],
        "usedNumber": 0,
        "remainNumber": 5,
        "customData": {
          "1": "123",
          "2": "222"
        },
        "ownerEmail": "hr@test.moka",
        "managerEmails": ["guoxing123@trymoka.com"],
        "managerEmployeeIds": ["0019"],
        "departmentCode": "7",
        "addressInfo": [
            {
                "id": 1,
                "country": "中国",
                "province": "北京市",
                "area": "海淀区",
                "address": "北京市海淀区海淀西大街"
            }
        ],
        "jobPriority": [
            {
                "id": 14,
                "name": "123",
                "isBuiltin": 0
            }
        ],
        "jobRanks": [
            {
                "id": 1,
                "name": "新人",
                "type": "p5",
                "level": 1,
                "hcId": 8
            },
            {
                "id": 3,
                "name": "总裁",
                "type": null,
                "level": 3,
                "hcId": 8
            }
        ]
      }
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headcount/{hcId}

    请求URL参数

    字段 类型 描述
    hcId integer hc的id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer hc的id
    number string hc编号
    jobName string hc名称
    type string 需求类型
    needNumber integer 需求人数
    departmentId integer 部门id
    commitment string 职位属性
    可选值:
    全职
    兼职
    实习
    其他
    ownerId integer 汇报对象id
    ownerEmail string 汇报对象邮箱
    ownerEmployeeId string 汇报对象工号
    managerIds array 负责人id数组
    managerEmails array 负责人邮箱数组
    managerEmployeeIds array 负责人工号数组
    description string 需求描述
    status string 进行状态
    creatorId integer hc创建者id
    creatorEmail String hc创建者email
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    orgId string 公司id
    createdAt string 创建时间
    updatedAt string 更新时间
    startDate string 开始时间 "2022-03-11"
    completeDate string 结束时间
    connectedJobIds array 关联职位的id
    connectedJobs array 关联职位的详情
    usedNumber integer 已使用人数(同在职人数),关联了对应招聘需求,且状态为已入职的候选人数,候选人入职后又离职,则已使用数会对应扣减。建议使用“在职人数”,与系统招聘需求模块保持一致。
    remainNumber integer 剩余人数 剩余人数=需求人数-已使用人数
    currentEnrolledNumber integer 在职人数,关联了对应招聘需求,且状态为已入
    departureNumber integer 离职人数,关联了对应招聘需求,且状态为已离职的候选人数
    customData object 自定义字段的值
    departmentCode string 部门同步时使用的code
    addressInfo array 地点信息
    jobPriority array 职位优先级信息
    jobRanks array 职位级别
    minSalary integer 最低薪资,单位:千(K)
    maxSalary integer 最高薪资,单位:千(K)
    education string 学历要求,取值范围:不限
    高中以下
    中专
    中技
    大专
    本科
    硕士
    博士
    allCount integer offer发放总数
    sendCount integer 待接受offer总数
    rejectedCount integer 已拒绝offer总数
    pendingCheckin integer 待入职(offer发放且候选人接受且候选人状态为待入职)
    realCompleteDate string 需求实际完成时间
    approvalStatus integer 招聘需求审批状态 0,未发起;1,审批中;3,已驳回;4,已撤回;
    isGlobal integer 是否同时使用社校招
    sharedUserEmails array 共享人邮箱
    sharedUserEmployeeIds array 共享人工号

    获取指定状态的招聘需求列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcounts\?currentHireMode\=1\&status\=complete&pageNumber=1 \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    {
      "headcount": {
        "id": 1,
        "number": "AoTeMan001",
        "jobName": "野生奥特曼",
        "type": "planned",
        "needNumber": 5,
        "departmentId": 1,
        "commitment": "fulltime",
        "ownerId": 1,
        "description": null,
        "managerIds": [2],
        "managerEmails": ["hr@trymoka.com"],
        "managerEmployeeIds": ["0018"],
        "status": "complete",
        "creatorId": 7,
        "hireMode": 1,
        "orgId": "livingsimple",
        "createdAt": "2018-01-09T10:37:32.000Z",
        "updatedAt": "2018-01-09T10:37:32.000Z",
        "startDate": null,
        "completeDate": null,
        "connectedJobIds": [],
        "connectedJobs": [],
        "usedNumber": 0,
        "remainNumber": 5,
        "departmentCode": "7",
        "addressInfo": [
            {
                "id": 1,
                "country": "中国",
                "province": "北京市",
                "area": "海淀区",
                "address": "北京市海淀区海淀西大街"
            }
        ],
        "jobPriority": [
            {
                "id": 1,
                "name": "优先招聘",
                "isBuiltin": 1
            }
        ],
        "jobRanks": [
            {
                "id": 1,
                "name": "新人",
                "type": "p5",
                "level": 1,
                "hcId": 8
            },
            {
                "id": 3,
                "name": "总裁",
                "type": null,
                "level": 3,
                "hcId": 8
            }
        ]
      }
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headcounts

    请求URL参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    status string 状态
    pageNumber intger 页签,表示获取第几页的数据(每页返回20条数据)

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer hc的id
    number string hc编号
    jobName string hc名称
    type string 需求类型
    needNumber integer 需求人数
    departmentId integer 部门id
    commitment string 职位属性,可选值:
    全职
    兼职
    实习
    其他
    ownerId integer 汇报对象id
    managerIds array 负责人id数组
    managerEmails array 负责人邮箱数组
    managerEmployeeIds array 负责人工号数组
    description string 需求描述
    status string 进行状态
    creatorId integer hc创建者id
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    orgId string 公司id
    createAt string 创建时间。日期格式为:ISO8601
    updateAt string 更新时间。日期格式为:ISO8601
    startData string 开始时间。日期格式为:ISO8601
    completeDate string 结束时间。日期格式为:ISO8601
    connectedJobIds array 关联职位的id
    connectedJobs array 关联职位的详情
    usedNumber integer 已使用人数(同在职人数),关联了对应招聘需求,且状态为已入职的候选人数,候选人入职后又离职,则已使用数会对应扣减。建议使用“在职人数”,与系统招聘需求模块保持一致。
    remainNumber integer 剩余人数,剩余人数=需求人数-已使用人数
    currentEnrolledNumber integer 在职人数,关联了对应招聘需求,且状态为已入职的候选人数,候选人入职后又离职,则在职人数会对应扣减
    departureNumber integer 离职人数,关联了对应招聘需求,且状态为已离职的候选人数
    departmentCode string 部门同步时使用的code
    addressInfo array 地点信息
    jobPriority array 职位优先级信息
    jobRanks array 职位级别
    sharedUserEmails array 需求共享人邮箱数组
    sharedUserEmployeeIds array 需求共享人工号数组

    获取招聘需求数量

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headcount_status/count\?currentHireMode\=1 \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    {
      "statusCount": {
        "complete": 1,
        "suspend": 1,
        "unstart": 22
      }
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headcount_status/count

    请求URL参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    complete integer complete的数量,没有字段则为0

    获取自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/hc_fields \
      -u 'your_api_key:' \
      -X GET
    

    返回样例

    [
      {
        "id": 1,
        "name": "需求类型",
        "type": "select_info",
        "detail": null,
        "isRequired": 1,
        "isVisible": 1,
        "isBuiltin": 1
      },
      {
        "id": 2,
        "name": "select",
        "type": "select_info",
        "detail": [
            "1",
            "2"
        ],
        "isRequired": 0,
        "isVisible": 1,
        "isBuiltin": 0
      },
      {
        "id": 3,
        "name": "test multi select info",
        "type": "multi_select_info",
        "multiDetail": [
          {
            "localeValues": [
              {
                "locale": "zh-CN",
                "value": "value1"
              },{
                "locale": "en-US",
                "value": "valueA"
              }
            ],
            "optionId": "1723553256175"
          },
          {
            "localeValues": [
              {
                "locale": "zh-CN",
                "value": "value2"
              },{
                "locale": "en-US",
                "value": "valueB"
              }
            ],
            "optionId": "1723553256176"
          }
        ],
        "isApproval": 1,
        "isBuiltin": 0,
        "isRequired": 0,
        "isVisible": 1
      }
    ]
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/hc_fields

    请求URL参数

    字段 类型 描述
    currentHireMode integer 招聘模式,默认社招
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 字段id,用于新建和更新自定义字段
    name string 字段显示的名字
    type string 字段类型
    select_info: 选择类型
    multi_select_info:多选类型
    string_info: 字符串类型
    date_info:日期类型
    detail array select_info下,选择项的题
    multiDetail array multi_select_info下,多选项的题
    isRequired integer 必填
    isVisible integer 是否显示
    isBuiltin integer 是否系统内置

    获取指定时间的招聘需求信息

    请求样例

    curl --location --request GET 'https://api.mokahr.com/api-platform/v1/data/headcounts?fromTime=2018-1-1&limit=100' \
    --header 'Authorization: Basic aHRuYlJqcGhyRDh***FWR0Q3dUw6'
    

    返回样例

    {
        "data": [
            {
                "id": 367824,
                "orgId": "orgid-test",
                "number": "545454156",
                "startDate": "2022-03-24T16:00:00.000Z",
                "completeDate": null,
                "needNumber": 3232,
                "description": "<p>荒天帝和火灵儿的招聘需求描述</p>",
                "updatedAt": "2022-03-25T06:25:36.000Z",
                "connectedJobIds": []
            },
            {
                "id": 180790,
                "orgId": "orgid-test",
                "number": "001",
                "startDate": null,
                "completeDate": null,
                "needNumber": 1,
                "description": null,
                "updatedAt": "2022-03-29T09:03:00.000Z",
                "connectedJobIds": [
                    "6179489d-0a******8962db0f7",
                    "0cd0ed7d-1***********5-7d63a4117f63",
                    "6d**********9c3891d9c8"
                ]
            }
        ],
        "code": 0,
        "msg": "success"
    }
    

    获取HeadCount信息

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    fromTime string 数据的开始时间,fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。如果响应中没有next字段,表示没有更多的数据了
    limit string 分页用的每页条数,默认100

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer HC唯一id
    number string HC编号
    startDate string HC开始时间
    completeDate string HC目标完成时间
    needNumber string HC需求人数
    description strring HC需求描述
    updatedAt string 本条数据的最近更新时间
    connectedJobIds array hc关联的职位id列表

    查询招聘需求核销情况

    请求样例

    $ curl -X POST \
      https://api.mokahr.com/api-platform/v1/headcounts/getHeadcountVerificationInfo \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{"id": 100001}'
    

    返回样例

    {
        "data": {
            "id": 1234567890,
            "number": "A123456",
            "needNumber": 5,
            "jobName": "软件工程师",
            "inProcessOfferApplicationIds": [
                1001,
                1002,
                1003
            ],
            "hireApplicationIds": [
                2001,
                2002
            ]
        },
        "code": 0,
        "msg": "success"
    }
    

    获取招聘需求核销情况

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/headcounts/getHeadcountVerificationInfo

    请求body参数

    字段 必填 类型 描述
    id integer HC唯一id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 招聘需求id
    number string 招聘需求编号
    needNumber integer 招聘需求人数
    jobName string 岗位名称
    inProcessOfferApplicationIds array 流程中正在处理的 offer 申请 ID 列表
    hireApplicationIds array 入职申请的 ID 列表

    候选人API

    此部分API主要用于获取系统中配置的候选人自定义模块以及自定义字段信息

    获取候选人信息v2接口(不迭代)

    HTTP请求

    POST https://api.mokahr.com/api-platform/v2/data/ehrApplications

    请求样例 (application/json)

    $ curl https://api.mokahr.com/api-platform/v2/data/ehrApplications \
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '{
        "applicationIds":[236718928]
    }'
    

    返回示例

    {
        "code": 200,
        "msg": "success",
        "data": [
            {
                "basicInfo": {
                    "prefixPhone": null,
                    "applicationId": 425436988,
                    "campusSiteId": 0,
                    "archived": false,
                    "invitationUpdateStatus": 0,
                    "movedAt": "2023-11-23T09:35:57.000Z",
                    "appliedAt": "2023-11-08T03:35:10.000Z",
                    "sourceId": 410022886,
                    "createdAt": "2023-11-08T03:35:11.000Z",
                    "updatedAt": "2023-11-23T09:37:12.000Z",
                    "resumeKey": "staging002/c68b85a9-750e-478f-af13-f8cd10908ae0.txt",
                    "resumeUrl": "https://moka-test-oss.mokahr.com/staging002/2586.txt",
                    "standardResumeUrl": "https://moka-test-oss.mokahr.com/staging002/timestamp=1704434786908",
                    "sourceName": "拉勾",
                    "ehrCandidateExternalLink": "https://staging-2.mokahr.com/forward/6558d3344a8f6f05a04e044b3872e299870e8fe52",
                    "pipelineId": 410006067,
                    "stageId": 410012144,
                    "aimWorkCity": null,
                    "archivedAt": null,
                    "archiveReasonId": null,
                    "archiveReasonsDetails": null,
                    "probation": null,
                    "headcountId": null,
                    "headcountNumber": null,
                    "headcountName": null,
                    "idCardFrontList": null,
                    "idCardBackList": null, 
                    "realHiredDate": null,
                    "archiveReasons": null,
                    "talentPoolsList": null,
                    "hireMode": 1,
                    "pipeline": {
                        "name": "默认招聘流程",
                        "id": 410006067
                    },
                    "stage": {
                        "name": "待入职",
                        "id": 410012144,
                        "type": 102
                    },
                    "operationRecord": null,
                    "sourceList": [
                        {
                            "name": "招聘网站",
                            "isBuiltin": 1,
                            "id": null
                        },
                        {
                            "id": 410022886,
                            "name": "拉勾",
                            "isBuiltin": 1
                        },
                        {
                            "id": null,
                            "name": null,
                            "isBuiltin": null
                        }
                    ],
                    "attachments": null,
                    "remarks": [],
                    "referrer": null,
                    "owner": {
                        "name": "xxx",
                        "phone": "10000000000",
                        "email": "xxx@mokahr.com",
                        "number": "0099",
                        "employeeId": "0099"
                    },
                    "assignments": [
                        {
                            "assigneeId": 410224017,
                            "assignerId": 410246054,
                            "sentAt": 1700640945000,
                            "result": null
                        }
                    ],
                    "operator": null,
                    "birthYear": 1998,
                    "candidateId": 425830771,
                    "sourceType": 2,
                    "personalUrl": "",
                    "name": "xxx",
                    "phone": "10000000000",
                    "email": "xxx@mokahr.com",
                    "gender": "男",
                    "ethnic": "",
                    "certificateType": 1,
                    "citizenId": "",
                    "nationality": "",
                    "nativePlace": "北京市",
                    "experience": 9,
                    "location": "北京市",
                    "lastCompany": "xxxxxxx股份有限公司",
                    "academicDegree": "硕士",
                    "lastSpeciality": "会计学",
                    "married": "未婚",
                    "nativePlaceCode": 110000,
                    "genderCode": 0,
                    "academicDegreeCode": 5,
                    "industry": "",
                    "forwardIndustry": "",
                    "lastUpdate": "",
                    "startFrom": "",
                    "skill": "",
                    "awards": "",
                    "lastWorkedJobTitle": "网络运营管理",
                    "graduateDate": "2010-06-01T00:00:00.000Z",
                    "salary": "360000元/年",
                    "aimSalary": "",
                    "forwardLocation": "",
                    "personal": "本人性格开朗,稳重,有活力,待人热情,真诚。有很强的专业的职业道德,专业基础知识扎实。工作认真负责,主动承担责任,积极与周围工作环境建立良好的工作关系,并具有一定的资源协调能力。与同事,其它部门各极配合,有较强的组织能力,实际动手能力和团体协作精神。能迅速的适应各种环境,并融合其中",
                    "idCardSignOrganization": "", 
                    "idCardValidity": "", 
                    "address": "", 
                    "lastSchool": "xxxx大学",
                    "blacklistTags": null,
                    "blacklistDetail": null,
                    "birthDate": null,
                    "portraitUrl": null,
                    "nationalityCode": null,
                    "ethnicCode": null,
                    "personalInterests": null,
                    "customAttachmentList": null, 
                    "political": null,
                    "customFields": null,
                    "label": [
                        {
                            "id": 4,
                            "label": "行业专注",
                            "type": 1
                        },
                        {
                            "id": 1,
                            "label": "名企背景",
                            "type": 1
                        },
                        {
                            "id": 410026147,
                            "label": "双一流大学",
                            "type": 1
                        },
                        {
                            "id": 410038563,
                            "label": "硕士",
                            "type": 1
                        }
                    ],
                    "educationInfo": [
                        {
                            "id": "421785704",
                            "startDate": "2004-09",
                            "endDate": "2008-06",
                            "now": false,
                            "school": "xxxx大学",
                            "speciality": "会计学",
                            "academicDegree": "本科"
                        },
                        {
                            "id": "421785705",
                            "startDate": "2008-09",
                            "endDate": "2010-06",
                            "now": false,
                            "school": "xxxx大学",
                            "speciality": "会计学",
                            "academicDegree": "硕士"
                        }
                    ],
                    "experienceInfo": [
                        {
                            "id": "587014203",
                            "startDate": "2017-06",
                            "endDate": "2020-04",
                            "now": false,
                            "company": "xxxxxx股份有限公司",
                            "title": "网络运营管理",
                            "location": "",
                            "industry": "",
                            "leader": "",
                            "department": "",
                            "salary": "360000元/年",
                            "summary": "工作描述:1,员工关系:负责公司员工入离职办理,档案维护等\n2,招聘:负责xx公司社招及实习生招聘及面试\n3,行政:协助行政Leader进行行政工作",
                            "reasonForLeaving": "",
                            "underlingNumber": "",
                            "type": "",
                            "size": ""
                        },
                        {
                            "id": "587014204",
                            "startDate": "2010-07",
                            "endDate": "2017-05",
                            "now": false,
                            "company": "xxxx有限公司深圳第一分公司",
                            "title": "校长/副校长",
                            "location": "",
                            "industry": "",
                            "leader": "",
                            "department": "",
                            "salary": "180000元/年",
                            "summary": "工作描述\n运营:实习生团队管理,包括离职面谈,日常答疑等;协助更新官方头条号,抖音账号\n实习生招聘:四川LA团队实习生招聘,每月平均入职15名实习生\n社会招聘:四川LA团队重点岗位招聘Mapping,期间3位候选人走到面试后期\n文化活动:协助leader策划团队活动,包括转正答辩,生日会,挑战赛等\n其他:定期更新招聘周报,招聘月报,招聘计划,招聘漏斗,招聘渠道;独立负责短期招聘项目,管培生培养项目",
                            "reasonForLeaving": "",
                            "underlingNumber": "",
                            "type": "",
                            "size": ""
                        }
                    ],
                    "awardInfo": null,
                    "projectInfo": null,
                    "languageInfo": null,
                    "practiceInfo": null,
                    "interestSource": null
                },
                "jobInfo": {
                    "id": "e3b15530-b938-41ec-ab7d-5c569613bbd5",
                    "headcountInfo": [],
                    "mjCode": "MJ002910",
                    "jobRanksInfo": [],
                    "hireMode": 1,
                    "title": "消息1108",
                    "commitment": "全职",
                    "number": null,
                    "status": "open",
                    "attributeId": null,
                    "attributeName": null,
                    "label": null,
                    "category": null,
                    "jobDescription": "<p><strong>工作内容:</strong></p><p>1. 负责项目计划的制定和执行,保证项目按时、按质、按量完成。</p><p>2. 策划和组织项目中的各项工作,包括制定项目方案、分析数据、编写报告、组织调研、协调各方资源等。</p><p>3. 负责项目的质量控制,协调项目各阶段的验收工作。</p><p>4. 报告工作进展情况,及时向领导汇报项目的风险、问题和进度。</p><p><strong>任职要求:</strong></p><p>1. 本科及以上学历,专业不限。</p><p>2. 3年以上相关工作经验,有管理咨询、项目管理经验优先。</p><p>3. 熟练掌握项目管理方法和工具,熟悉项目的规划、执行、监控和控制等阶段。</p><p>4. 具备优秀的方案撰写和报告表达能力,能够清晰明确地表达深入的分析和建议。</p><p>5. 具备团队合作能力,良好的沟通能力和组织协调能力,能够有效地协调团队成员工作。 </p><p>6. 熟悉office办公软件,如Word、Excel、PPT等。</p><p>7. 熟悉统计分析软件如SPSS等,熟悉数据分析方法和技巧。</p><p>8. 必须具备优秀的英语读写能力,能够独立完成英文报告和资料翻译。</p>",
                    "openedAt": "2023-11-07T16:00:00.000Z",
                    "campusSiteIds": [],
                    "campusSites": [],
                    "finishedAt": null,
                    "department": {
                        "info": {
                            "departmentName": "更新",
                            "departmentCode": "98991",
                            "departmentPath": "更新",
                            "id": "411075469"
                        },
                        "name": "更新",
                        "parentId": null
                    },
                    "stores": [],
                    "customFields": [
                        {
                            "name": "测试选择题",
                            "value": ""
                        },
                        {
                            "name": "故意放核桃仁的",
                            "value": ""
                        }
                    ],
                    "jobManager": {
                        "name": "xxx",
                        "phone": "10000000000",
                        "number": "0099",
                        "email": "xxx@mokahr.com",
                        "employeeId": "0099"
                    },
                    "jobAssistants": [],
                    "jobHiringManagers": [],
                    "jobInterviewers": []
                },
                "offerInfo": null,
                "interviewInfo": null,
                "shigongInfo": null,
                "examInfo": {
                    "applicationId": 425436988,
                    "candidateId": 425830771,
                    "exams": [],
                    "jobId": "e3b15530-b938-41ec-ab7d-5c569613bbd5",
                    "surveys": [
                        {
                            "name": "mock套餐004",
                            "date": "2023-11-23T09:29:03.000Z",
                            "source": "开放平台三方",
                            "jobId": "e3b15530-b938-41ec-ab7d-5c569613bbd5",
                            "applicationId": 425436988,
                            "attachments": null,
                            "result": null,
                            "attachmentName": null,
                            "attachmentUrl": null,
                            "comment": null
                        }
                    ]
                },
                "customstyleAttachments": null,
                "activities": [  
                    {
                        "applicationId": 425436988,
                        "operator": {
                            "name": "xxx",
                            "email": "xxx@mokahr.com",
                            "phone": "10000000000",
                            "number": "0099",
                            "employeeId": "0099"
                        },
                        "createdAt": "2023-11-08T03:35:11.000Z",
                        "source": "拉勾",
                        "type": "ADD_CANDIDATE",
                        "toStageId": null,
                        "toStageName": null,
                        "fromStageId": null,
                        "fromStageName": null
                    },
                    {
                        "applicationId": 425436988,
                        "operator": {
                            "name": "xxxx@163.com",
                            "email": "xxxxx@163.com",
                            "phone": "10000000000",
                            "employeeId": "",
                            "number": null
                        },
                        "createdAt": "2023-11-22T08:15:35.000Z",
                        "toStageId": 410012141,
                        "toStageName": "用人部门筛选",
                        "fromStageId": 410012140,
                        "fromStageName": "初筛",
                        "type": "MOVE_STAGE",
                        "source": null
                    },
                    {
                        "applicationId": 425436988,
                        "operator": {
                            "name": "xxx",
                            "email": "xxx@mokahr.com",
                            "phone": "10000000000",
                            "number": "0099",
                            "employeeId": "0099"
                        },
                        "createdAt": "2023-11-23T09:28:46.000Z",
                        "toStageId": 410012143,
                        "toStageName": "沟通offer",
                        "fromStageId": 410012141,
                        "fromStageName": "用人部门筛选",
                        "type": "MOVE_STAGE",
                        "source": null
                    },
                    {
                        "applicationId": 425436988,
                        "operator": {
                            "name": "xxx",
                            "email": "xxx@mokahr.com",
                            "phone": "10000000000",
                            "number": "0099",
                            "employeeId": "0099"
                        },
                        "createdAt": "2023-11-23T09:35:57.000Z",
                        "toStageId": 410012144,
                        "toStageName": "待入职",
                        "fromStageId": 410012143,
                        "fromStageName": "沟通offer",
                        "type": "MOVE_STAGE",
                        "source": null
                    }
                ]
            }
        ]
    }
    

    请求body参数(application/json)

    字段 必填 类型 描述
    email string 候选人
    applicationIds array[integer] 申请id
    invitationUpdateStatus integer 邀请更新状态
    limit integer 分页用的每页条数,默认20,最大20
    next string 分页参数, 只传这一个就可以
    phone string 候选人手机号
    offerAttachment boolean 只有为true的时候才返回offer附件下载链接,一个小时有效。
    applicationForm boolean 只有为true的时候才返回候选人自定义样式登记表
    pipelineIds array[integer] 流程ids
    stageIds array[integer] 阶段ids
    updateAtStartTime string 更新开始时间,传入北京时间,格式为YYYY-MM-DDTHH:mm:ss.sssZ
    updateAtEndTime string 更新结束时间,传入北京时间,格式为YYYY-MM-DDTHH:mm:ss.sssZ
    needAttachment boolean 是否返回附件 不传默认true,true返回附件,false 不返回附件
    archived boolean 申请是否归档.true/false(true已归档,false未归档)
    hireMode integer 招聘模式.1/2(1社招,2校招,传其他视为没传)
    applicationCreateStartTime long 数据创建开始时间(时间戳格式,指申请首次被保存至数据库的时间)
    applicationCreateEndTime long 数据创建结束时间(时间戳格式,指申请首次被保存至数据库的时间)
    applicationAppliedAtStartTime long 申请创建开始时间(时间戳格式,指系统展示的申请日期)
    applicationAppliedAtEndTime long 申请创建结束时间(时间戳格式,指系统展示的申请日期)

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回码:非200代表错误
    msg string 报错信息
    next string 如果返回则下次请求带上则自动分页
    data array 返回数据详细信息
    data[].basicInfo Object 候选人申请信息
    data[].basicInfo.prefixPhone string 国家呼叫代码
    data[].basicInfo.applicationId long 申请ID
    data[].basicInfo.campusSiteId number 申请的校招站点Id,hireMode=2时存在
    data[].basicInfo.archived boolean 申请是否归档
    data[].basicInfo.invitationUpdateStatus integer 邀请更新状态
    可选值:
    0:未邀请
    1:未更新
    2:已更新
    data[].basicInfo.movedAt string 阶段移动时间
    data[].basicInfo.appliedAt string 申请投递时间
    data[].basicInfo.sourceId long 申请的渠道id
    data[].basicInfo.createdAt string 候选人申请创建时间
    data[].basicInfo.updatedAt string 候选人申请更新时间
    data[].basicInfo.resumeKey string 原始简历的 key
    data[].basicInfo.resumeUrl string 原始简历下载链接
    data[].basicInfo.standardResumeUrl string 标准简历下载链接
    data[].basicInfo.sourceName string 资源来源
    data[].basicInfo.ehrCandidateExternalLink string 候选人详情的链接,可以直接在浏览器中打开查看,该链接有效期默认14天
    data[].basicInfo.pipelineId long 申请所在的招聘流程id
    data[].basicInfo.stageId long 申请所在的阶段id
    data[].basicInfo.aimWorkCity string 候选人意向工作城市
    data[].basicInfo.archivedAt string 申请归档时间
    data[].basicInfo.archiveReasonId integer 归档原因ID
    data[].basicInfo.archiveReasonsDetails string 归档原因详细
    data[].basicInfo.probation integer 试用期
    data[].basicInfo.headcountId integer 入职HC ID
    data[].basicInfo.headcountNumber string 入职HC编号
    data[].basicInfo.headcountName string 入职HC名称
    data[].basicInfo.idCardFrontList string 上传身份证照片(人像面)
    data[].basicInfo.idCardBackList string 上传身份证照片(国徽面)
    data[].basicInfo.realHiredDate string 入职时间
    data[].basicInfo.archiveReasons object 归档原因
    data[].basicInfo.archiveReasons.type integer 归档原因类型
    data[].basicInfo.archiveReasons.name string 归档名称
    data[].basicInfo.talentPoolsList[] array 候选人所属人才库信息
    data[].basicInfo.talentPoolsList[].talentPoolId long 人才库id
    data[].basicInfo.talentPoolsList[].name string 人才库名称
    data[].basicInfo.talentPoolsList[].description string 详细描述
    data[].basicInfo.talentPoolsList[].latestArchivedAt long 最后归档时间
    data[].basicInfo.hireMode integer 招聘模式 1:为社招,2:为校招
    data[].basicInfo.pipeline object 申请所属流程
    data[].basicInfo.pipeline.id long 申请流程所属ID
    data[].basicInfo.pipeline.name string 招聘流程名称
    data[].basicInfo.stage object 阶段
    data[].basicInfo.stage.id long 业务id
    data[].basicInfo.stage.name string 阶段名称
    data[].basicInfo.stage.type integer 阶段类型
    data[].basicInfo.sourceList[] array 渠道分级,数组按照一级渠道、二级渠道、三级渠道的顺序排列
    data[].basicInfo.sourceList[].id long 渠道ID
    data[].basicInfo.sourceList[].name string 渠道名称
    data[].basicInfo.sourceList[].isBuiltin integer 是否内置
    data[].basicInfo.attachments[] array 候选人的所有附件
    data[].basicInfo.attachments[].applicationId long 申请id
    data[].basicInfo.attachments[].jobId string 申请职位id
    data[].basicInfo.attachments[].name string 名字
    data[].basicInfo.attachments[].size integer 大小
    data[].basicInfo.attachments[].type string 类型
    data[].basicInfo.attachments[].customFieldId long 自定义字段ID
    data[].basicInfo.attachments[].customFieldName string 自定义字段名字
    data[].basicInfo.attachments[].url string 地址
    data[].basicInfo.attachments[].createTime date 创建时间
    data[].basicInfo.attachments[].applyFormId long 申请表id
    data[].basicInfo.remarks[] array 候选人备注
    data[].basicInfo.remarks[].creator object 创建人的数据
    data[].basicInfo.remarks[].creator.name string 备注的创建者名称
    data[].basicInfo.remarks[].creator.phone string 备注的创建者手机号吗
    data[].basicInfo.remarks[].creator.email string 备注的创建者邮箱
    data[].basicInfo.remarks[].creator.number string 备注的创建者工号
    data[].basicInfo.remarks[].targets array 被@的人的id数组集合
    data[].basicInfo.remarks[].content string 备注内容 comments表content字段
    data[].basicInfo.remarks[].isPrivate boolean 是否私密备注
    data[].basicInfo.remarks[].type string 备注类型,可选值为,"系统生成" 或者 "人工填写"
    data[].basicInfo.remarks[].createdAt date 创建时间
    data[].basicInfo.remarks[].isCommunication integer comment是否属于电话沟通的内容
    data[].basicInfo.referrer object 推荐人信息
    data[].basicInfo.referrer.name string 推荐人姓名
    data[].basicInfo.referrer.email string 推荐人邮箱
    data[].basicInfo.referrer.phone string 推荐人电话
    data[].basicInfo.referrer.number string 推荐人工号,null:无工号,xxx工号
    data[].basicInfo.referrer.employeeId string 推荐人工号2
    data[].basicInfo.owner object 候选人所有者
    data[].basicInfo.owner.name string 候选人所有者名字
    data[].basicInfo.owner.phone string 候选人所有者电话
    data[].basicInfo.owner.email string 候选人所有者邮箱
    data[].basicInfo.owner.number string 候选人所有者工号
    data[].basicInfo.owner.employeeId string 候选人所有者工号2
    data[].basicInfo.assignments[] array 推荐人信息
    data[].basicInfo.assignments[].assigneeId Long 被推荐人
    data[].basicInfo.assignments[].assignerId Long 推荐人
    data[].basicInfo.assignments[].result string 推荐结果
    data[].basicInfo.assignments[].sentAt date 向被转发人发送通知的时间
    data[].basicInfo.birthYear string 出生年份
    data[].basicInfo.candidateId integer 候选人在Moka中的唯一id
    data[].basicInfo.sourceType integer 来源
    1:代表主动搜索
    2:代表主动投递
    3:代表人才推荐
    data[].basicInfo.personalUrl string 个人链接
    data[].basicInfo.name string 名字
    data[].basicInfo.phone string 手机号
    data[].basicInfo.email string 邮箱
    data[].basicInfo.age string 年龄
    data[].basicInfo.gender string 性别,以下值之一:男,女
    data[].basicInfo.ethnic string 民族
    data[].basicInfo.certificateType integer 证件类型
    可选值:
    1:身份证
    2:香港身份证
    3:澳门身份证
    4:台湾身份证
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证
    data[].basicInfo.citizenId string 证件号码
    data[].basicInfo.nationality string 国家/地区
    data[].basicInfo.nativePlace string 籍贯
    data[].basicInfo.experience integer 工作经验可选值:
    0:应届生
    -1:在校生
    其他数字:表示具体年限
    data[].basicInfo.location string 所在地,如北京
    data[].basicInfo.lastCompany string 最近公司,以下值之一:null无最近公司,xxx任职公司名称
    data[].basicInfo.academicDegree string 最高学历,以下值之一:本科,硕士,博士,高中,大专,中专,初中及以下,MBA,其他
    data[].basicInfo.lastSpeciality string 最近毕业专业
    data[].basicInfo.married string 婚姻状态
    可选值:'已婚'
    '未婚'
    '离异'
    '丧偶'
    'CIVILUNION'
    'COHABITATING'
    'MARRIED'
    'DIVORCED'
    'ENGAGED'
    'SEPARATED'
    'SINGLE'
    'WIDOWED'
    data[].basicInfo.nativePlaceCode integer 籍贯编码(籍贯为空时为null,编码详情见附件)
    data[].basicInfo.genderCode integer 性别编码(性别为空时为null,编码详情见附件)
    data[].basicInfo.academicDegreeCode integer 学历编码(学历为空时为null,编码详情见附件)
    data[].basicInfo.industry string 所在行业
    data[].basicInfo.forwardIndustry string 期望行业
    data[].basicInfo.lastUpdate string 简历更新时间
    data[].basicInfo.startFrom string 到岗时间
    data[].basicInfo.skill string 技能
    data[].basicInfo.awards string 获奖经历
    data[].basicInfo.lastWorkedJobTitle string 目前职位
    data[].basicInfo.graduateDate string 毕业时间
    data[].basicInfo.salary string 当前薪资
    data[].basicInfo.aimSalary string 期望薪资
    data[].basicInfo.forwardLocation string 期望城市
    data[].basicInfo.personal string 自我描述
    data[].basicInfo.idCardSignOrganization string 身份证签发机关
    data[].basicInfo.idCardValidity string 证件有效期
    data[].basicInfo.address string 户籍地址
    data[].basicInfo.lastSchool string 学校名称
    data[].basicInfo.blacklistTags string 黑名单标签(只有黑名单库才有)
    data[].basicInfo.blacklistDetail string 黑名单原因(只有黑名单库才有)
    data[].basicInfo.birthDate string 出生日期
    data[].basicInfo.portraitUrl string 候选人头像的图片地址,链接有效期为1小时
    data[].basicInfo.nationalityCode integer 国籍编码(国籍为空时为null,编码详情见附件)
    data[].basicInfo.ethnicCode integer 民族编码(民族为空时为null,编码详情见附件)
    data[].basicInfo.personalInterests string 兴趣爱好
    data[].basicInfo.customAttachmentList object 候选人标准简历的所有附件
    data[].basicInfo.customAttachmentList.customUpload+customId array 候选人标准简历的附件的key由customUpload(固定字符串)+customId组成
    data[].basicInfo.customAttachmentList.customUpload+customId[].attachmentName string 附件名称
    data[].basicInfo.customAttachmentList.customUpload+customId[].attachmentSize number 附件大小(byte)
    data[].basicInfo.customAttachmentList.customUpload+customId[].candidateId number 候选人id
    data[].basicInfo.customAttachmentList.customUpload+customId[].customId number 自定义字段id
    data[].basicInfo.customAttachmentList.customUpload+customId[].downloadUrl string 下载地址24小时失效
    data[].basicInfo.customAttachmentList.customUpload+customId[].createdAt string 附件创建时间(时间戳格式)
    data[].basicInfo.political string 政治面貌
    data[].basicInfo.customFields[] array 自定义字段
    data[].basicInfo.customFields[].customFieldId long 自定义字段id
    data[].basicInfo.customFields[].name string 自定义字段名称
    data[].basicInfo.customFields[].type string 自定义字段类型
    data[].basicInfo.customFields[].builtinInfoId long 内置信息id
    data[].basicInfo.customFields[].code string 选择题编码
    data[].basicInfo.customFields[].value Boolean或String 自定义字段值,这个根据字段类型返回不同类型的值
    data[].basicInfo.customFields[].now String 当自定义字段是时间段时存在该字段,标识结束时间是否为“至今”。结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    data[].basicInfo.customFields[].section String 字段归属,声明是以下哪个父级下的自定义字段: basicInfo 个人信息 jobIntention 求职意向 experienceInfo 工作经历 educationInfo 教育背景 practiceInfo 实习经历projectInfo 项目经验 languageInfo 语言能力 selfDescription 自我描述 awardInfo 获奖经历
    data[].basicInfo.customFields[].index number 索引,对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    data[].basicInfo.customFields[].codes array 选择题选项值编码
    data[].basicInfo.label[] array 候选人标签
    data[].basicInfo.label[].id integer 标签id
    data[].basicInfo.label[].label string 标签名称
    data[].basicInfo.label[].type number 标签类型
    可选值:
    1:智能标签
    2:手工标签
    data[].basicInfo.educationInfo[] array 教育经历
    data[].basicInfo.educationInfo[].id string 教育经历id
    data[].basicInfo.educationInfo[].startDate string 学校开始时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.educationInfo[].endDate string 学校结束时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.educationInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    data[].basicInfo.educationInfo[].school string 学校名称
    data[].basicInfo.educationInfo[].speciality string 专业名称
    data[].basicInfo.educationInfo[].academicDegree string 学历,以下值之一:本科,硕士,博士,高中,大专,中专,初中及以下,MBA,其他
    data[].basicInfo.experienceInfo[] array 工作经历
    data[].basicInfo.experienceInfo[].id string 工作经历id
    data[].basicInfo.experienceInfo[].startDate string 工作开始时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.experienceInfo[].endDate string 工作结束时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.experienceInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    data[].basicInfo.experienceInfo[].company string 公司名称
    data[].basicInfo.experienceInfo[].title string 职位名称
    data[].basicInfo.experienceInfo[].location string 工作地点
    data[].basicInfo.experienceInfo[].industry string 所在行业
    data[].basicInfo.experienceInfo[].leader string 汇报对象
    data[].basicInfo.experienceInfo[].department string 所在部门
    data[].basicInfo.experienceInfo[].salary string 薪资
    data[].basicInfo.experienceInfo[].summary string 工作职责
    data[].basicInfo.experienceInfo[].reasonForLeaving string 离职原因
    data[].basicInfo.experienceInfo[].underlingNumber string 下属人数
    data[].basicInfo.experienceInfo[].type string 公司性质
    data[].basicInfo.experienceInfo[].size string 公司规模
    data[].basicInfo.awardInfo[] array 获奖经历
    data[].basicInfo.awardInfo[].id string 获奖经历id
    data[].basicInfo.awardInfo[].awardDate string 获奖时间
    data[].basicInfo.awardInfo[].awardName string 获奖名称
    data[].basicInfo.projectInfo[] array 项目经验
    data[].basicInfo.projectInfo[].id string 项目经验id
    data[].basicInfo.projectInfo[].startDate string 项目开始时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.projectInfo[].endDate string 项目结束时间,最多精确到月。如2010-09, 2008
    data[].basicInfo.projectInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    data[].basicInfo.projectInfo[].projectName string 项目名称
    data[].basicInfo.projectInfo[].title string 担任> 职责
    data[].basicInfo.projectInfo[].projectDescription string 项目描述
    data[].basicInfo.projectInfo[].responsibilities string 项目中职责
    data[].basicInfo.languageInfo[] array 语言能力
    data[].basicInfo.languageInfo[].id string 语言能力id
    data[].basicInfo.languageInfo[].language string 语言类型
    data[].basicInfo.languageInfo[].level string 掌握程度
    data[].basicInfo.languageInfo[].listenAndSpeak string 听说能力
    data[].basicInfo.languageInfo[].readAndWrite string 读写能力
    data[].basicInfo.practiceInfo[] array 实习经历
    data[].basicInfo.practiceInfo[].id string 实习经历id
    data[].basicInfo.practiceInfo[].startDate string 实习开始时间
    data[].basicInfo.practiceInfo[].endDate string 实习结束时间
    data[].basicInfo.practiceInfo[].company string 公司名称
    data[].basicInfo.practiceInfo[].title string 职位名称
    data[].basicInfo.practiceInfo[].location string 工作地点
    data[].basicInfo.practiceInfo[].industry string 所在行业
    data[].basicInfo.practiceInfo[].leader string 汇报对象
    data[].basicInfo.practiceInfo[].department string 所在部门
    data[].basicInfo.practiceInfo[].salary string 薪资
    data[].basicInfo.practiceInfo[].summary string 工作职责
    data[].basicInfo.practiceInfo[].type string 公司性质
    data[].basicInfo.practiceInfo[].size string 公司规模
    data[].basicInfo.interestSource[] array 利益所属渠道信息。返回数据根据渠道,分级展示,部分渠道没有第三级
    data[].basicInfo.interestSource[].id Ingeger id
    data[].basicInfo.interestSource[].name string 名称
    data[].basicInfo.interestSource[].email string 邮箱
    data[].jobInfo object 应聘职位信息
    data[].jobInfo.id string 职位ID
    data[].jobInfo.headcountInfo[] array 职位关联的HC信息
    data[].jobInfo.headcountInfo[].id number Headcount ID
    data[].jobInfo.headcountInfo[].jobId string 职位id
    data[].jobInfo.headcountInfo[].name string Headcount 名称
    data[].jobInfo.headcountInfo[].number string Headcount 编号
    data[].jobInfo.headcountInfo[].needNumber integer HC 需求数量
    data[].jobInfo.headcountInfo[].status string Headcount 状态
    data[].jobInfo.headcountInfo[].customFields[] array HC自定义字段
    data[].jobInfo.headcountInfo[].customFields[].name string HC自定义字段名称
    data[].jobInfo.headcountInfo[].customFields[].value string HC自定义字段值
    data[].jobInfo.mjCode string 职位编号,发布到外部系统保持一致。
    data[].jobInfo.jobRanksInfo[] array 职位级别
    data[].jobInfo.jobRanksInfo[].name string 职位级别名称
    data[].jobInfo.jobRanksInfo[].level number 职位级别等级
    data[].jobInfo.hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    data[].jobInfo.title string 职位名称
    data[].jobInfo.commitment string 职位性质
    可选值:
    全职
    兼职
    实习
    其它
    data[].jobInfo.number number 招聘人数
    data[].jobInfo.status string 职位状态
    可选值
    open:开启
    closed:关闭
    data[].jobInfo.attributeId long 职位优先级Id
    data[].jobInfo.attributeName string 职位优先级名称
    data[].jobInfo.label string 职位标签
    data[].jobInfo.category string 职位类别
    data[].jobInfo.jobDescription string 工作描述
    data[].jobInfo.openedAt string 开启时间
    data[].jobInfo.campusSiteIds[] array 校招站点id
    data[].jobInfo.campusSites[] array 校招站点
    data[].jobInfo.campusSites[].id integer 校招站点ID
    data[].jobInfo.campusSites[].name string 校招地点名字
    data[].jobInfo.campusSites[].cityId integer 校招城市id
    data[].jobInfo.finishedAt string 目标完成时间
    data[].jobInfo.department object 职位所在部门
    data[].jobInfo.department.info object 部门详细信息
    data[].jobInfo.department.info.departmentName string 部门名称
    data[].jobInfo.department.info.departmentCode string 部门编码,部门在客户系统中的id
    data[].jobInfo.department.info.departmentPath string 职位所在部门的完整路径,从上级到下级,以/分割
    data[].jobInfo.department.info.parentAPICode string 职位所在部门的完整路径,从上级到下级,以/分割
    data[].jobInfo.department.info.id string 部门ID,部门在Moka系统中的id
    data[].jobInfo.department.name string 父部门名称
    data[].jobInfo.department.parentId string 父部门ID,部门在Moka系统中的id
    data[].jobInfo.stores[] array 所属门店
    data[].jobInfo.stores[].id long 所属门店id
    data[].jobInfo.stores[].name string 所属门店名称
    data[].jobInfo.stores[].jobId string 所属门店职位id
    data[].jobInfo.stores[].departmentId long 所属门店部门id
    data[].jobInfo.customFields[] array job自定义字段
    data[].jobInfo.customFields[].name string job自定义字段名称
    data[].jobInfo.customFields[].value string job自定义字段值
    data[].jobInfo.jobManager object 职位负责人
    data[].jobInfo.jobManager.name string 职位负责人姓名
    data[].jobInfo.jobManager.phone string 职位负责人电话
    data[].jobInfo.jobManager.number string 职位负责人工号
    data[].jobInfo.jobManager.email string 职位负责人邮箱
    data[].jobInfo.jobManager.employeeId string 职位负责人工号2
    data[].jobInfo.jobAssistants[] array 职位协助人
    data[].jobInfo.jobAssistants[].name string 职位协助人名字
    data[].jobInfo.jobAssistants[].email string 职位协助人邮箱
    data[].jobInfo.jobAssistants[].phone string 职位协助人手机号
    data[].jobInfo.jobAssistants[].employeeId string 职位协助人工号
    data[].jobInfo.jobAssistants[].number string 职位协助人编号
    data[].jobInfo.jobHiringManagers[] array 职位管理员信息
    data[].jobInfo.jobHiringManagers[].name string 职位管理员名字
    data[].jobInfo.jobHiringManagers[].email string 职位管理员邮箱
    data[].jobInfo.jobHiringManagers[].phone string 职位管理员手机号
    data[].jobInfo.jobHiringManagers[].employeeId string 职位管理员工号
    data[].jobInfo.jobHiringManagers[].number string 职位管理员编号
    data[].jobInfo.jobInterviewers[] array 职位面试官信息
    data[].jobInfo.jobInterviewers[].id long 面试官id
    data[].jobInfo.jobInterviewers[].name string 面试官名字
    data[].jobInfo.jobInterviewers[].number string 面试官编号
    data[].offerInfo object offer信息
    data[].offerInfo.applicationId integer 申请id
    data[].offerInfo.approvalStatus string 审批状态
    可选值:
    UNINITIATED: 未发起
    INPROGRESS: 审批中
    APPROVED: 已通过
    REJECTED: 已驳回
    RECALLED: 已撤回
    data[].offerInfo.checkinDate string 预计入职时间
    data[].offerInfo.status string 可选值:
    pending : 未发送
    sent: 待接受
    accepted : 已接收
    rejected: 已拒绝
    data[].offerInfo.salaryType integer 薪资类型
    可选值
    1: 时薪
    2:日薪
    3:月薪
    4:年薪
    data[].offerInfo.salaryNumber string 薪资数值
    data[].offerInfo.locationString string 入职地点
    data[].offerInfo.dutyLevelName string 职务级别名称
    data[].offerInfo.createdAt string offer创建时间
    data[].offerInfo.finishedAt string offer接受时间
    data[].offerInfo.jobRankType string 职级类型
    data[].offerInfo.jobRankLevel number 职级等级
    data[].offerInfo.jobRankName string 职级名称
    data[].offerInfo.offerAttachmentUrl string offer附件下载地址
    data[].offerInfo.creator object offer创建人信息
    data[].offerInfo.creator.name string offer创建人姓名
    data[].offerInfo.creator.email string offer创建人邮箱
    data[].offerInfo.creator.phone string offer创建人手机号
    data[].offerInfo.creator.number string offer创建人工号
    data[].offerInfo.creator.employeeId string offer创建人工号2
    data[].offerInfo.offerHistoryList array offer发送记录
    data[].offerInfo.offerHistoryList[].sentAt string offer发送时间
    data[].offerInfo.offerHistoryList[].sentUser object offer发送人信息
    data[].offerInfo.offerHistoryList[].sentUser.id integer offer发送人id
    data[].offerInfo.offerHistoryList[].sentUser.name string offer发送人姓名
    data[].offerInfo.offerHistoryList[].sentUser.email string offer发送人邮箱
    data[].offerInfo.offerHistoryList[].sentUser.phone string offer发送人手机号
    data[].offerInfo.offerHistoryList[].sentUser.employeeId string offer发送人工号2
    data[].offerInfo.offerHistoryList[].status string 已接收: accepted已拒绝: rejected
    data[].offerInfo.offerHistoryList[].operationType integer 操作类型
    可选值:
    1:候选人
    2:HR手动标记
    3:API标记
    data[].offerInfo.hcInfo object offer选中的headCount信息
    data[].offerInfo.hcInfo.id integer offer选中的Headcount ID
    data[].offerInfo.hcInfo.number string offer选中的Headcount 编号
    data[].offerInfo.hcInfo.name string offer选中的Headcount 名称
    data[].offerInfo.hcInfo.status string offer选中的Headcount 状态
    data[].offerInfo.hcInfo.department string offer选中的Headcount 部门
    data[].offerInfo.hcInfo.manager string offer选中的Headcount 负责人
    data[].offerInfo.department object 入职部门信息
    data[].offerInfo.department.id string 入职部门id
    data[].offerInfo.department.departmentName string 入职部门名称
    data[].offerInfo.department.departmentCode string 入职部门编码
    data[].offerInfo.department.departmentPath string 入职部门完整路径
    data[].offerInfo.department.parentAPICode string 父部门code
    data[].offerInfo.customFields array offer自定义字段
    data[].offerInfo.customFields[].id integer offer自定义字段id
    data[].offerInfo.customFields[].name string offer自定义字段名称
    data[].offerInfo.customFields[].value string offer自定义字段值
    data[].offerInfo.customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    data[].offerInfo.attachmentList[] array offer附件列表
    data[].offerInfo.attachmentList[].name string offer附件名称
    data[].offerInfo.attachmentList[].size number offer附件大小
    data[].offerInfo.attachmentList[].downloadUrl string offer附件下载链接,一个小时有效
    data[].offerInfo.attachmentList[].attachmentType number offer附件类型
    可选值:
    0:发送给候选人的附件
    1:发送给审批人的附件
    2:offer附件
    data[].interviewInfo[] array 面试信息
    data[].interviewInfo[].applicationId number 申请id
    data[].interviewInfo[].groupInterviewId number 面试id
    data[].interviewInfo[].groupId string 面试组id
    data[].interviewInfo[].noInterview boolean 是否无面试面试反馈
    data[].interviewInfo[].status string 面试状态:已取消, 未结束, 已结束
    data[].interviewInfo[].candidateAttendStatus string 候选人面试状态 -> 候选人未反馈, 候选人未到场, 候选人已拒绝, 候选人已接受
    data[].interviewInfo[].signInStatus string 面试签到状态:已签到、未签到
    data[].interviewInfo[].jobType string 视频面试套餐类型eg:'技术型','非技术型'等
    data[].interviewInfo[].interviewType string 面试类型:现场面试、电话面试、视频面试
    data[].interviewInfo[].locationId integer 面试地点ID
    data[].interviewInfo[].locationCountry string 面试地点-国家
    data[].interviewInfo[].locationAddress string 面试地点-详细地址
    data[].interviewInfo[].locationCityId integer 面试地点-城市ID
    data[].interviewInfo[].meetingRoomId integer 会议室ID
    data[].interviewInfo[].meetingRoomName string 会议室名称
    data[].interviewInfo[].roundId integer 面试轮次ID
    data[].interviewInfo[].roundName string 面试轮次名称
    data[].interviewInfo[].roundEnglishName string 轮次英文名称
    data[].interviewInfo[].createAt string 面试创建时间
    data[].interviewInfo[].startTime string 面试开始时间
    data[].interviewInfo[].duration integer 面试时长
    data[].interviewInfo[].interviewArranger object 面试负责人
    data[].interviewInfo[].interviewArranger.name string 面试负责人姓名
    data[].interviewInfo[].interviewArranger.email string 面试负责人邮箱
    data[].interviewInfo[].interviewArranger.phone string 面试负责人手机号
    data[].interviewInfo[].interviewArranger.number string 面试负责人工号
    data[].interviewInfo[].interviewArranger.employeeId string 面试负责人工号2
    data[].interviewInfo[].satisfactionRecord object 面试满意度相关信息
    data[].interviewInfo[].satisfactionRecord.sendTime string 面试满意度评价表发送时间
    data[].interviewInfo[].satisfactionRecord.isAnonymous Boolean 是否匿名评价
    data[].interviewInfo[].satisfactionRecord.content string 评价内容
    data[].interviewInfo[].satisfactionRecord.satisfactionDimensions array 维度数组(面试过程
    data[].interviewInfo[].satisfactionRecord.satisfactionDimensions[].name string 维度名称
    data[].interviewInfo[].satisfactionRecord.satisfactionDimensions[].value string 维度对应值
    data[].interviewInfo[].interviewerFeedbacks array 面试官反馈列表
    data[].interviewInfo[].interviewerFeedbacks[].feedbackId string 面试反馈 id
    data[].interviewInfo[].interviewerFeedbacks[].applicationId string 候选人 id
    data[].interviewInfo[].interviewerFeedbacks[].interviewer object 面试官信息
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.id string 面试官 id
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.name string 面试官姓名
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.email string 面试官邮箱
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.phone string 面试官手机号
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.employeeId string 面试官工号2
    data[].interviewInfo[].interviewerFeedbacks[].interviewer.number string 面试官工号
    data[].interviewInfo[].interviewerFeedbacks[].resultName string 面试反馈结果
    data[].interviewInfo[].interviewerFeedbacks[].resultType integer 面试反馈结果类型 0: 不满意 1: 满意
    data[].interviewInfo[].interviewerFeedbacks[].feedback string 面试反馈内容
    data[].interviewInfo[].interviewerFeedbacks[].participated string 面试反馈分类 面试未进行, 已填写反馈, 未填写反馈
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTime string 面试反馈时间
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult array 面试评价表的信息
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].name string 模块标题
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].description string 模块描述
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].score string 模块分数
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].calcScoreType string avg: 计算平均分, total: 计算总分 (只在type为1时有效)
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].subjects array 模块下个小题的信息
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].subjects[].type integer 题目类型
    可选值:
    1:打分题
    2: 单选题
    3: 描述题
    4: 多选题
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].subjects[].title string 小题标题
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].subjects[].description string 小题描述
    data[].interviewInfo[].interviewerFeedbacks[].feedbackTemplateResult[].subjects[].result integer 小题结果:打分题为所选分数的数值;单选题为选项的索引值,从0开始;描述题为描述的字符串;多选题为索引值数组. type=2单选题,返回值为 "result": 0,题目type=4多选题 返回值为"result": [1,2]
    data[].interviewInfo[].interviewFeedbackUrl string 面试反馈汇总文件(仅包含候选人在该申请下所产生的面试反馈)下载链接,HTTP GET请求该URL即可下载面试反馈汇总文件,此链接有时效性,过期时间为1小时,需要收到请求后尽快下载在服务器保存
    data[].interviewInfo[].stageId integer 阶段 id
    data[].interviewInfo[].cancelReason string 取消原因
    data[].shigongInfo object 试工信息
    data[].shigongInfo.applicationId integer 申请id
    data[].shigongInfo.shigongs[] array 试工信息
    data[].shigongInfo.shigongs[].startTime string 试工开始时间
    data[].shigongInfo.shigongs[].endTime string 试工结束时间
    data[].shigongInfo.shigongs[].location string 试工地点
    data[].shigongInfo.shigongs[].manager object 试工负责人信息
    data[].shigongInfo.shigongs[].manager.name string 试工负责人姓名
    data[].shigongInfo.shigongs[].manager.email string 试工负责人邮箱
    data[].shigongInfo.shigongs[].manager.phone string 试工负责人手机号
    data[].shigongInfo.shigongs[].manager.number string 试工负责人工号
    data[].shigongInfo.shigongs[].manager.employeeId string 试工负责人工号2
    data[].shigongInfo.shigongs[].shigongStatus string 试工状态
    未安排
    待反馈
    反馈满意
    反馈不满意
    data[].shigongInfo.shigongs[].feedback string 试工反馈信息
    data[].shigongInfo.shigongs[].protocolStatus string 试工协议状态
    data[].shigongInfo.shigongs[].signStatus string 签到状态
    data[].examInfo object 考试信息
    data[].examInfo.applicationId integer 申请id
    data[].examInfo.candidateId long 候选人id
    data[].examInfo.exams[] array 考试测评信息
    data[].examInfo.exams[].name string 考试测评名称
    data[].examInfo.exams[].createTime string 考试发起时间
    data[].examInfo.exams[].type string 考试测评类型
    exam
    evaluation
    data[].examInfo.exams[].source string 考试测评服务商
    data[].examInfo.exams[].result String 考试测评结果
    data[].examInfo.exams[].detailResult string 考试测评详细结果
    data[].examInfo.exams[].comment string 测评备注
    data[].examInfo.exams[].examAttachments array 考试测评附件
    data[].examInfo.exams[].examAttachments[].attachmentName string 考试测评附件名称
    data[].examInfo.exams[].examAttachments[].attachmentUrl string 考试测评附件链接
    data[].examInfo.exams[].examAttachments[].jobId string 发起考试测评的职位id
    data[].examInfo.exams[].examAttachments[].applicationId string  发起考试测评的申请ID
    data[].examInfo.exams[].examAttachments[].result string 考试测评结果
    data[].examInfo.exams[].examAttachments[].detailResult string 考试测评详细结果
    data[].examInfo.exams[].reportLinks array 考试测评报告链接
    data[].examInfo.exams[].reportLinks[].applicationId string 发起考试测评的申请ID
    data[].examInfo.exams[].reportLinks[].jobId string 发起考试测评的职位id
    data[].examInfo.exams[].reportLinks[].name string 考试测评名称
    data[].examInfo.exams[].reportLinks[].reportLink string 考试测评报告链接
    data[].examInfo.exams[].reportLinks[].result string 考试测评结果
    data[].examInfo.exams[].reportLinks[].detailResult string 考试测评详细结果
    data[].examInfo.exams[].reportLinks[].type string 考试测评类型 exam或者evaluation
    data[].examInfo.jobId string 职位ID
    data[].examInfo.surveys[] array 背调信息
    data[].examInfo.surveys[].name string 背调名称
    data[].examInfo.surveys[].date string 背调日期
    data[].examInfo.surveys[].source string 背调服务商
    data[].examInfo.surveys[].result string 背调结果
    data[].examInfo.surveys[].attachmentUrl string 背调报告链接
    data[].examInfo.surveys[].comment string 背调备注
    data[].examInfo.surveys[].attachmentName string 背调附件名
    data[].examInfo.surveys[].attachments[] array 背调多附件(新版的单附件和多附件都在这个附件集合,原来的单附件结果只做历史兼容使用)
    data[].examInfo.surveys[].attachments[].url string 背调报告链接
    data[].examInfo.surveys[].attachments[].attachmentName string 附件名称
    data[].customstyleAttachments object 自定义应聘登记表
    data[].customstyleAttachments.type string 附件类型固定doc
    data[].customstyleAttachments.createTime string 时间字符串
    data[].customstyleAttachments.customFieldName string 自定义附件名称
    data[].customstyleAttachments.url string 附件下载地址
    data[].activities[] array 事件
    data[].activities[].applicationId integer 申请id
    data[].activities[].operator objet 操作人信息
    data[].activities[].operator.name string 操作人姓名
    data[].activities[].operator.email string 操作人信息邮箱
    data[].activities[].operator.phone string 操作人信息手机号
    data[].activities[].operator.number string 操作人工号1
    data[].activities[].operator.employeeId string 操作人工号2
    data[].activities[].createAt string 事件发生时间
    data[].activities[].toStageId integer 移动后阶段id
    data[].activities[].toStageName string 移动后阶段名称
    data[].activities[].fromStageId integer 移动前阶段id
    data[].activities[].fromStageName string 移动前阶段名称
    data[].activities[].type string 日志类型
    可选值:
    ADD_CANDIDATE: 添加候选人
    MOVE_STAGE: 移动阶段
    data[].activities[].source string 申请来源

    获取全部阶段下的候选人信息

    本接口只返回基础信息,不会返回附件链接。

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/moved_applications
    

    返回样例

    [
        {
            "applicationId": 23191,
            "candidateId": 12552,
            "moved_at": "2019-01-25T10:25:36.000Z",
            "name": "曹大帅",
            "phone": "15013186607",
            "email": "1170616425@qq.com",
            "gender": "男",
            "birthYear": 1991,
            "birthDate": "2020-03-17T00:00:00.000Z",
            "nationality": null,
            "experience": 2,
            "ethnic": null,
            "citizenId": null,
            "nativePlace": "",
            "location": "湖北-武汉",
            "source": "智联",
            "sourceType": 2,
            "academicDegree": "硕士",
            "lastSpeciality": "人力资源管理",
            "married": "未婚",
            "jobCommitment": "全职",
            "hireMode": 1,
            "departmentCode": null,
            "parentDepartmentCode": null,
            "resumeKey": "1f0f3d5f-17d4-4e21-a135-a8dbb8648297.html",
            "stageName": "用人部门筛选",
            "stageType": 200,
            "nativePlaceCode": null,
            "nationalityCode": null,
            "genderCode": 0,
            "academicDegreeCode": 5,
            "ethnicCode": null,
            "job": {
                "title": "5432154321543215432154321v543215432154321",
                "department": null,
                "departmentCode": null,
                "parentDepartmentCode": null,
                "competencyType": null,
                "jobId": "ea932057-2637-4408-98a2-a3366b4ade14"
            },
            "jobManager": {
                "name": "Moka小助手",
                "email": "why947608878@163.com",
                "phone": "18610778251",
                "employeeId": "01"
            },
            "resumeUrl": "",
            "educationInfo": [
                {
                    "id": 35764,
                    "startDate": "2014-09",
                    "endDate": "2017-06",
                    "school": "长江大学",
                    "speciality": "农业经济管理",
                    "academicDegree": "硕士",
                    "startTime": 1409500800,
                    "endTime": 1496246400,
                    "now": false
                },
                {
                    "id": 35765,
                    "startDate": "2010-09",
                    "endDate": "2014-06",
                    "school": "长江大学",
                    "speciality": "人力资源管理",
                    "academicDegree": "本科",
                    "startTime": 1283270400,
                    "endTime": 1401552000,
                    "now": false
                }
            ],
            "experienceInfo": [],
            "awardInfo": [],
            "customFields": [],
            "referrer": null,
            "headcountInfo": [],
            "jobRanksInfo": [],
            "offer": null,
            "projectInfo": [
                {
                    "startDate": "2014-06",
                    "endDate": "2014-09",
                    "projectName": "土地流转确权工作",
                    "title": "",
                    "projectDescript": "1.了解荆州市农村人口占全市的比例。\r\n2.了解荆州市农村土地流转的面积。\r\n3.了解荆州市土地流转的模式。\r\n4.了解荆州市农村农户进行土体流转出现的问题和法律纠纷。\r\n5.整理相关文献资料,利用搜集到的土地流转资料撰写论文,总结分析出农户土地流转出现的问题,并找到其应对的措施。",
                    "responsibilities": "深入到农村基层,通过与农户的交谈和问卷调研方式,了解荆州市农村土地的流转情况,土地流转的面积、模式,考察荆州市农村居民土地流转出现的问题,以及它们的解决方式,另外考察当地政府对土地流转的支持力度。",
                    "startTime": 1401552000,
                    "endTime": 1409500800,
                    "now": false
                }
            ],
            "languageInfo": [],
            "invitationUpdateStatus": 1
        },
        {
            "applicationId": 44803,
            "candidateId": 34339,
            "moved_at": "2019-01-16T07:56:44.000Z",
            "name": "张五",
            "phone": "15811077349",
            "email": "sgurr@163.com",
            "gender": "男",
            "birthYear": 1989,
            "nationality": null,
            "experience": null,
            "ethnic": null,
            "citizenId": null,
            "nativePlace": "",
            "location": null,
            "source": "智联",
            "sourceType": 1,
            "academicDegree": "本科",
            "lastSpeciality": "人力资源管理",
            "married": null,
            "jobCommitment": "全职",
            "hireMode": 1,
            "departmentCode": "1",
            "parentDepartmentCode": null,
            "resumeKey": null,
            "stageName": "新增offer型阶段",
            "stageType": "101",
            "nativePlaceCode": null,
            "nationalityCode": null,
            "genderCode": 0,
            "academicDegreeCode": 4,
            "ethnicCode": null,
            "job": {
                "title": "qa",
                "department": "马蜂窝",
                "departmentCode": "1",
                "parentDepartmentCode": null,
                "competencyType": null,
                "departmentPath": "马蜂窝",
                "jobId": "ea932057-2637-4408-98a2-a3366b4ade14"
            },
            "jobManager": {
                "name": "安涛",
                "email": "antao@mokahr.com",
                "phone": "15201314595",
                "employeeId": "01"
            },
            "resumeUrl": "",
            "educationInfo": [
                {
                    "id": 37153,
                    "startDate": "",
                    "endDate": "",
                    "school": "收到回复看吧",
                    "speciality": "哈是的",
                    "academicDegree": "本科",
                    "startTime": null,
                    "endTime": null,
                    "now": false
                }
            ],
            "experienceInfo": [],
            "awardInfo": [],
            "customFields": [
                {
                    "codes": "",
                    "name": "民族自定义",
                    "value": "维吾尔族",
                    "section": "basicInfo"
                }
            ],
            "referrer": null,
            "headcountInfo": [
                {
                    "id": 5,
                    "number": "3",
                    "name": "测试HC更新1"
                }
            ],
            "jobRanksInfo": [],
            "offer": null,
            "projectInfo": [],
            "languageInfo": [],
            "invitationUpdateStatus": 1
        }
    ]
    

    该接口将返回指定条件中所有阶段内的全部候选人信息
    首次调用时,会返回指定阶段中所有候选人信息,然后标记候选人,标记后在候选人移动前将不能通过该接口获取到数据
    后续如果该阶段中候选人移动,则可以重新获取到数据,每次最多返回100条数据

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    stage string 申请归档前阶段名
    all:所有阶段
    preliminary_filter:初筛
    offer:offer类型的阶段
    pending_checkin:待入职阶段
    filter:筛选型阶段
    interview:面试型阶段
    exam:测试型阶段
    none:无类型阶段
    shigong:试工型阶段
    fromTime string 数据的开始时间
    如2018-1-1

    返回

    字段 类型 描述
    candidateId integer 候选人在Moka中的唯一id
    applicationId integer 候选人该申请在Moka中的唯一id
    name string 姓名
    phone string 电话
    email string 邮箱
    gender string 性别,以下值之一:
    birthYear integer 出生年份,如1990
    birthDate string 出生日期
    ethnic string 民族
    certificateType integer 证件类型
    可选值:
    1:身份证
    2:香港身份证
    3:澳门身份证
    4:台湾身份证
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证
    citizenId string 证件号码
    nationality string 国籍
    nativePlace string 籍贯
    hireMode integer 招聘模式
    可选值:
    1: 社招
    2: 校招
    source string 渠道,如拉勾
    sourceType integer 来源
    可选值:
    1:主动搜索,2:主动投递,3:人才推荐
    stageName string 所在阶段名称
    stageType number 所在阶段类型
    可选值:
    100 :初筛
    101 :Offer型
    102 :待入职
    200 :筛选型
    201 :面试型
    202: 测试型
    205 :无类型
    206 :试工型
    location string 所在地,如北京
    academicDegree string 最高学历
    可选值:
    本科硕士博士高中大专中专MBA其他
    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,编码详情见附件)
    educationInfo[] array 教育经历
    educationInfo[].startDate string 学校开始时间,最多精确到月。如2010-09, 2008
    educationInfo[].endDate string 学校结束时间,最多精确到月。如2010-09, 2008
    educationInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=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 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    experienceInfo[].company string 公司名称
    experienceInfo[].title string 职位名称
    experienceInfo[].summary string 工作职责
    experienceInfo[].reasonForLeaving string 离职原因
    experienceInfo[].underlingNumber string 下属人数
    awardInfo[] array 获奖经历
    awardInfo[].awardDate datetime 获奖时间
    awardInfo[].awardName string 获奖名称
    job object 应聘职位信息
    job.title string 职位名称
    job.department string 职位所在部门
    job.departmentPath string 职位所在部门的完整路径,从上级到下级,以/分割
    job.departmentCode string 部门code
    job.parentDepartmentCode string 父级部门code
    job.competencyType string 职能类型
    job.customFields array job自定义字段
    job.customFields[].name string job自定义字段名称
    job.customFields[].value string job自定义字段值
    ehrCustomFields[] array ehr自定义导出字段集合
    referrer object 推荐人信息
    referrer.name string 推荐人姓名
    referrer.email string 推荐人邮箱
    referrer.phone string 推荐人电话
    jobRanksInfo[].name string 职位级别名称
    jobRanksInfo[].type string 职位级别类型
    jobRanksInfo[].level string 职位级别等级
    headcountInfo[].id number Headcount ID
    headcountInfo[].number string Headcount 编号
    headcountInfo[].name string Headcount 名称
    customFields[] array 候选人自定义字段,仅包含标准简历中设置的自定义字段
    customFields[].name string 自定义字段名称
    customFields[].value string 自定义字段值。对于是否题类型
    可选值:
    1:是
    0:否。
    customFields[].now boolean 当自定义字段是时间段时存在该字段,标识结束时间是否为“至今”。结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    customFields[].section string 自定义字段所在的模块名称,模块可以是内置模块(如experienceInfo)或者自定义模块(如紧急联系人)
    customFields[].index string 对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    offer object offer信息
    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.departmentName string 入职部门名称
    offer.departmentCode number 入职部门code
    offer.parentDepartmentCode number 入职部门上级部门code
    offer.departmentPath string 入职部门完整路径
    offer.offerLastSentAt string 末次发送offer时间
    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 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    languageInfo array 语言能力
    languageInfo[].language string 语言类型
    languageInfo[].level string 掌握程度
    languageInfo[].listenAndSpeak string 听说能力
    languageInfo[].readAndWrite string 读写能力
    invitationUpdateStatus integer 邀请更新状态
    可选值:
    0:未邀请
    1:未更新
    2:已更新

    获取全部阶段下的候选人信息(分页)

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/movedApplications
    

    返回样例

    {
      "next":"2019-01-16T07:56:44.000Z_44803",
      "data":[
        {
          "applicationId": 23191,
          "candidateId": 12552,
          "moved_at": "2019-01-25T10:25:36.000Z",
          "name": "曹大帅",
          "phone": "15013186607",
          "email": "1170616425@qq.com",
          "gender": "男",
          "birthYear": 1991,
          "nationality": null,
          "experience": 2,
          "ethnic": null,
          "citizenId": null,
          "nativePlace": "",
          "location": "湖北-武汉",
          "source": "智联",
          "sourceType": 2,
          "academicDegree": "硕士",
          "lastSpeciality": "人力资源管理",
          "married": "未婚",
          "jobCommitment": "全职",
          "hireMode": 1,
          "departmentCode": null,
          "parentDepartmentCode": null,
          "resumeKey": "1f0f3d5f-17d4-4e21-a135-a8dbb8648297.html",
          "stageName": "用人部门筛选",
          "stageType": 200,
          "nativePlaceCode": null,
          "nationalityCode": null,
          "genderCode": 0,
          "academicDegreeCode": 5,
          "ethnicCode": null,
          "job": {
              "title": "5432154321543215432154321v543215432154321",
              "department": null,
              "departmentCode": null,
              "parentDepartmentCode": null,
              "competencyType": null,
              "jobId": "ea932057-2637-4408-98a2-a3366b4ade14"
          },
          "jobManager": {
              "name": "Moka小助手",
              "email": "why947608878@163.com",
              "phone": "18610778251",
              "employeeId": "01"
          },
          "resumeUrl": "",
          "educationInfo": [
              {
                  "id": 35764,
                  "startDate": "2014-09",
                  "endDate": "2017-06",
                  "school": "长江大学",
                  "speciality": "农业经济管理",
                  "academicDegree": "硕士",
                  "startTime": 1409500800,
                  "endTime": 1496246400,
                  "now": false
              },
              {
                  "id": 35765,
                  "startDate": "2010-09",
                  "endDate": "2014-06",
                  "school": "长江大学",
                  "speciality": "人力资源管理",
                  "academicDegree": "本科",
                  "startTime": 1283270400,
                  "endTime": 1401552000,
                  "now": false
              }
          ],
          "experienceInfo": [],
          "awardInfo": [],
          "customFields": [],
          "referrer": null,
          "headcountInfo": [],
          "jobRanksInfo": [],
          "offer": null,
          "projectInfo": [
              {
                  "startDate": "2014-06",
                  "endDate": "2014-09",
                  "projectName": "土地流转确权工作",
                  "title": "",
                  "projectDescript": "1.了解荆州市农村人口占全市的比例。\r\n2.了解荆州市农村土地流转的面积。\r\n3.了解荆州市土地流转的模式。\r\n4.了解荆州市农村农户进行土体流转出现的问题和法律纠纷。\r\n5.整理相关文献资料,利用搜集到的土地流转资料撰写论文,总结分析出农户土地流转出现的问题,并找到其应对的措施。",
                  "responsibilities": "深入到农村基层,通过与农户的交谈和问卷调研方式,了解荆州市农村土地的流转情况,土地流转的面积、模式,考察荆州市农村居民土地流转出现的问题,以及它们的解决方式,另外考察当地政府对土地流转的支持力度。",
                  "startTime": 1401552000,
                  "endTime": 1409500800,
                  "now": false
              }
          ],
          "languageInfo": []
        },
        {
          "applicationId": 44803,
          "candidateId": 34339,
          "moved_at": "2019-01-16T07:56:44.000Z",
          "name": "张五",
          "phone": "15811077349",
          "email": "sgurr@163.com",
          "gender": "男",
          "birthYear": 1989,
          "nationality": null,
          "experience": null,
          "ethnic": null,
          "citizenId": null,
          "nativePlace": "",
          "location": null,
          "source": "智联",
          "sourceType": 1,
          "academicDegree": "本科",
          "lastSpeciality": "人力资源管理",
          "married": null,
          "jobCommitment": "全职",
          "hireMode": 1,
          "departmentCode": "1",
          "parentDepartmentCode": null,
          "resumeKey": null,
          "stageName": "新增offer型阶段",
          "stageType": "101",
          "nativePlaceCode": null,
          "nationalityCode": null,
          "genderCode": 0,
          "academicDegreeCode": 4,
          "ethnicCode": null,
          "job": {
              "title": "qa",
              "department": "马蜂窝",
              "departmentCode": "1",
              "parentDepartmentCode": null,
              "competencyType": null,
              "departmentPath": "马蜂窝",
              "jobId": "ea932057-2637-4408-98a2-a3366b4ade14",
              "customFields": [
                {
                  "name": "职位-年月",
                  "value": "2019-01"
                }
              ]
          },
          "jobManager": {
              "name": "安涛",
              "email": "antao@mokahr.com",
              "phone": "15201314595",
              "employeeId": "01"
          },
          "resumeUrl": "",
          "educationInfo": [
              {
                  "id": 37153,
                  "startDate": "",
                  "endDate": "",
                  "school": "收到回复看吧",
                  "speciality": "哈是的",
                  "academicDegree": "本科",
                  "startTime": null,
                  "endTime": null,
                  "now": false
              }
          ],
          "experienceInfo": [],
          "awardInfo": [],
          "customFields": [
              {
                  "codes": "",
                  "name": "民族自定义",
                  "value": "维吾尔族",
                  "section": "basicInfo"
              }
          ],
          "referrer": null,
          "headcountInfo": [
              {
                  "id": 5,
                  "number": "3",
                  "name": "测试HC更新1"
              }
          ],
          "jobRanksInfo": [],
          "offer": null,
          "projectInfo": [],
          "languageInfo": []
        }
      ]
    }
    

    该接口将返回指定条件中所有阶段内的全部候选人信息

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    stage string 申请归档前阶段名
    all:所有阶段
    preliminary_filter:初筛
    offer:offer类型的阶段
    pending_checkin:待入职阶段
    filter:筛选型阶段
    interview:面试型阶段
    exam:测试型阶段
    none:无类型阶段
    shigong:试工型阶段
    fromTime string 数据的开始时间,fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。
    如2018-1-1
    ASC 由该时间往新数据查询
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。如果响应中没有next字段,表示没有更多的数据了
    reqType string all:全量,忽略标记,全部返回给调用方 update:更新和变量(默认),每次请求会将未标记的数据返回给调用方,并标记返回数据
    limit string 分页用的每页条数,默认20,最大20

    返回

    字段 类型 描述
    candidateId integer 候选人在Moka中的唯一id
    applicationId integer 候选人该申请在Moka中的唯一id
    name string 姓名
    phone string 电话
    email string 邮箱
    gender string 性别,以下值之一:
    birthYear integer 出生年份,如1990
    birthDate string 出生日期
    ethnic string 民族
    certificateType integer 证件类型
    可选值:
    1:身份证
    2:香港身份证
    3:澳门身份证
    4:台湾身份证
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证
    citizenId string 证件号码
    nationality string 国籍
    nativePlace string 籍贯
    hireMode integer 招聘模式
    可选值
    1: 社招
    2: 校招
    source string 渠道,如拉勾
    sourceType integer 来源
    可选值:
    1:主动搜索,2:主动投递,3:人才推荐
    stageName string 所在阶段名称
    stageType number 所在阶段类型
    可选值:
    100 :初筛
    101 :Offer型
    102 :待入职
    200 :筛选型
    201 :面试型
    202: 测试型
    205 :无类型
    206 :试工型
    location string 所在地,如北京
    academicDegree string 最高学历
    可选值:本科硕士博士高中大专中专MBA其他
    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,编码详情见附件)
    educationInfo[] array 教育经历
    educationInfo[].startDate string 学校开始时间,最多精确到月。如2010-09, 2008
    educationInfo[].endDate string 学校结束时间,最多精确到月。如2010-09, 2008
    educationInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=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 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    experienceInfo[].company string 公司名称
    experienceInfo[].title string 职位名称
    experienceInfo[].summary string 工作职责
    experienceInfo[].reasonForLeaving string 离职原因
    experienceInfo[].underlingNumber string 下属人数
    awardInfo[] array 获奖经历
    awardInfo[].awardDate datetime 获奖时间
    awardInfo[].awardName string 获奖名称
    job object 应聘职位信息
    job.title string 职位名称
    job.department string 职位所在部门
    job.departmentPath string 职位所在部门的完整路径,从上级到下级,以/分割
    job.departmentCode string 部门code
    job.parentDepartmentCode string 父级部门code
    job.competencyType string 职能类型
    job.customFields array job自定义字段
    job.customFields[].name string job自定义字段名称
    job.customFields[].value string job自定义字段值
    ehrCustomFields[] array ehr自定义导出字段集合
    idCardFrontList array 上传身份证照片(人像面)
    idCardBackList string 上传身份证照片(国徽面)
    idCardSignOrganization string 身份证签发机关
    idCardValidity string 证件有效期
    customAttachmentList obj 候选人标准简历的所有附件
    customAttachmentList.customUpload+customId array 候选人标准简历的附件的key由customUpload(固定字符串)+customId组成
    customAttachmentList.customUpload+customId[].attachmentName string 附件名称
    customAttachmentList.customUpload+customId[].attachmentSize number 附件大小(byte)
    customAttachmentList.customUpload+customId[].candidateId number 候选人id
    customAttachmentList.customUpload+customId[].customId number 自定义字段id
    customAttachmentList.customUpload+customId[].downloadUrl string 下载地址24小时失效
    customAttachmentList.customUpload+customId[].createdAt string 附件创建时间(时间戳格式)
    referrer object 推荐人信息
    referrer.name string 推荐人姓名
    referrer.email string 推荐人邮箱
    referrer.phone string 推荐人电话
    jobRanksInfo[].name string 职位级别名称
    jobRanksInfo[].type string 职位级别类型
    jobRanksInfo[].level string 职位级别等级
    headcountInfo[].id number Headcount ID
    headcountInfo[].number string Headcount 编号
    headcountInfo[].name string Headcount 名称
    customFields[] array 候选人自定义字段,仅包含标准简历中设置的自定义字段
    customFields[].name string 自定义字段名称
    customFields[].value string 自定义字段值。对于是否题类型
    可选值:
    1:是
    0:否。
    customFields[].now boolean
    customFields[].section string 自定义字段所在的模块名称,模块可以是内置模块(如experienceInfo)或者自定义模块(如紧急联系人)
    customFields[].index string 对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    customFields[].codes string 选择题自定义code(仅对有code的选择题生效)
    offer object offer信息
    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.departmentName string 入职部门名称
    offer.departmentCode number 入职部门code
    offer.parentDepartmentCode number 入职部门上级部门code
    offer.departmentPath string 入职部门完整路径
    offer.offerLastSentAt string 末次发送offer时间
    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 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endDate的值将可能为任意值,直接忽略endDate即可
    languageInfo array 语言能力
    languageInfo[].language string 语言类型
    languageInfo[].level string 掌握程度
    languageInfo[].listenAndSpeak string 听说能力
    languageInfo[].readAndWrite string 读写能力
    invitationUpdateStatus integer 邀请更新状态
    可选值:
    0:未邀请
    1:未更新
    2:已更新

    获取自定义模块

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/candidates/custom_blocks
    

    返回样例

    [
        {
            "id": 1,
            "title": "自定义模块1"
        },
        {
            "id": 2,
            "title": "自定义模块2"
        }
    ]
    

    获取配置的自定义模块列表

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/candidates/custom_blocks

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 自定义模块id
    title string 自定义模块名称

    获取自定义字段

    请求样例

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

    返回样例

    [
        {
            "id": 1,
            "name": "自定义字段1",
            "type": "string_info",
            "relatedTo": "basicInfo"
        },
        {
            "id": 2,
            "name": "自定义字段2",
            "type": "select_info",
            "relatedTo": "1",
            "detail": ["选项1", "选项2"]
        }
    ]
    

    获取配置的自定义字段列表

    HTTP请求

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

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 自定义字段id
    name string 自定义字段名称
    type string 字段类型
    select_info 选择类型
    可选值:
    string_info 字符串类型
    date_info 日期类型
    detail array 如果typeselect_info,这个字段表示选择项的列表。
    relatedTo string 这个自定义字段所属的模块。
    如果是数字,表示自定义模块的id。如果是其他字符串,表示内置模块的名称,如:
    basicInfo 个人信息
    experienceInfo 工作经历
    educationInfo 教育背景

    更新候选人自定义字段

    请求样例

    curl --silent --location --request POST 'https://api.mokahr.com/api-platform/v1/candidate/customField/update' \
    --header 'Authorization: Basic xxxxxxxx' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "updateCustomFieldsReqDTOList": [
            {
                "candidateId": 326567157,
                "orgId": "test",
                "operatorEmail": "xxxx@qq.com",
                "hireMode": 1,
                "customIdAndDetailDTOList": [
                    {
                        "id": 124106,
                        "detail": "2022-11-01 00:00:00",
                        "type": "string_info"
                    }
                ]
            },
            {
            "candidateId": 326563070,
            "orgId": "test",
            "operatorEmail": "xxxx@qq.com",
            "hireMode": 1,
            "customIdAndDetailDTOList": [
                {
                    "id": 124106,
                    "detail": "单行文本",
                    "type": "string_info"
                },
                {
                    "id": 124107,
                    "detail": "1",
                    "type": "text_info"
                }
            ]
        }
      ]
    }'
    

    返回样例

    {
      "code": 0,
      "msg": "success",
      "data": null
    }
    

    每次修改的字段数量不超过300个

    HTTP请求

    post https://api.mokahr.com/api-platform/v1/candidate/customField/update

    请求query

    字段 必填 类型 描述
    updateCustomFieldsReqDTOList array 更新数据
    updateCustomFieldsReqDTOList[].orgId string 租户id
    updateCustomFieldsReqDTOList[].applicationId integer 申请ID
    若传入 application id,优先判断操作人是否有申请权限,否则,根据传入 candidate id,判断操作人是否有候选人的所有申请权限
    updateCustomFieldsReqDTOList[].candidateId integer 候选人id
    updateCustomFieldsReqDTOList[].hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    updateCustomFieldsReqDTOList[].operatorEmail string 操作者邮箱
    updateCustomFieldsReqDTOList[].jobTemplateId long 自定义招聘设置
    若未传(留空),允许更新默认标准简历设置中启用的字段,若入参中字段未被启用,则不处理
    若传具体自定义招聘设置 ID,允许更新自定义招聘设置中启用的字段,若入参中字段未被启用,则不处理
    若传自定义招聘设置,请确保设置 ID 有效(0 或无效 ID 将被校验拦截)
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList array 更新的自定义字段集合
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].id integer 自定义字段id
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].detail string 自定义字段修改后的值
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].type string 自定义字段类型 如果type是date_info或者day_info,detail格式必须是"2022-11-01 00:00:00"这种类型。如果type是date_group_info,则detail格式为{\"startDate\":\"2015-01\",\"endDate\":\"2016-01\"}。
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].attachmentId string 上传附件接口返回的id(通过公共API附件上传接口获取)
    只有当type = custom_file_upload 才有值 如果传了 attachmentId detail 字段可不填,并且会优先 校验 attachmentId 来获取字段信息,如果客户传入 attachmentName 会以传入的attachmentName 为准,否则会校验 attachmentName 和 attachmentSize detail。
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].attachmentName string 文件名称
    只有当type = custom_file_upload 时才是必填项 其他type 非必填
    updateCustomFieldsReqDTOList[].customIdAndDetailDTOList[].attachmentSize Integer 文件大小
    只有当type = custom_file_upload 时才是必填项 其他type 非必填

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明

    获取候选人申请列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/applications
    

    返回样例

    {
      "data": [
        {
          "id": 1,
          "sourceName": "拉勾",
          "headhunterCompany": "好猎头",
          "stageName": "沟通Offer",
          "jobId": "123",
          "updatedAt": "2017-01-01 10:00:00"
        }
      ],
      "next": "8465195468"
    }
    

    获取候选人申请信息

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    fromTime string 数据的开始时间,fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。如果响应中没有next字段,表示没有更多的数据了
    limit string 分页用的每页条数,默认100

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 申请Id
    sourceName string 渠道名称
    headhunterCompany string 猎头公司名称
    stageName string 所在阶段名称
    updatedAt string 本条数据的最近更新时间
    jobId string 申请所在的职位id

    将申请移动到所在职位下的任一阶段

    将申请移动到所在职位下的任一阶段。

    请求样例

    $ curl http://api.mokahr.com/api-platform/v1/applications/move_application_stage?applicationId=96&stageId=4 \
       -u 'your_api_key:' \
       -X PUT \
    

    返回样例

    {
        "code": 0,
        "msg": "成功"
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/move_application_stage?applicationId={applicationId}&stageId={stageId}

    请求参数

    字段 必填 描述
    applicationId 申请id
    stageId 要挪动到的阶段id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 0:设置成功
    1:失败
    msg string 成功

    拉黑候选人

    拉黑候选人

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/blackCandidate' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic ZndyMDAzOg==' \
    --data-raw '{
        "detail": "不222满足",
        "applicationIds": [
            411250318
        ],
        "talentPoolIds": [
            200003266
        ],
        "hireMode": 2,
        "operatorEmail": "fwr003@163.com",
        "tags": "态度恶劣"
    }'
    

    返回样例

    {
        "code": 0,
        "msg": "成功"
    }
    

    HTTP请求

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

    请求参数

    字段 必填 类型 描述
    applicationIds array[integer] 候选人申请ids
    talentPoolIds array[integer] 人才库id
    businessUnitId integer bu的id
    detail string 拉黑详情
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    operatorEmail string 操作人邮箱
    tags string 标签

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 0:设置成功,1:失败
    msg string 成功

    获取招聘流程列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v2/pipelines/getPipelinesList
        -u 'your-api-key:'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": [
            {
                "id": "485",
                "departmentIds": "[3427,15825,47702]",
                "disabled": false,
                "entryConditions": "{\"29083\":{\"match\":\"and\",\"conditions\":[{\"stageId\":9886,\"type\":17,\"status\":1}]}}",
                "hireMode": 1,
                "isOptimizedDeptIds": false,
                "name": "默认招聘流程",
                "stageIds": "[2601,43451,2602,49375,12983,14827,15794,10784,43651,40780,7164,14826,9276,9240,7278,3407,11049,5890,3385,7642,4008,2603,9886,29083,3460,2604,44665,5544,15360,2605]"
            },
            {
                "id": "632",
                "departmentIds": "[47702]",
                "disabled": true,
                "entryConditions": "",
                "hireMode": 1,
                "isOptimizedDeptIds": false,
                "name": "产品招聘流程",
                "stageIds": "[2601,15794,3459,2602,15698,2604,8396,3462,3385,2605]"
            },
            {
                "id": "657",
                "departmentIds": "[]",
                "disabled": false,
                "entryConditions": "",
                "hireMode": 1,
                "isOptimizedDeptIds": true,
                "name": "商业产品部招聘流程",
                "stageIds": "[2601,4009,43143,5890,3385,2603,2604,3479,15352,2605]"
            },
            {
                "id": "3533",
                "departmentIds": "[47702]",
                "disabled": false,
                "entryConditions": "",
                "hireMode": 1,
                "isOptimizedDeptIds": false,
                "name": "报表统计招聘",
                "stageIds": "[2601,3385,4009,4008,7164,9245,2604,6669,2605]"
            }
        ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v2/pipelines/getPipelinesList

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false
    data array or object 如果是单条数据则返回object多条数据返回的是数组
    data.id integer 流程Id
    data.entryConditions string 进入本阶段所需条件,默认',来自常量STAGE_ENTRY_CONDITIONS,json格式
    data.departmentIds string 支持的部门
    data.disabled boolean 是否禁用
    data.hireMode integer 招聘类型
    可选值:
    1 社招
    2 校招
    data.isOptimizedDeptIds boolean 是否优化的部门
    data.stageIds string 阶段id列表
    data.name string 流程名称

    获取阶段信息列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v2/stage/getStagesList 
        -u 'your-api-key:'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": [
            {
                "entryConditions": "[]",
                "disabled": false,
                "operationIds": "[14,1,13,2,11,17]",
                "name": "初筛",
                "type": 100
            },
            {
                "entryConditions": "[]",
                "disabled": false,
                "operationIds": "[2,14,11,17]",
                "name": "用人部门筛选",
                "type": 200
            },
            {
                "entryConditions": "[]",
                "disabled": false,
                "operationIds": "[3,2,9,14,11]",
                "name": "面试",
                "type": 201
            },
            {
                "entryConditions": "[]",
                "disabled": false,
                "operationIds": "[11,14,6,8,7]",
                "name": "沟通offer",
                "type": 101
            },
            {
                "entryConditions": "[]",
                "disabled": false,
                "operationIds": "[10,11,6,15,14,8]",
                "name": "待入职",
                "type": 102
            },
            {
                "entryConditions": "[]",
                "disabled": true,
                "operationIds": "[14,11,5]",
                "name": "笔试阶段",
                "type": 202
            }
        ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v2/stage/getStagesList

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data array or object 如果是单条数据则返回object多条数据返回的是数组
    data.id integer 阶段Id
    data.name string 阶段名称
    data.entryConditions string 进入本阶段所需条件,默认',来自常量STAGE_ENTRY_CONDITIONS,json格式
    data.operationIds string 阶段下哪些操作可用,一个操作对应一种状态类型,json格式
    data.disabled boolean 是否禁用
    data.type number 阶段类型

    查询候选人相关申请

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/candidate/v1/getApplicationStates' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: ' \
    --data-raw '{
        "candidateId": 201232883
    }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data": [
            {
                "applicationId": 411269930,
                "status": "rejected",
                "stageName": "初筛",
                "createdAt": 1662520322000
            }
        ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/v1/getApplicationStates

    请求参数(JSON格式)

    字段 必填 类型 描述
    candidateId long 候选人ID

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data array 候选人申请信息
    data[].applicationId long 候选人ID
    data[].status string 申请的状态
    枚举值:
    in_progress: 在流程中
    rejected: 已拒绝
    hired: 已入职
    data[].stageName string 申请所在当前阶段的名称
    data[].createdAt string 申请创建时间(时间戳)

    移出黑名单

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/talentPool/blackList/remove' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "hireMode": 2,
        "candidateIds": [201252027],
        "operatorEmail": "zongxinqi@mokahr.com"
    }'
    

    返回样例

    {
        "code": 0,
        "msg": "success"
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/talentPool/blackList/remove

    请求参数(JSON格式)

    字段 必填 类型 描述
    candidateIds 否,但是和applicationIds必须传一个,并且最大数量不超过200 List 候选人ID
    applicationIds List 申请ID
    hireMode int 招聘模式 1 社招 2 校招
    operatorEmail string 操作人邮箱

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息

    获取用人部门评估结论

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/candidate/v1/get_handle_Result' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "applicationIdList":[411274410],
      "stageIdList":[123]
    }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data":{
            "applicationId":111,
            "candidateId":2323,
            "stageId":3232,
            "email":"",
            "stageType":100,
            "name":"",
            "handleResult":"reject",
            "handleTime":""
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/v1/get_handle_Result

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIdList List 申请ID合和
    stageIdList List 阶段id集合和

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data.applicationId integer 申请id
    data.candidateId integer 候选人id
    data.stageId integer 阶段id
    data.email string 被推荐人邮箱
    data.stageType integer 阶段类型 100 = 初筛, 200 = 筛选 , 201 = 面试
    data.name string 被推荐人姓名
    data.handleResult string 反馈结果 reject = 拒绝, accept = 通过, noReply = 未反馈
    data.handleTime string 指的是反馈时间yyyy-MM-dd HH:mm:ss
    data.assignerName string 推荐人姓名
    data.assignerEmail string 推荐人邮箱
    data.recommendedTime long 推荐时间

    变更保护期

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/candidate/applications/update_protect_startTime' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "applicationIds":[411274410],
        "protectStartTime":"2023-01-01"
        }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data": true
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/candidate/applications/update_protect_startTime

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIds List 申请ID集合
    protectStartTime string 保护期开始时间(时间戳)该参数仅在Moka CSM后台“保护期时间按当前保护的申请计算”开关开启时有效

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data boolean

    查询候选人相关申请下的阶段

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/candidate/v1/get_candidate_stage' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "applicationIdList":[411274410]
        }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data":{
            "applicationId":111,
            "candidateId":2323,
            "stageId":3232,
            "enteredAt":"",
            "archivedAt":""
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/v1/get_candidate_stage

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIdList List 申请ID合和

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.applicationId integer 申请id
    data.candidateId integer 候选人id
    data.stageId integer 阶段id
    data.archivedAt string 申请归档时间 yyyy-MM-dd HH:mm:ss
    data.enteredAt string 进入阶段时间 yyyy-MM-dd HH:mm:ss

    获取符合条件的申请列表

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform//candidate/v1/application/list_by_pipeline' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "pipelineId": 19,
      "stageId": 56,
      "jobId": "65280789-4e5a-45f0-8956-8148d4b4e55f",
      "lockType": 2,
      "customFieldParmList": [
        {
          "field": "526",
          "fieldType": "number_info",
          "from": "1",
          "to": "6"
        },
        {
          "field": "525",
          "fieldType": "day_info",
          "from": "2023-05-01",
          "to": "2023-05-31"
        },
        {
          "field": "524",
          "fieldType": "date_info",
          "from": "2023-05-01",
          "to": "2023-05-17"
        },
        {
          "field": "522",
          "fieldType": "select_info",
          "value": [
            "1",
            "2"
          ]
        },
        {
          "field": "148",
          "fieldType": "select_info",
          "value": [
            "是"
          ]
        }
      ]
    }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data":{
            "hasMore":111,
            "nextCursor":2323,
            "stageId":3232,
            "dataList":[
                {
                    "candidateId":123,
                    "applicationList":[
                        {
                            "applicationId":123,
                            "jobId":"",
                            "jobTitle":"",
                            "lockType":0
                        }
                    ]
    
                }
            ]
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/v1/application/list_by_pipeline

    请求参数(JSON格式)

    字段 必填 类型 描述
    pipelineId long 流程ID
    stageId long 阶段ID
    jobId string 职位ID
    lockType integer 锁类型,0-无锁;1-黄锁;2-灰锁
    customFieldParmList Object[] 候选人自定义字段参数数组
    customFieldParmList[].field string 自定义字段ID
    customFieldParmList[].value string[] 选中的自定义字段选项数组
    customFieldParmList[].fieldType string 自定义字段类型。要与自定义字段ID对应的字段一致。仅支持
    select_info:选择题
    bool_info:是否题
    date_info:时间选择(年/月)
    number_info: 数字
    day_info:时间选择(年/月/日)
    customFieldParmList[].from string 范围查询时起始的值
    customFieldParmList[].to string 范围查询时结束的值
    nextCursor string 分页参数,第一页next不用填

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.hasMore boolean 下一页是否有返回值,枚举值:true和false
    data.nextCursor string 下一页分页标记
    data.dataList object[] 查询到候选人及申请信息记录列表
    data.dataList[].candidateId long 候选人ID
    data.dataList[].applicationList object[] 满足条件的候选人申请列表
    data.dataList[].applicationList[].applicationId long 申请ID
    data.dataList[].applicationList[].jobId string 职位ID
    data.dataList[].applicationList[].jobTitle string 职位名称
    data.dataList[].applicationList[].lockType integer 锁类型,0-无锁;1-黄锁;2-灰锁

    恢复原状态

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/candidate/application/revert' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "applicationId":411274410,
        "operatorEmail":"lele@example.com"
        }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/application/revert

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationId integer 申请ID
    operatorEmail string 操作人邮箱

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object

    根据申请id批量获取候选人标签

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/candidate/getLabels' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "applicationIds":[411274410,411274334]
        }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "labelInfoList": [
                {
                    "applicationId": 411344001,
                    "candidateId": 201308769,
                    "labelInfoList": [
                        {
                            "id": 8,
                            "label": "空白经历",
                            "type": 1
                        },
                        {
                            "id": 1565,
                            "label": "手工标签",
                            "type": 2
                        }
                    ]
                }
            ]
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/getLabels

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIds array[integer] 候选人申请IDs,最大20

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.labelInfoList[].applicationId integer 申请id
    data.labelInfoList[].candidateId integer 候选人id
    data.labelInfoList[].labelInfoList[].id integer 标签id
    data.labelInfoList[].labelInfoList[].label integer 标签名称
    data.labelInfoList[].labelInfoList[].type integer 标签类型 1智能标签 2 手工标签

    查询简历筛选评价表

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/pipeline/assignment/get' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "hireMode":1
      }'
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data": [
            {
                "feedbackId": 1,
                "feedbackResultList": [
                    {
                        "nameCn": "通过",
                        "nameEn": "Advance",
                        "resultId": 1,
                        "type": "accept"
                    },
                    {
                        "nameCn": "拒绝",
                        "nameEn": "Reject",
                        "resultId": 2,
                        "type": "reject"
                    },
                    {
                        "nameCn": "待定",
                        "nameEn": "Pending",
                        "resultId": 3,
                        "type": "decided"
                    }
                ],
                "isDefault": true,
                "nameCn": "默认筛选评价表",
                "nameEn": "Default evaluation form",
                "descCn":"desc",
                "descEn":""
            }
        ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/pipeline/assignment/get

    请求参数(JSON格式)

    字段 必填 类型 描述
    hireMode integer 招聘模式 1 社招 2 校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object[]
    data[].feedbackId integer 简历筛选评价表ID
    data[].nameCn string 评价表中文名称
    data[].nameEn string 评价表英文名称(如有则返回)
    data[].descCn string 评价表中文描述(如有则返回)
    data[].descEn string 评价表英文描述(如有则返回)
    data[].isDefault boolean 默认筛选评价表标识 true:表示为默认筛选评价表
    data[].feedbackResultList[] object[] 简历筛选评价选项
    data[].feedbackResultList[].resultId integer 评价选项ID
    data[].feedbackResultList[].nameCn string 评价选项中文名称
    data[].feedbackResultList[].nameEn string 评价选项英文名称
    data[].feedbackResultList[].type string 评价选项类型
    accept:正面评价
    reject:负面评价
    decided:中性评价

    根据自定义字段id 更新选项值

    请求样例 shell curl --location --request POST 'http://api.mokahr.com/api-platform/v2/candidate/customField/updateDetail' \ --header 'Authorization: ••••••' \ --header 'Content-Type: application/json' \ --data-raw '{ "type":2, "detailsList":[{ "id":410059485, "valueList":["88"], "codeList":["88"], "supplementaryLocaleList": {"en-US":["777"]} }] }' 返回样例

    {
        "code": 0,
        "msg": "success",
        "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v2/candidate/customField/updateDetail

    请求参数(JSON格式)

    字段 必填 类型 描述
    type integer 操作类型 1 新增 2 删除
    detailsList array 需要操作的自定义字段选项值集合 目前只支持字段类型是选择题的字段做新增或者删除
    detailsList[].id integer 自定义字段id
    detailsList[].codeList array 操作的自定义选项值对应的编码(如果是系统的自定义字段存在编码 是必填的)
    detailsList[].valueList array 操作的自定义选项值
    detailsList[].supplementaryLocaleList object 自定义字段对应的多语言枚举值 格式如下 {"en-US":["1"]}

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object

    根据申请id,获取简历解析文本

    请求样例 shell curl --location --request POST 'http://api.mokahr.com/api-platform/application/resumeContent/get' \ --header 'Authorization: ••••••' \ --header 'Content-Type: application/json' \ --data-raw '{ "applicationId":2 }' 返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "resumeKey": "7ce112hrrr-wrra5-4qf5-8qq4-1b633ww0768.pdf",
            "resumeContent": "张三\n基本情况: 女 | 0岁 | 2015届毕业生 | 共青团员\n最高学历: 长沙理工大学 · 本科"
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/application/resumeContent/get

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationId integer 申请id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.resumeKey string 原始简历key
    data.resumeContent string 简历解析文本

    写入候选人操作记录

    请求样例 shell curl --location 'https://api.mokahr.com/api-platform/candidate/v1/create_activities' \ --header 'Authorization: ••••••' \ --header 'Content-Type: application/json' \ --data '{ "operatorId": 210000293, "applicationId": 411192145, "data": "中文内容", "supplementaryLocales": { "en-US": "english content" } }' 返回样例

    {
        "code": 0,
        "msg": "success",
        "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/candidate/v1/create_activities

    请求参数(JSON格式)

    字段 必填 类型 描述
    operatorId 否,操作人角色应该是HR及以上 Long 操作人ID
    applicationId 否,但是和candidateId必须传一个,都有值默认走applicationId维度 Long 申请ID
    candidateId Long 候选人ID
    data string 中文内容
    supplementaryLocales object 多语言的object 格式如下 {"en-US": "1"}

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:0正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object

    按申请Id单个获取候选人附件信息

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v3/attachments/get \
    --header 'Authorization: ••••••' \
    --header 'Content-Type: application/json' \
    --data '{
        "applicationId": 5567833
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "applicationId": 411342864,
            "attachments4App": [],
            "attachments4Ca": [],
            "candidateId": 201307724,
            "resumeUrl": "https://moka-test.oss-cn-beijing.aliyuncs.com/livingsimple/dd13ecdc-f835-43b4-9fc7-9ed191670bed.doc?Expires=1743267178&OSSAccessKeyId=LTAI5tKxT6DnN7A5m3fDkCMN&Signature=ED6JnRFJTIcw9%2F6HGRZGhfjEL1o%3D&response-content-disposition=attachmE6%2598%2586%25E4%25BB%259112123123%25E7%259A%2584%25E7%25AE%2580%25E5%258E%2586.doc",
            "standardResumeUrl": "https://moka-test.oss-cn-beijing.aliyuncs.com/livingsimple/htmlToPdf-dealer-9f8bb1017c54450da1da5c780291f454.pdf?mlToPdf-dealer-9f8bb1017c54450da1da5c780291f454.pdf%22&timestamp=1743151980240"
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/attachments/get

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationId integer 申请id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.candidateId integer 候选人Id
    data.applicationId integer 申请Id
    data.standardResumeUrl string 标准简历下载链接
    data.resumeUrl string 原始简历下载链接
    data.attachments4App[] object[] 申请附件列表
    data.attachments4App[]. id integer 业务id
    data.attachments4App[]. name integer 候选人附件的文件名(带文件后缀)
    data.attachments4App[].applyFormId integer 登记表模板ID
    data.attachments4App[].size integer 候选人附件的文件大小
    data.attachments4App[].createdAt long 附件上传或生成时间(时间戳格式)
    data.attachments4App[].url string 候选人附件的下载地址
    data.attachments4App[].customFieldId integer 自定义附件字段ID
    data.attachments4App[].customFieldName string 自定义附件字段名称
    data.attachments4App[].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: 邀请候选人更新简历生成的登记表
    ORIGINAL_RESUME: 原始简历附件
    ID_CARD_FRONT: 身份证正面
    ID_CARD_BACK: 身份证反面
    data.attachments4Ca[] object[] 业务ID
    data.attachments4Ca[].id integer 业务ID
    data.attachments4Ca[].name string 候选人附件的文件名(带文件后缀)
    data.attachments4Ca[].applyFormId integer 登记表模板ID
    data.attachments4Ca[].size integer 候选人附件的文件大小
    data.attachments4Ca[].createdAt long 附件上传或生成时间
    data.attachments4Ca[].url string 候选人附件的下载地址
    data.attachments4Ca[].customFieldId integer 自定义附件字段ID
    data.attachments4Ca[].customFieldName string 自定义附件字段名称
    data.attachments4Ca[].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: 邀请候选人更新简历生成的登记表
    ORIGINAL_RESUME: 原始简历附件
    ID_CARD_FRONT: 身份证正面
    ID_CARD_BACK: 身份证反面

    批量获取申请的ehr链接信息

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v3/ehrLinks/get \
    --header 'Authorization: ••••••' \
    --header 'Content-Type: application/json' \
    --data '{
        "applicationIds": [411348665]
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "ehrLinks": [
                {
                    "applicationId": 411348665,
                    "ehrLink": "https://app.mokahr.com/forward/candidate/info?access_token=f788e21297cb43a0a3467c0261d051e5b9c84b0192994e118e27c1e33d6e0107"
                }
            ]
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/ehrLinks/get

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIds array[integer] 申请id,最大长度20

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.ehrLinks[] object[]
    data.ehrLinks[].ehrLink string 候选人ehr链接
    data.ehrLinks[].applicationId integer 候选人申请id

    根据邮箱、手机号、身份证号查询申请信息(最多返回一百条)

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v3/applications/list_by_contact_or_id \
    --header 'Authorization: ••••••' \
    --header 'Content-Type: application/json' \
    --data '{
        "emailList": ["123@qq.com"],
        "phoneList": ["13211123113"],
        "citizenIdList": ["338377211"]
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "applicationList": [
                {
                    "applicationId": 411336681,
                    "appliedAt": 1709120057000,
                    "archiveReasons": {
                        "archiveReasonType": "SYSTEM",
                        "archivedAt": 1729962542000,
                        "id": 1226,
                        "name": "长时间未处理自动淘汰",
                        "type": 4
                    },
                    "archived": true,
                    "candidateBaseInfo": {
                        "activatedAt": 1722233308000,
                        "age": 0,
                        "archived": true,
                        "archivedAt": 1729962542000,
                        "birthDate": 1733025600000,
                        "candidateId": 201307334,
                        "citizen": {
                            "certificateType": 1,
                            "citizenId": null,
                            "idCardSignOrganization": "",
                            "idCardValidity": "[\"2025-03-05\",\"2025-03-21\"]"
                        },
                        "contactInfo": {
                            "countryCallingCode": "86",
                            "email": "123@mokahr.com",
                            "phone": "12345678909"
                        },
                        "createdAt": 1722412883000,
                        "experience": 4,
                        "gender": 2,
                        "graduateSchool": {
                            "academicDegree": 1,
                            "graduateDate": 1640995200000,
                            "lastSchool": "河北工业大学",
                            "lastSpeciality": "西方经济学"
                        },
                        "isBlacklist": false,
                        "name": "四大",
                        "nationality": ""
                    },
                    "createdAt": 1709120057000,
                    "hireMode": 2,
                    "job": {
                        "jobId": "23661249-be3f-47de-8d81-15fa4f894875",
                        "jobTitle": "职位名称"
                    },
                    "movedAt": 1729060403000,
                    "ownerInfo": {
                        "ownerId": null,
                        "ownerName": null
                    },
                    "pipeline": {
                        "name": "默认招聘流程",
                        "pipelineId": 37
                    },
                    "stage": {
                        "name": "面试",
                        "stageId": 58,
                        "stageType": 201
                    },
                    "updatedAt": 1743074331000
                },
                {
                    "applicationId": 411336911,
                    "appliedAt": 1709264021000,
                    "archiveReasons": {
                        "archiveReasonType": null,
                        "archivedAt": null,
                        "id": null,
                        "name": null,
                        "type": null
                    },
                    "archived": false,
                    "candidateBaseInfo": {
                        "activatedAt": 1722233308000,
                        "age": 0,
                        "archived": true,
                        "archivedAt": 1729962542000,
                        "birthDate": 1733025600000,
                        "candidateId": 201307334,
                        "citizen": {
                            "certificateType": 1,
                            "citizenId": null,
                            "idCardSignOrganization": "",
                            "idCardValidity": "[\"2025-03-05\",\"2025-03-21\"]"
                        },
                        "contactInfo": {
                            "countryCallingCode": "86",
                            "email": "123@mokahr.com",
                            "phone": "12345678909"
                        },
                        "createdAt": 1722412883000,
                        "experience": 4,
                        "gender": 2,
                        "graduateSchool": {
                            "academicDegree": 1,
                            "graduateDate": 1640995200000,
                            "lastSchool": "河北工业大学",
                            "lastSpeciality": "西方经济学"
                        },
                        "isBlacklist": false,
                        "name": "四大",
                        "nationality": ""
                    },
                    "createdAt": 1709264021000,
                    "hireMode": 2,
                    "job": {
                        "jobId": "7c8d36c9-3f63-4723-9c20-500a4ac83ea7",
                        "jobTitle": "职位测试1"
                    },
                    "movedAt": 1709264020000,
                    "ownerInfo": {
                        "ownerId": null,
                        "ownerName": null
                    },
                    "pipeline": {
                        "name": "测试",
                        "pipelineId": 200
                    },
                    "stage": {
                        "name": "初筛",
                        "stageId": 56,
                        "stageType": 100
                    },
                    "updatedAt": 1743074931000
                }
            ]
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/applications/list_by_contact_or_id

    请求参数(JSON格式)

    字段 必填 类型 描述
    emailList array[string] 候选人邮箱列表,最大长度20, 邮箱、手机号码、证件号码不允许全部为空
    phoneList array[string] 候选人手机号列表,最大长度20, 邮箱、手机号码、证件号码不允许全部为空
    citizenIdList array[string] 候选人证件号列表,最大长度20, 邮箱、手机号码、证件号码不允许全部为空

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.applicationList[] object[] 申请信息
    data.applicationList[].applicationId integer 申请id
    data.applicationList[].candidateBaseInfo object 候选人基础信息
    data.applicationList[].candidateBaseInfo.candidateId integer 候选人id
    data.applicationList[].candidateBaseInfo .name string 姓名
    data.applicationList[].candidateBaseInfo.gender integer 性别 1 男 2 女
    data.applicationList[].candidateBaseInfo.age integer 年龄
    data.applicationList[].candidateBaseInfo.birthDate long 出生日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.nationality string 国籍
    data.applicationList[].candidateBaseInfo.experience integer 工作经验
    data.applicationList[].candidateBaseInfo.createdAt long 创建时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.archived boolean 是否入库(有任一申请归档过)
    data.applicationList[].candidateBaseInfo.archivedAt long 归档日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.activatedAt long 最后激活时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.isBlacklist boolean 是否在黑名单人才库
    data.applicationList[].candidateBaseInfo.contactInfo object 联系方式
    data.applicationList[].candidateBaseInfo.contactInfo.email string 邮箱
    data.applicationList[].candidateBaseInfo.contactInfo.phone string 手机号
    data.applicationList[].candidateBaseInfo.contactInfo.countryCallingCode string 国家呼叫代码
    data.applicationList[].candidateBaseInfo.graduateSchool object 毕业院校信息
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSpeciality string 毕业专业
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSchool string 毕业学校
    data.applicationList[].candidateBaseInfo.graduateSchool.graduateDate long 毕业时间(时间戳格式)
    data.applicationList[].candidateBaseInfo.graduateSchool.academicDegree integer 学历/学位:1:其他, 2:初中及以下, 3:高中, 4:中专, 5:大专, 6:本科, 7:硕士, 8:MBA, 9:博士
    data.applicationList[].candidateBaseInfo.citizen object 身份证信息
    data.applicationList[].candidateBaseInfo.citizen.citizenId string 证件号码
    data.applicationList[].candidateBaseInfo.citizen.certificateType integer 证件类型1:身份证,2:香港身份证,3:澳门身份证,4:台湾身份证,5:护照,6:其他证件
    data.applicationList[].candidateBaseInfo.citizen.idCardSignOrganization string 签发机关
    data.applicationList[].candidateBaseInfo.citizen.idCardValidity string 证件有效期 格式1:"[\"2025-03-05\",\"2025-03-21\"]" 格式2: "[\"2025-03-07\",\"长期\"]"
    data.applicationList[].job object 职位信息
    data.applicationList[].job.jobId string 职位id
    data.applicationList[].job.jobTitle string 职位名称
    data.applicationList[].pipeline object 流程信息
    data.applicationList[].pipeline.pipelineId integer 流程Id
    data.applicationList[].pipeline. name string 流程名称
    data.applicationList[].stage object 阶段信息
    data.applicationList[].stage.stageId integer 阶段Id
    data.applicationList[].stage. name string 阶段名称
    data.applicationList[].stage.stageType integer 阶段类型,100 初筛型、101 offer型、102 待入职、200 筛选型、201面试型、202 测试型、205 无类型、206试工类型
    data.applicationList[].archived boolean 是否归档
    data.applicationList[].archiveReasons object 归档原因信息
    data.applicationList[].archiveReasons. id integer 归档原因Id
    data.applicationList[].archiveReasons.type integer 归档类型 1 被候选人拒绝 2 被我们拒绝 3 录用 4 系统原因 5 离职
    data.applicationList[].archiveReasons.archiveReasonType integer 归档原因类型,REJECTED_BY_CANDIDATES:被候选人拒绝 REJECTED_BY_US:被我们拒绝 HIRED:录用 SYSTEM:系统原因 CHECKOUT:离职
    data.applicationList[].archiveReasons. name string 归档原因名称
    data.applicationList[].archiveReasons.archivedAt long 归档时间(时间戳格式) 
    data.applicationList[].hireMode integer 招聘模式 1社招 2 校招
    data.applicationList[].appliedAt long 申请时间(时间戳格式) 
    data.applicationList[].createdAt long 创建阶段时间(时间戳格式)
    data.applicationList[].updatedAt long 更新时间(时间戳格式)
    data.applicationList[].movedAt long 移动阶段时间(时间戳格式)
    data.applicationList[].ownerInfo object 申请所有者
    data.applicationList[].ownerInfo.ownerId integer 申请所有者Id
    data.applicationList[].ownerInfo.ownerName string 申请所有者名称

    根据条件查询申请信息(分页)

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v3/applications/list_by_condition \
    --header 'Authorization: ••••••' \
    --header 'Content-Type: application/json' \
    --data '{
        "pipelineIds": [17,87],
        "applicationCreateStartTime": 1722233308000,
        "applicationCreateEndTime":1724911708000
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "applicationList": [
                {
                    "applicationId": 411336681,
                    "appliedAt": 1709120057000,
                    "archiveReasons": {
                        "archiveReasonType": "SYSTEM",
                        "archivedAt": 1729962542000,
                        "id": 1226,
                        "name": "长时间未处理自动淘汰",
                        "type": 4
                    },
                    "archived": true,
                    "candidateBaseInfo": {
                        "activatedAt": 1722233308000,
                        "age": 0,
                        "archived": true,
                        "archivedAt": 1729962542000,
                        "birthDate": 1733025600000,
                        "candidateId": 201307334,
                        "citizen": {
                            "certificateType": 1,
                            "citizenId": null,
                            "idCardSignOrganization": "",
                            "idCardValidity": "[\"2025-03-05\",\"2025-03-21\"]"
                        },
                        "contactInfo": {
                            "countryCallingCode": "86",
                            "email": "123@mokahr.com",
                            "phone": "12345678909"
                        },
                        "createdAt": 1722412883000,
                        "experience": 4,
                        "gender": 2,
                        "graduateSchool": {
                            "academicDegree": 1,
                            "graduateDate": 1640995200000,
                            "lastSchool": "河北工业大学",
                            "lastSpeciality": "西方经济学"
                        },
                        "isBlacklist": false,
                        "name": "四大",
                        "nationality": ""
                    },
                    "createdAt": 1709120057000,
                    "hireMode": 2,
                    "job": {
                        "jobId": "23661249-be3f-47de-8d81-15fa4f894875",
                        "jobTitle": "职位名称"
                    },
                    "movedAt": 1729060403000,
                    "ownerInfo": {
                        "ownerId": null,
                        "ownerName": null
                    },
                    "pipeline": {
                        "name": "默认招聘流程",
                        "pipelineId": 37
                    },
                    "stage": {
                        "name": "面试",
                        "stageId": 58,
                        "stageType": 201
                    },
                    "updatedAt": 1743074331000
                },
                {
                    "applicationId": 411336911,
                    "appliedAt": 1709264021000,
                    "archiveReasons": {
                        "archiveReasonType": null,
                        "archivedAt": null,
                        "id": null,
                        "name": null,
                        "type": null
                    },
                    "archived": false,
                    "candidateBaseInfo": {
                        "activatedAt": 1722233308000,
                        "age": 0,
                        "archived": true,
                        "archivedAt": 1729962542000,
                        "birthDate": 1733025600000,
                        "candidateId": 201307334,
                        "citizen": {
                            "certificateType": 1,
                            "citizenId": null,
                            "idCardSignOrganization": "",
                            "idCardValidity": "[\"2025-03-05\",\"2025-03-21\"]"
                        },
                        "contactInfo": {
                            "countryCallingCode": "86",
                            "email": "123@mokahr.com",
                            "phone": "12345678909"
                        },
                        "createdAt": 1722412883000,
                        "experience": 4,
                        "gender": 2,
                        "graduateSchool": {
                            "academicDegree": 1,
                            "graduateDate": 1640995200000,
                            "lastSchool": "河北工业大学",
                            "lastSpeciality": "西方经济学"
                        },
                        "isBlacklist": false,
                        "name": "四大",
                        "nationality": ""
                    },
                    "createdAt": 1709264021000,
                    "hireMode": 2,
                    "job": {
                        "jobId": "7c8d36c9-3f63-4723-9c20-500a4ac83ea7",
                        "jobTitle": "职位测试1"
                    },
                    "movedAt": 1709264020000,
                    "ownerInfo": {
                        "ownerId": null,
                        "ownerName": null
                    },
                    "pipeline": {
                        "name": "测试",
                        "pipelineId": 200
                    },
                    "stage": {
                        "name": "初筛",
                        "stageId": 56,
                        "stageType": 100
                    },
                    "updatedAt": 1743074931000
                }
            ],
            "next":"eyJuZXh0SWQiOjQxMTM0NTA2MSwibmV4dFVwZGF0ZUF0Ijoi"
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/applications/list_by_condition

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIds array[integer] 申请ids,最大长度20
    candidateIds array[integer] 候选人ids,最大长度20
    jobId string 职位id
    pipelineIds array[integer] 流程ids
    stageIds array[integer] 阶段ids
    hireMode integer 招聘模式.1/2(1社招,2校招,传其他视为没传)
    archived boolean 申请是否归档.true/false(true已归档,false未归档)
    invitationUpdateStatus integer 邀请更新状态,0:未邀请,1:未更新,2:已更新
    updateAtStartTime long 更新开始时间(时间戳格式,最大时间范围3个月)
    updateAtEndTime long 更新结束时间(时间戳格式,最大时间范围3个月)
    applicationCreateStartTime long 数据创建开始时间(时间戳格式,指申请首次被保存至数据库的时间,最大时间范围3个月)
    applicationCreateEndTime long 数据创建结束时间(时间戳格式,指申请首次被保存至数据库的时间,最大时间范围3个月)
    applicationAppliedAtStartTime long 申请创建开始时间(时间戳格式,指系统展示的申请日期,最大时间范围3个月)
    applicationAppliedAtEndTime long 申请创建结束时间(时间戳格式,指系统展示的申请日期,最大时间范围3个月)
    limit integer 分页用的每页条数,默认20,最大20
    next string 分页参数, 只传这一个就可以

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.next string 如果返回则下次请求带上则自动分页
    data.applicationList[] object[] 申请信息
    data.applicationList[].applicationId integer 申请id
    data.applicationList[].candidateBaseInfo object 候选人基础信息
    data.applicationList[].candidateBaseInfo.candidateId integer 候选人id
    data.applicationList[].candidateBaseInfo .name string 姓名
    data.applicationList[].candidateBaseInfo.gender integer 性别 1 男 2 女
    data.applicationList[].candidateBaseInfo.age integer 年龄
    data.applicationList[].candidateBaseInfo.birthDate long 出生日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.nationality string 国籍
    data.applicationList[].candidateBaseInfo.experience integer 工作经验
    data.applicationList[].candidateBaseInfo.createdAt long 创建时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.archived boolean 是否入库(有任一申请归档过)
    data.applicationList[].candidateBaseInfo.archivedAt long 归档日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.activatedAt integer 最后激活时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.isBlacklist boolean 是否在黑名单人才库
    data.applicationList[].candidateBaseInfo.contactInfo object 联系方式
    data.applicationList[].candidateBaseInfo.contactInfo.email string 邮箱
    data.applicationList[].candidateBaseInfo.contactInfo.phone string 手机号
    data.applicationList[].candidateBaseInfo.contactInfo.countryCallingCode string 国家呼叫代码
    data.applicationList[].candidateBaseInfo.graduateSchool object 毕业院校信息
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSpeciality string 毕业专业
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSchool string 毕业学校
    data.applicationList[].candidateBaseInfo.graduateSchool.graduateDate integer 毕业时间
    data.applicationList[].candidateBaseInfo.graduateSchool.academicDegree integer 学历/学位:1:其他, 2:初中及以下, 3:高中, 4:中专, 5:大专, 6:本科, 7:硕士, 8:MBA, 9:博士
    data.applicationList[].candidateBaseInfo.citizen object 身份证信息
    data.applicationList[].candidateBaseInfo.citizen.citizenId string 证件号码
    data.applicationList[].candidateBaseInfo.citizen.certificateType integer 证件类型1:身份证,2:香港身份证,3:澳门身份证,4:台湾身份证,5:护照,6:其他证件
    data.applicationList[].candidateBaseInfo.citizen.idCardSignOrganization string 签发机关
    data.applicationList[].candidateBaseInfo.citizen.idCardValidity string 证件有效期 格式:"[\"2025-03-05\",\"2025-03-21\"]"
    data.applicationList[].job object 职位信息
    data.applicationList[].job.jobId string 职位id
    data.applicationList[].job.jobTitle string 职位名称
    data.applicationList[].pipeline object 流程信息
    data.applicationList[].pipeline.pipelineId integer 流程Id
    data.applicationList[].pipeline. name string 流程名称
    data.applicationList[].stage object 阶段信息
    data.applicationList[].stage.stageId integer 阶段Id
    data.applicationList[].stage. name string 阶段名称
    data.applicationList[].stage.stageType integer 阶段类型,100 初筛型、101 offer型、102 待入职、200 筛选型、201面试型、202 测试型、205 无类型、206试工类型
    data.applicationList[].archived boolean 是否归档
    data.applicationList[].archiveReasons object 归档原因信息
    data.applicationList[].archiveReasons. id integer 归档原因Id
    data.applicationList[].archiveReasons.type integer 归档类型 1 被候选人拒绝 2 被我们拒绝 3 录用 4 系统原因 5 离职
    data.applicationList[].archiveReasons.archiveReasonType integer 归档原因类型,REJECTED_BY_CANDIDATES:被候选人拒绝 REJECTED_BY_US:被我们拒绝 HIRED:录用 SYSTEM:系统原因 CHECKOUT:离职
    data.applicationList[].archiveReasons. name string 归档原因名称
    data.applicationList[].archiveReasons.archivedAt long 归档时间(时间戳格式) 
    data.applicationList[].hireMode integer 招聘模式 1社招 2 校招
    data.applicationList[].appliedAt long 申请时间(时间戳格式) 
    data.applicationList[].createdAt long 创建阶段时间(时间戳格式)
    data.applicationList[].updatedAt long 更新时间(时间戳格式)
    data.applicationList[].movedAt long 移动阶段时间(时间戳格式)
    data.applicationList[].ownerInfo object 申请所有者
    data.applicationList[].ownerInfo.ownerId integer 申请所有者Id
    data.applicationList[].ownerInfo.ownerName string 申请所有者名称

    根据申请Id批量获取候选人信息

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v3/data/getApplictaions\
    --header 'Authorization: ••••••' \
    --header 'Content-Type: application/json' \
    --data '{
        "applicationIds": [411348665]
    }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "applicationList": [
                {
                    "aimWorkCity": null,
                    "applicationId": 411348665,
                    "appliedAt": 1744702215000,
                    "archiveReasons": {
                        "archiveReasonType": null,
                        "archivedAt": null,
                        "id": null,
                        "name": null,
                        "type": null
                    },
                    "archived": false,
                    "candidateBaseInfo": {
                        "activatedAt": null,
                        "age": 23,
                        "archived": true,
                        "archivedAt": 1740043077000,
                        "birthDate": 1004673600000,
                        "candidateId": 201308793,
                        "citizen": {
                            "certificateType": 1,
                            "citizenId": "513426200111024713",
                            "idCardSignOrganization": "",
                            "idCardValidity": ""
                        },
                        "contactInfo": {
                            "countryCallingCode": "86",
                            "email": "2911890697@qq.com",
                            "phone": "18228735128"
                        },
                        "createdAt": 1731651173000,
                        "experience": 1,
                        "gender": 1,
                        "graduateSchool": {
                            "academicDegree": 1,
                            "graduateDate": null,
                            "lastSchool": "清华大学",
                            "lastSpeciality": null
                        },
                        "isBlacklist": false,
                        "name": "乔峰",
                        "nationality": null
                    },
                    "candidateInfo": {
                        "additionalInfo": {
                            "personalInterests": null,
                            "personalUrl": null,
                            "skill": null
                        },
                        "awardInfo": [],
                        "birthYear": 2001,
                        "candidateId": 201308793,
                        "customFieldList": [
                            {
                                "builtinInfoId": null,
                                "candidateId": 201308793,
                                "customFieldId": 225230,
                                "index": 0,
                                "name": "自定义字段单选",
                                "now": null,
                                "section": "jobIntention",
                                "value": 110102
                            }
                        ],
                        "educationInfo": [
                            {
                                "academicDegree": 1,
                                "endTime": null,
                                "id": 202305356,
                                "now": false,
                                "school": "清华大学",
                                "speciality": null,
                                "startTime": null
                            }
                        ],
                        "ethnic": 58,
                        "experienceInfo": [],
                        "intentionInfo": {
                            "aimSalary": null,
                            "forwardIndustry": null,
                            "forwardLocation": "发"
                        },
                        "interestSource": [
                            {
                                "id": null,
                                "level": 1,
                                "name": "校招门户"
                            },
                            {
                                "id": 410239017,
                                "level": 2,
                                "name": "9999"
                            },
                            {
                                "id": 0,
                                "level": 3,
                                "name": "自然流量"
                            }
                        ],
                        "languageInfo": [],
                        "nativePlace": null,
                        "political": null,
                        "portrait": null,
                        "portraitUrl": null,
                        "practiceInfo": [],
                        "projectInfo": [],
                        "salary": null,
                        "switchStatus": null
                    },
                    "checkinInfo": {
                        "correctedAt": null,
                        "headcountId": null,
                        "probation": null
                    },
                    "createdAt": 1744702215000,
                    "hireMode": 2,
                    "invitationUpdateStatus": 0,
                    "job": {
                        "jobId": "8ec55ea0-e437-4875-92b2-1fffaef946a8",
                        "jobTitle": "校招"
                    },
                    "lockInfo": {
                        "lockId": null,
                        "lockType": null,
                        "lockedAt": null
                    },
                    "movedAt": 1744702214000,
                    "ownerInfo": {
                        "ownerId": null,
                        "ownerName": null
                    },
                    "pipeline": {
                        "name": "默认招聘流程",
                        "pipelineId": 37
                    },
                    "sourceInfo": {
                        "category": "校招门户",
                        "recommendReason": null,
                        "recommenderId": null,
                        "sourceId": 410239017,
                        "sourceName": "9999",
                        "sourceType": 2
                    },
                    "stage": {
                        "name": "初筛",
                        "stageId": 56,
                        "stageType": 100
                    },
                    "updatedAt": 1744709040000
                }
            ]
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/data/getApplictaions

    请求参数(JSON格式)

    字段 必填 类型 描述
    applicationIds array[integer] 申请id,最大长度20

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false或者对应的错误信息
    data object
    data.applicationList[] object[] 申请信息
    data.applicationList[].applicationId integer 申请id
    data.applicationList[].aimWorkCity string 意向工作城市
    data.applicationList[].invitationUpdateStatus integer 邀请更新简历状态:0:未邀请,1:未更新,2:已更新
    data.applicationList[].candidateBaseInfo object 候选人基础信息
    data.applicationList[].candidateBaseInfo.candidateId integer 候选人id
    data.applicationList[].candidateBaseInfo .name string 姓名
    data.applicationList[].candidateBaseInfo.gender integer 性别 1 男 2 女
    data.applicationList[].candidateBaseInfo.age integer 年龄
    data.applicationList[].candidateBaseInfo.birthDate long 出生日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.nationality string 国籍
    data.applicationList[].candidateBaseInfo.experience integer 工作经验
    data.applicationList[].candidateBaseInfo.createdAt long 创建时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.archived boolean 是否入库(有任一申请归档过)
    data.applicationList[].candidateBaseInfo.archivedAt long 归档日期(时间戳格式) 
    data.applicationList[].candidateBaseInfo.activatedAt integer 最后激活时间(时间戳格式) 
    data.applicationList[].candidateBaseInfo.isBlacklist boolean 是否在黑名单人才库
    data.applicationList[].candidateBaseInfo.contactInfo object 联系方式
    data.applicationList[].candidateBaseInfo.contactInfo.email string 邮箱
    data.applicationList[].candidateBaseInfo.contactInfo.phone string 手机号
    data.applicationList[].candidateBaseInfo.contactInfo.countryCallingCode string 国家呼叫代码
    data.applicationList[].candidateBaseInfo.graduateSchool object 毕业院校信息
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSpeciality string 毕业专业
    data.applicationList[].candidateBaseInfo.graduateSchool.lastSchool string 毕业学校
    data.applicationList[].candidateBaseInfo.graduateSchool.graduateDate long 毕业时间(时间戳格式)
    data.applicationList[].candidateBaseInfo.graduateSchool.academicDegree integer 学历/学位:1:其他, 2:初中及以下, 3:高中, 4:中专, 5:大专, 6:本科, 7:硕士, 8:MBA, 9:博士
    data.applicationList[].candidateBaseInfo.citizen object 身份证信息
    data.applicationList[].candidateBaseInfo.citizen.citizenId string 证件号码
    data.applicationList[].candidateBaseInfo.citizen.certificateType integer 证件类型1:身份证,2:香港身份证,3:澳门身份证,4:台湾身份证,5:护照,6:其他证件
    data.applicationList[].candidateBaseInfo.citizen.idCardSignOrganization string 签发机关
    data.applicationList[].candidateBaseInfo.citizen.idCardValidity string 证件有效期 格式:"[\"2025-03-05\",\"2025-03-21\"]"
    data.applicationList[].job object 职位信息
    data.applicationList[].job.jobId string 职位id
    data.applicationList[].job.jobTitle string 职位名称
    data.applicationList[].pipeline object 流程信息
    data.applicationList[].pipeline.pipelineId integer 流程Id
    data.applicationList[].pipeline. name string 流程名称
    data.applicationList[].stage object 阶段信息
    data.applicationList[].stage.stageId integer 阶段Id
    data.applicationList[].stage. name string 阶段名称
    data.applicationList[].stage.stageType integer 阶段类型,100 初筛型、101 offer型、102 待入职、200 筛选型、201面试型、202 测试型、205 无类型、206试工类型
    data.applicationList[].archived boolean 是否归档
    data.applicationList[].archiveReasons object 归档原因信息
    data.applicationList[].archiveReasons. id integer 归档原因Id
    data.applicationList[].archiveReasons.type integer 归档类型 1 被候选人拒绝 2 被我们拒绝 3 录用 4 系统原因 5 离职
    data.applicationList[].archiveReasons.archiveReasonType integer 归档原因类型,REJECTED_BY_CANDIDATES:被候选人拒绝 REJECTED_BY_US:被我们拒绝 HIRED:录用 SYSTEM:系统原因 CHECKOUT:离职
    data.applicationList[].archiveReasons. name string 归档原因名称
    data.applicationList[].archiveReasons.archivedAt long 归档时间(时间戳格式) 
    data.applicationList[].hireMode integer 招聘模式 1社招 2 校招
    data.applicationList[].appliedAt long 申请时间(时间戳格式) 
    data.applicationList[].createdAt long 创建时间(时间戳格式)
    data.applicationList[].updatedAt long 更新时间(时间戳格式)
    data.applicationList[].movedAt long 移动阶段时间(时间戳格式)
    data.applicationList[].ownerInfo object 申请所有者
    data.applicationList[].ownerInfo.ownerId integer 申请所有者Id
    data.applicationList[].ownerInfo.ownerName string 申请所有者名称
    data.applicationList[].candidateInfo object 候选人详细信息
    data.applicationList[].candidateInfo.candidateId integer 候选人Id
    data.applicationList[].candidateInfo.portrait string 头像(照片)key
    data.applicationList[].candidateInfo.portraitUrl string 头像(照片)下载地址,有过期时间,默认一天
    data.applicationList[].candidateInfo.political integer 政治面貌 1 中共党员 2 中共预备党员 3 共青团员 4 民革党员 5 民盟盟员 6 民建会员 7 民进会员 8 农工党党员 9 致公党党员 10 九三学社社员 11 台盟盟员 12 无党派人士 13 群众
    data.applicationList[].candidateInfo.birthYear integer 出生年份
    data.applicationList[].candidateInfo.ethnic integer 民族 1:独龙族,2:阿昌族,3:满族,4:东乡族,5:傣族,6:朝鲜族,7:高山族,8:珞巴族,9:鄂伦春族,10:侗族,11:哈尼族,12:畲族,13:水族,14:瑶族,15:彝族,16:鄂温克族,17:土族,18:乌孜别克族,19:普米族,20:裕固族,21:京族,22:壮族,23:汉族,24:保安族,25:塔吉克族,26:仡佬族,27:布朗族,28:蒙古族,29:穿青人,30:回族,31:仫佬族,32:撒拉族,33:哈萨克族,34:景颇族,35:塔塔尔族,36:苗族,37:羌族,38:纳西族,39:黎族,40:基诺族,41:赫哲族,42:锡伯族,43:佤族,44:土家族,45:毛南族,46:柯尔克孜族,47:德昂族,48:藏族,49:怒族,50:维吾尔族,51:傈僳族,52:白族,53:拉祜族,54:门巴族,55:俄罗斯族,56:达斡尔族,57:布依族,58:未知
    data.applicationList[].candidateInfo.nativePlace integer 候选人籍贯 格式为国家行政编码 行政区划代码 6位码
    data.applicationList[].candidateInfo.salary string 薪资
    data.applicationList[].candidateInfo.switchStatus integer 在职状态 1 在职 2离职
    data.applicationList[].candidateInfo.additionalInfo object 候选人附加信息
    data.applicationList[].candidateInfo.skill string 技能
    data.applicationList[].candidateInfo.personalInterests string 兴趣爱好
    data.applicationList[].candidateInfo.personalUrl string 个人链接
    data.applicationList[].candidateInfo.educationInfo[] object[] 候选人教育经历
    data.applicationList[].candidateInfo.educationInfo[]. id integer 教育经历id
    data.applicationList[].candidateInfo.educationInfo[].school string 学校
    data.applicationList[].candidateInfo.educationInfo[].speciality string 专业
    data.applicationList[].candidateInfo.educationInfo[].academicDegree integer 学历 1 其他 2 初中及以下 3 高中 4 中专 5 大专 6 本科 7 硕士 8 MBA 9 博士
    data.applicationList[].candidateInfo.educationInfo[].startTime long 开始时间(时间戳格式)
    data.applicationList[].candidateInfo.educationInfo[].endTime long 结束时间(时间戳格式)
    data.applicationList[].candidateInfo.educationInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endTime的值将可能为任意值,直接忽略endTime即可
    data.applicationList[].candidateInfo.experienceInfo[] object[] 候选人工作经历
    data.applicationList[].candidateInfo.experienceInfo[]. id integer 工作经历id
    data.applicationList[].candidateInfo.experienceInfo[].company string 公司
    data.applicationList[].candidateInfo.experienceInfo[].title string 任职职位名称
    data.applicationList[].candidateInfo.experienceInfo[].summary string 工作职责
    data.applicationList[].candidateInfo.experienceInfo[].location string 工作地点
    data.applicationList[].candidateInfo.experienceInfo[].industry string 所在行业
    data.applicationList[].candidateInfo.experienceInfo[].leader string 汇报对象
    data.applicationList[].candidateInfo.experienceInfo[].size string 公司规模
    data.applicationList[].candidateInfo.experienceInfo[].type string 公司性质
    data.applicationList[].candidateInfo.experienceInfo[].department string 所在部门
    data.applicationList[].candidateInfo.experienceInfo[].reasonForLeaving string 离职原因
    data.applicationList[].candidateInfo.experienceInfo[].salary string 薪资
    data.applicationList[].candidateInfo.experienceInfo[].underlingNumber string 下属人数
    data.applicationList[].candidateInfo.experienceInfo[].startTime long 开始时间(时间戳格式)
    data.applicationList[].candidateInfo.experienceInfo[].endTime long 结束时间(时间戳格式)
    data.applicationList[].candidateInfo.experienceInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endTime的值将可能为任意值,直接忽略endTime即可
    data.applicationList[].candidateInfo.awardInfo[] object[] 候选人获奖信息
    data.applicationList[].candidateInfo.awardInfo[]. id integer 获奖经历id
    data.applicationList[].candidateInfo.awardInfo[]. awardDate string 获奖时间
    data.applicationList[].candidateInfo.awardInfo[]. awardName string 奖项名称
    data.applicationList[].candidateInfo.customFieldList[] object[] 候选人扩展信息
    data.applicationList[].candidateInfo.customFieldList[].customFieldId integer 自定义字段id
    data.applicationList[].candidateInfo.customFieldList[].candidateId integer 候选人id
    data.applicationList[].candidateInfo.customFieldList[]. name string 自定义字段名称
    data.applicationList[].candidateInfo.customFieldList[].value object 自定义字段值,这个根据字段类型返回不同类型的值
    data.applicationList[].candidateInfo.customFieldList[].section string 字段归属模块,声明是以下哪个父级下的自定义字段: basicInfo 个人信息 jobIntention 求职意向 experienceInfo 工作经历 educationInfo 教育背景 practiceInfo 实习经历projectInfo 项目经验 languageInfo 语言能力 selfDescription 自我描述 awardInfo 获奖经历
    data.applicationList[].candidateInfo.customFieldList[].now boolean 当自定义字段是时间段时存在该字段,标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endTime的值将可能为任意值,直接忽略endTime即可
    data.applicationList[].candidateInfo.customFieldList[].index integer 索引,对于experienceInfo、educationInfo或者自定义模块(如紧急联系人)等存在多条数据的模块,index表示这个字段是第几条数据的自定义字段信息
    data.applicationList[].candidateInfo.customFieldList[].builtinInfoId integer 定位自定义信息与所属模块,如某自定义信息对应具体哪段工作经历或哪段教育经历
    data.applicationList[].candidateInfo.projectInfo[] object[] 候选人项目经历
    data.applicationList[].candidateInfo.projectInfo[]. id integer 项目经历id
    data.applicationList[].candidateInfo.projectInfo[].candidateId integer 候选人id
    data.applicationList[].candidateInfo.projectInfo[].projectName string 项目名字
    data.applicationList[].candidateInfo.projectInfo[].projectDescription string 项目描述
    data.applicationList[].candidateInfo.projectInfo[].title string 担任职务
    data.applicationList[].candidateInfo.projectInfo[].responsibilities string 项目中职责
    data.applicationList[].candidateInfo.projectInfo[].startTime long 开始时间(时间戳格式)
    data.applicationList[].candidateInfo.projectInfo[].endTime long 结束时间(时间戳格式)
    data.applicationList[].candidateInfo.projectInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endTime的值将可能为任意值,直接忽略endTime即可
    data.applicationList[].candidateInfo.languageInfo object[] 候选人语言信息
    data.applicationList[].candidateInfo.languageInfo[]. id integer 语言信息id
    data.applicationList[].candidateInfo.languageInfo[].language string 语言类型
    data.applicationList[].candidateInfo.languageInfo[].level string 掌握程度
    data.applicationList[].candidateInfo.languageInfo[].listenAndSpeak string 听说能力
    data.applicationList[].candidateInfo.languageInfo[].readAndWrite string 读写能力
    data.applicationList[].candidateInfo.practiceInfo[] object[] 候选人实习经历
    data.applicationList[].candidateInfo.practiceInfo[].id integer 项目经历id
    data.applicationList[].candidateInfo.practiceInfo[].candidateId integer 候选人id
    data.applicationList[].candidateInfo.practiceInfo[].company string 公司名称
    data.applicationList[].candidateInfo.practiceInfo[].title string 职位名称
    data.applicationList[].candidateInfo.practiceInfo[].summary string 工作职责
    data.applicationList[].candidateInfo.practiceInfo[].location string 职位地点
    data.applicationList[].candidateInfo.practiceInfo[].industry string 所在行业
    data.applicationList[].candidateInfo.practiceInfo[].leader string 汇报对象
    data.applicationList[].candidateInfo.practiceInfo[].size string 公司规模
    data.applicationList[].candidateInfo.practiceInfo[].type string 公司性质
    data.applicationList[].candidateInfo.practiceInfo[].department string 所在部门
    data.applicationList[].candidateInfo.practiceInfo[].salary string 薪资
    data.applicationList[].candidateInfo.practiceInfo[].startTime long 开始时间(时间戳格式)
    data.applicationList[].candidateInfo.practiceInfo[].endTime long 结束时间(时间戳格式)
    data.applicationList[].candidateInfo.practiceInfo[].now boolean 标识结束时间是否为“至今”。当结束时间为至今时,now=true,此时endTime的值将可能为任意值,直接忽略endTime即可
    data.applicationList[].candidateInfo.interestSource[] object[] 候选人利益渠道信息
    data.applicationList[].candidateInfo.interestSource[].id integer 利益渠道id
    data.applicationList[].candidateInfo.interestSource[].name string 名称
    data.applicationList[].candidateInfo.interestSource[].level integer 等级
    data.applicationList[].candidateInfo.intentionInfo object 候选人意向信息
    data.applicationList[].candidateInfo.intentionInfo.forwardIndustry string 期望行业
    data.applicationList[].candidateInfo.intentionInfo.aimSalary string 期望薪资
    data.applicationList[].candidateInfo.intentionInfo.forwardLocation string 期望城市
    data.applicationList[].checkinInfo object 入职信息
    data.applicationList[].checkinInfo.probation integer 试用期 单位 月
    data.applicationList[].checkinInfo.correctedAt long 转正时间(时间戳格式)
    data.applicationList[].checkinInfo.headcountId integer 招聘需求Id
    data.applicationList[].lockInfo object 锁定信息
    data.applicationList[].lockType integer 锁定类型 1:全流程黄锁 2:全流程灰锁 3:项目制黄锁 4:项目制灰锁 5:集团黄锁 6:集团灰锁 7:阶段黄锁 8:阶段灰锁
    data.applicationList[].lockedAt long 锁定时间(时间戳格式)
    data.applicationList[].lockId integer 锁定id
    data.applicationList[].sourceInfo object 渠道信息
    data.applicationList[].sourceInfo.sourceId integer 来源Id
    data.applicationList[].sourceInfo.sourceName string 来源名称
    data.applicationList[].sourceInfo.sourceType integer 简历来源:1 主动搜索, 2 主动投递, 3 内部推荐,4 猎头推荐
    data.applicationList[].sourceInfo.recommenderId integer 推荐人Id,用于内部推荐和猎头推荐
    data.applicationList[].sourceInfo.recommendReason string 推荐理由,用于内部推荐和猎头推荐
    data.applicationList[].sourceInfo.category string 渠道分类信息

    人才库API

    查询人才库列表

    返回值为该客户下设置的人才库列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/talentPool/list?hireMode=1 \
       -u 'your_api_key:' \
       -X GET \
    
    [
      {
        "id": 115,
        "name": "系统入职人才库",
        "description": "保存已入职的员工,仅对授权用户、管理员及以上权限用户可见",
        "hire_mode": 1,
        "isPrivate": 0
      },
      {
        "id": 116,
        "name": "系统公共人才库",
        "description": "所有HR权限及以上用户可见,用户可浏览公共人才库中所有候选人",
        "hire_mode": 1,
        "isPrivate": 0
      },
      {
        "id": 117,
        "name": "系统黑名单",
        "description": "",
        "hire_mode": 1,
        "isPrivate": 0
      }
    ]
    

    传range参数视为新版本,返回样例

    {
        "success": true,
        "msg": "success",
        "data": [{
                "id": 21,
                "name": "系统入职人才库",
                "description": "所有HR权限及以上用户可见,用户可浏览其相关职位下的已入职候选人",
                "hireMode": 1,
                "isPrivate": 0,
                "creatorId": null,
                "authUsers": []
            },
            {
                "id": 22,
                "name": "系统公共人才库",
                "description": "所有HR权限及以上用户可见,用户可浏览公共人才库中所有候选人",
                "hireMode": 1,
                "isPrivate": 0,
                "creatorId": null,
                "authUsers": []
            },
            {
                "id": 36,
                "name": "测试111",
                "description": "",
                "hireMode": 1,
                "isPrivate": 1,
                "creatorId": 1,
                "authUsers": [{
                        "userId": 1,
                        "name": "haha",
                        "email": "haha@trymoka.com",
                        "phone": "18812345678",
                        "number": null
                    },
                    {
                        "userId": 16,
                        "name": "small hr ceshi",
                        "email": "why_pm@163.com",
                        "phone": null,
                        "number": null
                    }
                ]
            },
            {
                "id": 203,
                "name": "系统黑名单",
                "description": null,
                "hireMode": 1,
                "isPrivate": 0,
                "creatorId": null,
                "authUsers": []
            }
        ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/talentPool/list?hireMode=1

    请求参数

    字段 必填 描述
    hireMode 可选值:1:社招
    2: 校招模式 不传默认所有模式
    range open/all 人才库返回数据的范围(不传或者传open默认返回除入职库和黑名单库之外的公共人才库)

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 人才库id
    name string 人才库名称
    description string 描述
    hire_mode integer 可选值:
    1:社招模式
    2:校招模式
    isPrivate integer 可选值:
    0:私有库
    1:公共库
    creatorId integer 创建者ID
    authUsers Array 有权限的用户
    authUsers[].userId integer 有权限的用户ID
    authUsers[].name string 有权限的用户姓名
    authUsers[].email string 有权限的用户邮箱
    authUsers[].phone string 有权限的用户电话
    authUsers[].number string 有权限的用户工号

    查询人才库下候选人

    返回值为该客户下人才库里候选人相关信息 分页返回一页20条数据

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/talentPool/candidates?archivedAtStart=2019-06-01&archivedAtEnd=2019-11-01&talentPoolIds=[666,888] \
       -u 'your_api_key:' \
       -X GET \
    

    返回样例

    {
        "success": true,
        "data": {
            "candidates": [{
                    "id": 4293,
                    "name": "姜浩",
                    "email": "82355110791@qq.com",
                    "phone": "18762604190",
                    "gender": "男",
                    "birthYear": null,
                    "ethnic": null,
                    "nationality": null,
                    "nativePlace": null,
                    "highestDegree": null,
                    "certificateType": 1,
                    "citizenId": null,
                    "location": null,
                    "candidateArchivedAt": "2019-10-30T07:28:26.000Z",
                    "archiveHistory": [{
                        "id": 39131,
                        "stageId": 56,
                        "stage": "初筛",
                        "archivedAt": "2019-10-30T07:28:26.000Z",
                        "archiveReasonId": 1113,
                        "archiveReason": "加入黑名单",
                        "archiveType": "系统原因",
                        "archiveDetail": null,
                        "blacklistTags": "态度恶劣,简历造假",
                        "blacklistDetail": "789"
                    }],
                    "talentPools": [{
                        "talentPoolId": 203,
                        "talentPoolName": "系统黑名单"
                    }]
                }, {
                    "id": 21906,
                    "name": "fanhaha",
                    "email": "fanhaha@mokahr.com",
                    "phone": null,
                    "gender": null,
                    "birthYear": null,
                    "ethnic": null,
                    "nationality": null,
                    "nativePlace": null,
                    "highestDegree": null,
                    "certificateType": 1,
                    "candidateArchivedAt": "2019-10-17T05:26:57.000Z",
                    "archiveHistory": [{
                        "id": 39162,
                        "stageId": 56,
                        "stage": "初筛",
                        "archivedAt": "2019-10-17T05:26:57.000Z",
                        "archiveReasonId": 7,
                        "archiveReason": "胜任力不足",
                        "archiveType": "我们拒绝了候选人",
                        "archiveDetail": null
                    }],
                    "talentPools": [{
                        "talentPoolId": 22,
                        "talentPoolName": "系统公共人才库"
                    }]
                },
                {
                    "id": 8805,
                    "name": "邓婷婷",
                    "email": "18857886047@163.com",
                    "phone": "18857886047",
                    "gender": "女",
                    "birthYear": 1990,
                    "ethnic": null,
                    "nationality": null,
                    "nativePlace": null,
                    "highestDegree": null,
                    "certificateType": 1,
                    "candidateArchivedAt": "2019-10-17T05:26:57.000Z",
                    "archiveHistory": [{
                            "id": 15793,
                            "stageId": 56,
                            "stage": "初筛",
                            "archivedAt": "2017-08-18T07:51:24.000Z",
                            "archiveReasonId": 96,
                            "archiveReason": "淘汰",
                            "archiveType": "我们拒绝了候选人",
                            "archiveDetail": null
                        },
                        {
                            "id": 39132,
                            "stageId": 56,
                            "stage": "初筛",
                            "archivedAt": "2019-10-17T05:26:57.000Z",
                            "archiveReasonId": 7,
                            "archiveReason": "胜任力不足",
                            "archiveType": "我们拒绝了候选人",
                            "archiveDetail": null
                        }
                    ],
                    "talentPools": [{
                            "talentPoolId": 37,
                            "talentPoolName": "中级产品类"
                        },
                        {
                            "talentPoolId": 22,
                            "talentPoolName": "系统公共人才库"
                        }
                    ]
                }
            ],
            "nextCursor": "eyJjYW5kaWRhdGVJZCI6MTQzMzR9"
        }
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/talentPool/candidates?archivedAtStart=2019-06-01&archivedAtEnd=2019-11-01

    请求参数

    字段 必填 类型 描述
    archivedAtStart string 归档时间下限
    archivedAtEnd string 归档时间上限
    talentPoolIds Array 人才库ID列表
    nextCursor string 下一页(每页20条)分页标记

    返回

    返回data的candidates字段信息如下:

    字段 类型 描述
    id integer 候选人ID
    name string 姓名
    email string 邮箱
    phone string 电话
    gender string 性别
    birthYear string 出生年份
    ethnic string 民族
    nationality string 国籍
    nativePlace string 籍贯
    highestDegree string 最高学历
    certificateType integer 证件类型
    可选值:
    1:身份证
    2:香港身份证
    3:澳门身份证
    4:台湾身份证
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证
    citizenId string 身份证号
    location string 所在地
    candidateArchivedAt string 候选人最后被归档的时间
    archiveHistory Array 申请归档记录
    archiveHistory[].id integer 申请ID
    archiveHistory[].stageId integer 申请归档前阶段ID
    archiveHistory[].stage string 申请归档前阶段名
    archiveHistory[].archivedAt string 申请归档时间
    archiveHistory[].archiveReasonId integer 归档原因ID
    archiveHistory[].archiveReason string 归档原因
    archiveHistory[].archiveType string 归档类型
    archiveHistory[].archiveDetail string 归档详情
    archiveHistory[].blacklistTags string 黑名单标签(只有黑名单库有)
    archiveHistory[].blacklistDetail string 黑名单原因(只有黑名单库有)
    talentPools Array 当前候选人所在的人才库列表
    talentPools[].talentPoolId integer 人才库ID
    talentPools[].talentPoolName string 人才库名字

    查询用户拒绝类型的归档原因列表

    返回值为该客户下设置的所有拒绝原因,含系统默认和自定义

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/archiveReasons \
       -u 'your_api_key:' \
       -X GET \
    

    返回样例

    {
      "success": true,
      "data": [
        {
          "id": 419,
          "name": "福利待遇不满足",
          "type": 1
        },
        {
          "id": 420,
          "name": "工作地点较远",
          "type": 1
        },
        {
          "id": 421,
          "name": "有更好的机会",
          "type": 1
        },
        {
          "id": 422,
          "name": "对公司业务不感兴趣",
          "type": 1
        },
        {
          "id": 423,
          "name": "其他",
          "type": 1
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/archiveReasons

    请求参数

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 归档原因id
    name string 归档原因
    type integer 归档原因类型
    可选值:
    1:被候选人拒绝
    2:被我们拒绝

    移动/复制候选人到指定的人才库

    移动/复制候选人到指定的人才库

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/reserveOtherTalentPool' \
                --header 'Authorization: Basic ZndyMDAzOg==' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "candidateIds": [
                        201214451
                    ],
                    "hireMode": 2,
                    "fromTalentPoolId": 200003160,
                    "toTalentPoolIds": [
                        200003270
                    ],
                    "archiveMode": "cut",
                    "operatorEmail": "liutao1@mokahr.com"
                }'
    

    返回样例

    {
        "code": 0,
        "msg": "成功"
    }
    

    HTTP请求

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

    请求参数

    字段 必填 类型 描述
    archiveMode string 储备到其他人才库的方式 cut/copy
    candidateIds array[integer] 候选人ids
    toTalentPoolIds array[integer] 人才库id
    fromTalentPoolId integer 当前人才库id
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    operatorEmail string 操作人邮箱

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 0:设置成功
    1:失败
    msg string 成功

    归档申请:是否发拒信功能

    归档申请:是否发拒信功能

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/archiveApplicationToTalentPool' \
                --header 'Authorization: Basic ZndyMDAzOg==' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "reasonId": 2455,
                    "detail": "不满足",
                    "applicationIds": [
                        411250317
                    ],
                    "talentPoolIds": [
                        200003160
                    ],
                    "hireMode": 2,
                    "operatorEmail": "fwr003@163.com"
                }'
    

    返回样例

    {
        "code": 0,
        "msg": "成功"
    }
    

    HTTP请求

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

    请求参数

    字段 必填 类型 描述
    applicationIds array[integer] 申请ids
    businessUnitId number bu的id
    detail string 归档原因
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    needRefuse boolean true则会检查该org的设置来发送拒信
    operatorEmail string 操作人邮箱
    reasonId integer 归档原因ID
    talentPoolIds array[integer] 目标人才库ids

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 0:设置成功
    1:失败
    msg string 成功

    人才库数据导入

    HTTP请求

    POST https://api.mokahr.com/api-platform/v2/syncCandidates

    请求样例 (application/json)

    $ curl https://api.mokahr.com/api-platform/v2/syncCandidates \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
       -d '{
        "orgId":"livingsimple",
        "candidateName": "test",
        "candidatePhone": "18700998899",
        "candidateEmail": "1234@test.com",
        "note": "测试备注",
        "talentPoolId": 200000131,
        "email": "xiedi@mokahr.com",
        "resignDepartment": "离职部门",
        "reason": 1,
        "detail": "世界那么大,我想去看看",
        "time": "2020-01-01 00:00:00",
        "channelType": 5,
        "channelName": "人才库",
        "source": 0,
        "jobId": "07af7045-b4e7-43eb-ba64-87128c4df3bf",
        "candidateAge": 18,
        "candidateGender": "男",
        "candidateLastCompany": "天南",
        "candidateLastSpeciality": "化工",
        "candidateAcademicDegree": "本科",
        "hiredTime": "2020-01-01 00:00:00",
        "educationInfo": [
            {
                "school": "北京大学",
                "startDate": "2014-09",
                "endDate": "2017-06",
                "speciality": "软件工程",
                "academicDegree": "本科"
            }
        ],
        "experienceInfo": [
            {
                "company": "百度",
                "startDate": "2014-09",
                "endDate": "2017-06",
                "title": "初级工程师",
                "summary": "负责产品功能实现"
            },{
                "company": "百度",
                "startDate": "2014-09",
                "endDate": "2017-06",
                "title": "初级工程师",
                "summary": "负责产品功能实现"
            }
        ],
        "projectInfo": [
            {
                "projectName": "项目1",
                "startDate": "2017-01",
                "endDate": "2017-11",
                "projectDescription": "项目功能描述",
                "title": "后端工程师",
                "responsibilities": "项目职责"
            },
            {
                "projectName": "项目2",
                "startDate": "2017-01",
                "endDate": "2017-11",
                "projectDescription": "项目功能描述",
                "title": "后端工程师",
                "responsibilities": "项目职责"
            }
        ],
        "practiceInfo": [
            {
                "company": "腾讯",
                "title": "实习工程师",
                "startDate": "2017-01",
                "endDate": "2017-11",
                "summary": "负责简单的功能实现"
            },{
                "company": "腾讯",
                "title": "实习工程师",
                "startDate": "2017-01",
                "endDate": "2017-11",
                "summary": "负责简单的功能实现"
            }
        ],
        "jobIntention": {
            "aimSalary": "7000-13000元/月",
            "forwardLocation": "北京"
        },
        "selfDescription": {
            "personal": "人经历丰富,在校担任过部长,主持人以及新生教官。"
        },
        "customFields": [
            {
                "id": 146,
                "value": "22",
                "index": 0
            },
            {
                "id": 121,
                "value": "22",
                "index": 10
            },
            {
                "id": 124,
                "value": "bbb",
                "index": 0
            },
            {
                "id": 130,
                "value": {"endDate":"2020-01","startDate":"2021-01"},
                "index": 0
            }
        ],
        "isResignWriteJob": true,
        "resignJobName": "工程师",
        "resignJobType": "技术"
    }'
    

    请求样例(multipart/form-data方式)

    $ curl https://api.mokahr.com/api-platform/v2/syncCandidates \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: multipart/form-data' \
       -F 'basicInfo={"candidateName": "王五","age": 20,"gender": "男","candidatePhone": "13800000000","candidateEmail":"test@mokahr.com","jobId":"330fd7e3-45a1-4705-828c-7e1beafad355","talentPoolId":200004785,"email":"test@mokahr.com"}' \
       -F 'resume=@/path/to/resume/张三.pdf' \
       -F 'attachments=@/path/to/attachments/attach1.txt' 
    

    返回示例

    {
        "code": 200,
        "msg": "success",
        "data": {
            "applicationId": 189316652,
            "candidateId": 168776432
        }
    }
    

    失败返回实例

    {
        "code": 40040102,
        "msg":  "找不到归档原因,归档信息错误"
    }
    

    请求body参数(application/json)

    字段 必填 类型 描述
    candidateName string 候选人姓名
    candidatePhone string 候选人手机号
    candidateEmail string 候选人邮箱
    note string 备注
    channelType string 渠道类型
    如果未匹配
    可选值:
    1:招聘网站(moka已对接的招聘网站)
    2:社招门户
    3:内推门户
    4:猎头
    5:人才库
    6:其他渠道
    7:内部自有
    8:招聘网站(客户自定义的一个渠道类别)
    9:招聘会
    10:论坛
    11:SNS
    12:其他
    默认:5
    sourceStatistics string 来源效果
    在channel_type为2、3、4时需要填写,若未填写,导入失败
    channelName string 渠道
    如果未匹配,默认:人才库
    source int 来源
    各个渠道默认的来源
    可选值:
    1:主动搜索
    2:主动投递
    3:人才推荐
    appliedAt string 申请时间
    若为空,默认使用系统当前时间
    格式遵从ISO8061标准
    jobId string 职位ID
    candidateAge integer 候选人年龄
    candidateGender string 候选人性别
    candidateLastCompany string 最近公司
    candidateLastSpeciality string 最近毕业专业
    candidateAcademicDegree string 最高学历
    educationInfo array 教育经历
    educationInfo[].school string 学校名称
    educationInfo[].startDate 格式遵从ISO8601标准 string 开始时间
    educationInfo[].endDate 格式遵从ISO8601标准 string 结束时间
    educationInfo[].speciality string 学习专业
    educationInfo[].academicDegree string 学历
    experienceInfo array 工作经验
    experienceInfo[].company string 公司名称
    experienceInfo[].startDate 格式遵从ISO8601标准 string 开始时间
    experienceInfo[].endDate 格式遵从ISO8061标准 string 结束时间
    experienceInfo[].title string 工作职位
    experienceInfo[].summary string 工作职责
    projectInfo array 项目经验
    projectInfo[].projectName string 项目名称
    projectInfo[].startDate 格式遵从ISO8601标准 string 开始时间
    projectInfo[].endDate 格式遵从ISO8601标准 string 结束时间
    projectInfo[].title string 项目中担任的> 职责
    projectInfo[].projectDescription string 项目功能描述
    projectInfo[].responsibilities string 项目中的职责
    practiceInfo array 实习经历
    practiceInfo[].company string 公司名称
    practiceInfo[].title string 职位名称
    practiceInfo[].startDate 格式遵从ISO8601标准 string 开始时间
    practiceInfo[].endDate 格式遵从ISO8601标准 string 结束时间
    practiceInfo[].summary string 工作职责
    jobIntention object 求职意向
    jobIntention.aimSalary string 期望薪资
    jobIntention.forwardLocation string 期望城市
    selfDescription object 自我描述
    selfDescription.personal object 自我描述,简介
    customFields[].id integer 自定义字段id
    customFields[].value string 自定义字段值
    customFields[].index number 如果当前模块数据是一个数组且含有自定义字段,则该值必填且与数组下标一致(备注:支持自定义模块数据)
    talentPoolId int 若是入职人才库,需填写:hired_type、hired_time
    若是离职人才库,须填写:resign_type、resign_detail、resign_time
    若需要导入黑名单人才库,此人才库ID为黑名单人才库ID
    若要导入人才库,则该字段是必填的
    email string 用户邮箱
    有人才库权限的用户邮箱, 若归档候选人时,该字段必填
    hiredTime string 入职时间
    默认使用请求时间
    isResignWriteJob boolean 是否回写离职信息
    可选值:
    0:不开启
    1:开启,开启后需填写离职职位
    默认:0
    resignJobName string 离职职位
    resignDepartment string 离职部门
    reason int 离职原因
    可选值:
    0:已离职
    1:主动离职
    2:被动离职
    detail string 离职详情
    若为离职,该字段必填
    time string 离职时间(日期格式为:ISO8601)
    若为空,则为当前时间
    political string 政治面貌
    certificateType string 证件类型
    枚举值
    1:身份证
    2:身份证(中国香港)
    3:身份证(中国澳门)
    4:身份证(中国台湾)
    5:护照
    6:其他证件
    7:港澳居民来往内地通行证
    8:台湾居民来往内地通行证
    9:外国人工作许可证
    10:外国人居留许可证

    citizenId | 否 | string | 证件号码

    请求body参数 (multipart/form-data方式)

    字段 类型 描述
    candidateInfo string json格式的字符串,字段同json请求方式的body
    resume file 简历文件
    attachments file 附件文件,可以同时传多个

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    msg string 报错信息
    code integer 返回码
    data object 返回数据

    可能的错误信息

    code errorMessage 说明
    200 success 成功
    1240040102 channel_source.error 渠道来源错误
    1240040104 talent_pool_Id.error 人才库错误
    1240040105 userId.error 用户id错误(a.不存在该用户;b.ID错误)
    1240040106 user_permission.error 用户无权限

    职位API

    查询职位字段

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/jobs-fields?currentHireMode=1
      -u 'your-api_key:' \
    

    查询职位字段接口主要用户查询系统内已创建的职位字段,包括系统默认字段和自定义字段

    返回样例

    {
      "success": true,
      "data": [
        {
          "id": 432,
          "name": "职位类别",
          "type": "string_info",
          "detail": null,
          "isRequired": 0,
          "isVisiable": 1,
          "isBuiltin": 1
        },
        {
          "id": 433,
          "name": "工作地点",
          "type": "select_info",
          "detail": null,
          "isRequired": 0,
          "isVisiable": 1,
          "isBuiltin": 1
        },
        {
          "id": 434,
          "name": "工作经验",
          "type": "string_info",
          "detail": null,
          "isRequired": 0,
          "isVisiable": 1,
          "isBuiltin": 1
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/jobs-fields

    请求query参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 字段ID
    name string 字段名称
    type string 字段类型
    detail string 字段详情
    isRequired integer 必填
    isVisiable integer 是否隐藏
    isBuiltin integer 是否是系统内置

    创建新职位

    请求样例

    $ curl -X POST \
      'https://api.mokahr.com/api-platform/v1/jobs?currentHireMode=1' \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
        "title": "API测试",
        "status": "open",
        "commitment": "测试",
        "departmentCode": "1111",
        "minSalary": 20,
        "maxSalary": 50,
        "education": "本科",
        "jobPriorityId": 13,
        "managerEmail": "limeng@mokahr.com",
        "hrAssistantEmails": [ "zhangsan@mokahr.com" ],
        "hiringManagerEmails": [ "lisi@mokahr.com" ],
        "interviewerEmails": [ "wangwu@mokahr.com" ],
        "interviewerNumbers": [ "1234", "2345" ],
        "jobRankIds": [113, 114],
        "customData": {
          "2": "北京",
          "5": "50",
          "9":["1723553256175","1723553256176"]
        },
        "pipelineId": 12,
        "headcountIds": [1,2,3],
        "finishedAt": "2020-04-15 00:00:00",
        "siteIds":[29189,29190],
        "storeIds":[1234,4567]
      }'
    

    通过接口直接在Moka系统中创建职位;创建职位时间即为开始招聘时间

    返回样例

    {
      "success": true,
      "data": {
        "jobId": "d7556714-6de1-4a14-82d8-2a8fc1ac7624",
        "mjCode": "MJ001789"
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/jobs?currentHireMode=1

    请求query参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    请求body参数操作人编号

    字段 是否必填 类型 描述
    title string 职位名称
    status string 职位状态
    可选值:
    open:开启
    closed:关闭
    pause:暂停
    description string 职位描述
    commitment string 职位性质
    可选值:
    全职
    兼职
    实习
    其它
    departmentCode string 所属部门code
    number integer 招聘人数
    experience string 工作经验
    可选值:
    不限
    应届毕业生
    1年以下
    1-3年
    3-5年
    5-10年
    10年以上
    education string 最低教育程度, 可选值:
    不限
    高中以下
    中专
    大专
    本科
    硕士
    博士
    jobPriorityId integer 职位优先级ID
    locationId integer 工作地点ID
    locationIds array 多个工作地点ID,locationIds 和 locationId 同时存在时,优先使用 locationIds
    managerEmail string 负责人邮箱
    managerNumber string 负责人number字段, 该值存在会忽略managerEmail字段 (managerNumber为-1时会删除负责人)
    hrAssistantEmails Array<string> 职位协助人邮箱
    hrAssistantNumbers Array<string> 职位协助人number字段, 该值存在会忽略hrAssistantEmails字段 (hrAssistantNumbers为空数组[]时清空协助人)
    hiringManagerEmails Array<string> 用人经理邮箱
    hiringManagerNumbers Array<string> 用人经理number字段, 该值存在会忽略hiringManagerEmails字段(hiringManagerNumbers为空数组[]时清空用人经理)
    interviewerEmails Array<string> 面试官邮箱
    interviewerNumbers Array<string> 面试官number字段, 该值存在会忽略interviewerEmails字段(interviewerNumbers为空数组[]时清空面试官)
    jobRankIds Array<integer> 职位级别ID列表
    zhinengId integer 职能ID
    customData Object 自定义数据,键值对形式,key为自定义字段id,value为自定义字段值。如果是多选字段,value为选项id数组
    pipelineId integer 招聘流程
    headcountIds Array<integer> 关联HC列表
    finishedAt string 招聘截止时间, 格式遵从ISO8601标准
    siteIds array 官网ids
    storeIds array 门店id数组.如果开启了部门和门店同步,传了部门信息会优先使用部门对应的门店信息
    jobTemplateId number 自定义招聘查询id
    isVirtual boolean 是否创建为虚拟职位,true:创建为虚拟职位,默认是实体职位
    jobIdsForVirtualJobList array 虚拟职位需要关联的实体职位id
    applyForms array 申请表
    applyForms[].applyFormId number 申请表id
    applyForms[].type string 申请表类型:NORMAL_PORTAL:普通官网,RECOMMENDATION_PORTAL:内推官网
    applyForms[].device string 申请表适用浏览器类型:pc或者mobild
    roundFeedbacks array 面试评价表
    roundFeedbacks[].roundId number 面试轮次id
    roundFeedbacks[].feedbackId string 面试评价表id
    interviewPlanId string 面试方案,以及面试方案下每个轮次所关联的用户组。如果和旧的面试评价表roundFeedbacks 数组,同时传,优先走面试方案
    roundUserGroups array 用户组数组
    roundUserGroups[].roundId number 面试轮次id,面试方案下需要关联用户组的轮次id
    roundUserGroups[].userGroupIds number[] 用户组ids,可以传多个用户组,可不传用户组
    subscribersEmails string[] 简历自动推荐人邮箱。支持面试官、用人经理及以上角色。["lisi@mokahr.com"]
    subscribersNumbers string[] 简历自动推荐人工号。支持面试官、用人经理及以上角色。[ "1234", "2345" ]
    minSalary integer 最低薪资
    maxSalary integer 最高薪资
    salaryUnit integer 薪资单位
    可选值:
    0:k/月
    1:元/月
    2:元/周
    3:元/天
    4:元/小时
    5:元/次
    payPeriod integer 发薪月数
    最小值:12
    最大值:24
    paymentMethod integer 发薪方式
    可选值:
    0:日结
    1:周结
    2:月结
    3:完工结
    assignmentFeedbackId integer 简历筛选评价表ID
    未开启简历筛选评价表时无法完成绑定,并且只能绑定当前部门可用的筛选评价表,若不指定部门则只能绑定默认筛选评价表
    jobSettingLocale string 职位设置语言
    简体中文:zh-CN
    英语:en-US

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    jobId string 职位ID,moka系统内置。
    mjCode string 职位编号,发布到外部系统保证唯一性。
    subscribersEmails string[] 简历自动推荐人邮箱。支持面试官、用人经理及以上角色。["lisi@mokahr.com"]
    subscribersNumbers string[] 简历自动推荐人工号。支持面试官、用人经理及以上角色。[ "1234", "2345" ]

    更新已有职位

    请求样例

    $ curl -X PUT \
      https://api.mokahr.com/api-platform/v1/jobs/d7556714-6de1-4a14-82d8-2a8fc1ac7624 \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
        "title": "34534783478378",
        "commitment": "786786786786",
        "departmentCode": "1111",
        "education": "博士",
        "jobPriorityId": null,
        "managerEmail": "limeng@mokahr.com",
        "minSalary": "20000",
        "jobRankIds": [113, 114],
        "customData": {
          "2": "北京",
          "5": "50",
          "9":["1723553256175","1723553256176"]
          }
        },
        "locationIds":[123,3444]
        "pipelineId": 12,
        "headcountIds": [1,2,3],
        "finishedAt": "2020-04-15 00:00:00",
        "storeIds":[1234,4567]
        '
    

    通过接口更新系统中已存在的职位信息

    HTTP请求

    https://api.mokahr.com/api-platform/v1/jobs/{jobId}

    请求path参数

    字段 类型 描述
    jobId string 职位ID

    请求body参数

    创建新职位的body参数一致

    本接口特有字段

    字段 必填 类型 描述
    archive boolean 是否放入人才库
    可选值:
    true:是
    false:否
    默认:false
    useHeadhunter boolean 是否使用猎头(已废弃,系统功能已下线)
    传true:不生效
    传false:将职位从全部猎头渠道下架
    默认:false
    tempJobToJob int 可选值:
    0 :保持关联
    1 :取消关联
    2 :重新关联
    默认:0
    distributeJobId string 重新关联职位id
    displayOnOfficialSite, boolean 是否在招聘官网展示, 默认: false
    displayOnRecommendationSite boolean 是否在内推官网展示, 默认: false
    departmentCode string 所属部门code,如果为null的话会删除该职位的部门
    storeIds array 门店id数组.如果开启了部门和门店同步,传了部门信息会优先使用部门对应的门店信息
    publishedAt string 官网发布时间,职位在招聘官网或内推官网的最新发布时间。如果不传,系统会在发布职位到官网时自动更新该时间,如果传了则按传值更新职位的官网发布时间,非业务需要无需修改该时间,格式遵从ISO8601标准

    返回示例

    {
      "success": true,
      "data": {
        "jobId": "d7556714-6de1-4a14-82d8-2a8fc1ac7624"
      }
    }
    

    职位查询接口

    请求样例

    $ curl -X "POST" \
    "https://api.mokahr.com/api-platform/v1/jobs/getJobs" \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
      "zhinengId": 372,
      "departmentCodes": [
        "1234"
      ],
      "locationIds": [],
      "commitment": "全职",
      "updatedEndAt": "2021-10-10",
      "limit": 10,
      "offset": 0,
      "hireMode": "social",
      "updatedFromAt": "2019-08-10",
      "storeCodes": [
        "123",
        "50"
      ],
      "jobId": "",
      "status": "open"
    }'
    
    

    通过接口查询系统中已存在的职位信息

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/jobs/getJobs

    返回样例

    {
      "code": 0,
      "msg": "success",
      "data": {
        "total": 1,
        "jobs": [
          {
            "id": "b0a8a988-441d-4fca-a200-b77526ec9ba0",
            "orgId": "livingsimple",
            "title": "网页设计师",
            "status": "open",
            "description": "<div><b>我们是谁</b><div>",
            "minSalary": 1000,
            "maxSalary": 9000,
            "minExperience": 3,
            "maxExperience": 5,
            "number": 10,
            "commitment": "全职",
            "education": "本科",
            "openedAt": "2017-09-01T21:00:00.000Z",
            "closedAt": "2017-10-01T22:00:00.000Z",
            "hireMode": 1,
            "publishedAt": "2021-03-17T07:10:53.000Z",
            "updatedAt": "2021-03-22T07:05:53.000Z",
            "finishedAt": "2019-08-23T16:00:00.000Z",
            "mjCode": "MJ007995",
            "pipelineId": 21,
            "pipelineName": "审计部",
            "locations": [
              {
                "id": 1,
                "province": "广东",
                "city": "深圳市",
                "area": "福田区",
                "country": "中国",
                "address": "车公庙泰然大厦C座22楼"
              }
            ],
            "prior": 1,
            "stores": [],
            "department": {
              "id": 3,
              "name": "审计部",
              "code": "1234"
            },
            "zhineng": {
              "id": 1,
              "name": "技术类"
            },
            "customFields": [
              {
                "id": 1,
                "name": "薪资范围",
                "value": "100-200",
                "type": "string_info"
              }
            ],
            "isRecommendation": false
          }
        ]
      }
    }
    

    请求body参数

    字段 必填 类型 描述
    hireMode string 招聘模式
    可选值:
    social:社招
    campus:校招
    limit string 分页用的每页条数,默认30
    offset string 分页用的偏移量,所示索引从0开始
    locationIds array 通过地址列表接口返回的地址id,比如[1,2,3]
    详细参数见职位地址
    zhinengId number 通过职能列表接口返回的地址id
    详细参数见职位职能
    siteId number 官网id
    commitment number 职位性质
    可选值:
    1:全职
    2:兼职
    3:实习
    4:其它
    updatedFromAt string 职位按更新时间筛选的起始时间,比如2020-06-01
    updatedEndAt string 职位按更新时间筛选的截止时间,比如2020-07-01
    status string 职位状态:open/开启, closed/关闭, pause/暂停
    jobId string 职位id
    departmentCodes array 职位所属部门编号列表
    storeCodes array 职位所属门店编号列表

    返回body的JSON数据如下:

    字段 类型 描述
    total integer 职位总数量
    jobs[] array 职位列表
    jobs[].id string 职位id
    jobs[].title string 职位名称
    jobs[].status string 职位状态
    可选值:
    open:开启
    closed:关闭
    pause:暂停
    jobs[].description string 职位描述
    jobs[].mjCode string 职位编号
    jobs[].minSalary integer 最低薪资
    jobs[].maxSalary integer 最高薪资
    jobs[].salaryUnit integer 薪资单位
    jobs[].payPeriod integer 发薪月数
    jobs[].paymentMethod integer 发薪方式
    jobs[].minExperience integer 最低工作经验
    jobs[].maxExperience integer 最高工作经验
    jobs[].number integer 招聘人数
    jobs[].commitment string 职位性质
    可选值:
    全职
    兼职
    实习
    其它
    jobs[].education string 学历要求
    jobs[].closedAt string 职位关闭时间。日期格式为:ISO8601
    jobs[].openedAt string 开始招聘时间。日期格式为:ISO8601
    jobs[].updatedAt string 职位更新时间。日期格式为:ISO8601
    jobs[].prior integer 是否优先招聘,1为优先招聘
    jobs[].hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招
    jobs[].publishedAt string 官网发布时间,职位在招聘官网或内推官网的最新发布时间
    jobs[].finishedAt string 职位目标完成时间
    jobs[].isRecommendation boolean 是否为内推职位
    jobs[].department object 职位所在部门信息
    jobs[].department.id integer 部门id
    jobs[].department.code integer 部门编码
    jobs[].department.name string 部门名称
    jobs[].pipelineId string 职位所属流程ID
    jobs[].pipelineName string 职位所属流程名称
    jobs[].locations array 职位地点
    jobs[].locations[].id integer 地址id
    jobs[].locations[].province string 省份
    jobs[].locations[].city string 城市
    jobs[].locations[].area string 地区
    jobs[].locations[].country string 地点所在国家
    jobs[].locations[].address string 地点详细信息
    jobs[].stores array 职位所属门店
    jobs[].stores.id integer 门店id
    jobs[].stores.apiCode string 门店编码
    jobs[].stores.name string 门店名称
    jobs[].zhineng object 职位职能信息
    jobs[].zhineng.id integer 职能id
    jobs[].zhineng.name string 职能名称
    jobs[].customFields array 职位自定义字段列表
    jobs[].customFields[].id integer 自定义字段id
    jobs[].customFields[].name string 自定义字段名称
    jobs[].customFields[].type string 自定义字段类型,可以是以下值之一: string_info
    bool_info
    jobs[].customFields[].value string 自定义字段的值
    jobs[].jobManager object 职位负责人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobManager.name string 职位负责人姓名
    jobs[].jobManager.email string 职位负责人邮箱
    jobs[].jobManager.phone string 职位负责人手机号
    jobs[].jobManager.number string 职位负责人number字段
    jobs[].jobHrAssistant object[] 职位协助人 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobHrAssistant[].name string 职位协助人姓名
    jobs[].jobHrAssistant[].email string 职位协助人邮箱
    jobs[].jobHrAssistant[].phone string 职位协助人手机号
    jobs[].jobHrAssistant[].number string 职位协助人number字段
    jobs[].jobHiringManager object[] 用人经理 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobHiringManager[].name string 用人经理姓名
    jobs[].jobHiringManager[].email string 用人经理邮箱
    jobs[].jobHiringManager[].phone string 用人经理手机号
    jobs[].jobHiringManager[].number string 用人经理number字段
    jobs[].jobInterviewer object[] 面试官 (此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    jobs[].jobInterviewer[].name string 面试官姓名
    jobs[].jobInterviewer[].email string 面试官邮箱
    jobs[].jobInterviewer[].phone string 面试官手机号
    jobs[].jobInterviewer[].number string 面试官number字段
    jobs[].jobTemplateId number 自定义招聘查询id
    jobs[].isVirtual boolean true:为虚拟职位
    jobs[].applyForms array 申请表
    jobs[].applyForms[].applyFormId number 申请表id
    jobs[].applyForms[].type string 申请表类型
    可选值:
    NORMAL_PORTAL:普通官网
    RECOMMENDATION_PORTAL:内推官网
    jobs[].applyForms[].device string 申请表适用浏览器类型:pc或者mobild
    jobs[].roundFeedbacks array 面试评价表
    jobs[].roundFeedbacks[].roundId number 面试轮次id
    jobs[].roundFeedbacks[].feedbackId string 面试评价表id
    interviewPlanId string 面试方案id
    jobs[].roundFeedbacks[].userGroupsIds array 面试轮次关联的用户组id
    userGroupsId number 用户组id
    jobs[].jobRankInfo object 职级信息
    jobs[].jobRankInfo.id Integer 职级id
    jobs[].jobRankInfo.name string 职级名称
    jobs[].jobRankInfo.type string 职级类别
    jobs[].jobRankInfo.level Integer 职级顺序
    jobs[].jobRankInfo.comment string 职级备注
    jobs[].createAt string 职位创建日期
    jobs[].confidential Integer 是否是保密职位:
    1:是保密职位
    0:不是保密职位

    获取招聘流程列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/pipelines/list?currentHireMode=1
      -u 'your-api_key:' \
    

    获取招聘流程列表

    返回样例

    {
      "rows": [
        {
          "id": 1,
          "name": "默认流程",
          "disabled": false
        }
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/pipelines/list

    请求Query

    字段 必填 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回json数据

    字段 类型 描述
    id integer id
    name string 流程名称
    disabled boolean 是否禁用

    获取职位信息

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/jobs
    

    返回样例

    {
      "data": [
        {
           "id": 1,
           "title": "blabla"
         }
      ],
      "next": "8465195468"
    }
    

    获取职位信息

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    fromTime string 数据的开始时间,fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。
    next string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。如果响应中没有next字段,表示没有更多的数据了
    limit string 分页用的每页条数,默认100

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 职位id
    title string 职位名称

    获取职位下所有可移动阶段信息

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/job_stages?jobId=xiaozhao3
    

    返回样例

    [
        {
            "id": 1,
            "name": "初筛"
        },
        {
            "id": 2,
            "name": "用人部门筛选"
        },
        {
            "id": 3,
            "name": "面试"
        },
        {
            "id": 4,
            "name": "沟通offer"
        },
        {
            "id": 5,
            "name": "待入职"
        }
    ]
    

    该接口将返回指定职位下,所有可用阶段信息

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    jobId string 职位id

    返回

    字段 类型 描述
    id integer 阶段id
    name string 阶段名称

    获取职位优先级列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job_priority \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    [
      {
        "id": 488,
        "name": "优先招聘",
        "isBuiltin": 1
      },
      {
        "id": 811,
        "name": "特别",
        "isBuiltin": 0
      }
    ]
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/job_priority

    请求参数

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 职位优先级id
    name string 字段显示的名字
    isBuiltin integer 是否系统内置

    获取企业职位级别

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job_ranks \
      -u 'your-api_key:' \
      -X GET
    

    返回样例

    [
        {
            "id": 1,
            "name": "新人",
            "type": "p5",
            "level": 1,
            "comment": "1111"
        },
        {
            "id": 2,
            "name": "中坚",
            "type": null,
            "level": 2,
            "comment": null
        },
        {
            "id": 3,
            "name": "总裁",
            "type": null,
            "level": 3,
            "comment": null
        }
    ]
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/job_ranks

    请求参数

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 职级的id
    name string 名称
    type string 设置的类型
    level integer 设置的级别
    comment string 备注
    departmentIds array 所属部门id

    创建企业职位级别

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job_ranks \
      -u 'your-api_key:' \
      -X POST \
      -H 'content-type: application/json' \
      -d '
      {
        "name": "初级",
        "type": "",
        "level": 1,
        "comment": ""
      }
      '
    

    返回样例

    {
      "id": 1,
      "name": "初级",
      "type": "",
      "level": 1,
      "comment": ""
    }
    

    HTTP请求

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

    请求Body

    字段 必填 类型 说明
    name string 级别名称
    type string 级别类型
    level integer 级别
    comment string 备注
    departmentIds array 所属部门id

    返回JSON

    字段 类型 说明
    id integer 职位职级id
    name string 级别名称
    type string 级别类型
    level integer 级别
    comment string 备注
    departmentIds array 所属部门id

    更新企业职位级别

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job_ranks/1 \
      -u 'your-api_key:' \
      -X PUT
        -H 'content-type: application/json' \
      -d '
      {
        "name": "hcName",
        "type": "",
        "level": 1,
        "comment": ""
      }
      '
    

    返回样例

    {
      "id": 1,
      "name": "初级",
      "type": "",
      "level": 1,
      "comment": ""
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/job_ranks/:id

    请求Url参数

    字段 类型 说明
    id integer id

    请求Body

    字段 必填 类型 说明
    name string 级别名称
    type string 级别类型
    level integer 级别
    comment string 备注
    departmentIds array 所属部门id

    返回JSON

    字段 类型 说明
    id integer 职级id
    name string 级别名称
    type string 级别类型
    level integer 级别
    comment string 备注
    departmentIds array 所属部门id

    删除企业职位级别

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job_ranks/1 \
      -u 'your-api_key:' \
      -X DELETE
        -H 'content-type: application/json' \
      -d '
      {
        "mergeToId": 5,
      }
      '
    

    返回样例

    {
      "success": true
    }
    

    HTTP请求

    DELETE https://api.mokahr.com/api-platform/v1/job_ranks/:id

    请求url参数

    字段 类型 说明
    id integer 删除id

    请求Body

    字段 类型 说明
    mergeToId integer 合并到id

    返回JSON

    字段 类型 说明
    success boolean 删除成功或失败

    创建自定义字段

    请求样例

    $ curl -X POST \
      'https://api.mokahr.com/api-platform/v1/jobs/custom_fields?currentHireMode=1' \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
        "type": "select_info",
        "name": "工作地点",
        "isRequired": true,
        "isVisible": true,
        "detail": [
            "工作地点1",
            "工作地点2",
            "工作地点3"
        ]
      }'
    

    通过接口直接在Moka系统中创建职位

    返回样例

    {
      "success": true,
      "data": {
          "jobFieldId": 603
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/jobs/custom_fields?currentHireMode={currentHireMode}

    请求query参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    请求body参数

    字段 类型 描述
    name string 字段名称,必填
    type string 字段类型
    可选值:
    string_info
    select_info
    bool_info
    date_info
    day_info
    text_info
    multi_select_info
    isRequired string 是否为必填字段
    detail array 字段详情
    isVisible boolean 是否可见

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    jobFieldId string 自定义字段对应的ID

    更新自定义字段

    请求样例

    案例1:
    $ curl -X PUT \
      'https://api.mokahr.com/api-platform/v1/jobs/custom_fields/603?currentHireMode=1' \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
        "name": "工作地点",
        "isRequired": true,
        "isVisible": true,
        "detail": [
            "工作地点1",
            "工作地点2",
            "工作地点3"
        ]
      }'
    
    案例2:
    $ curl -X PUT \
      'https://api.mokahr.com/api-platform/v1/jobs/custom_fields/603?currentHireMode=1' \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json' \
      -d '{
        "name": "多选字段",
        "isRequired": true,
        "isVisible": true,
        "detail": [
           {"value": "修改后的值或原始值", "optionId": "多选项ID"},
           {"value": "新增的修改值"}
         ]
      }'
    

    通过接口直接在Moka系统中创建职位

    返回样例

    {
      "success": true,
      "data": {
          "jobFieldId": 603
      }
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/jobs/custom_fields/{jobFieldId}?currentHireMode={currentHireMode}

    请求path参数

    字段 类型 描述
    jobFieldId integer 字段对应的ID

    请求query参数

    字段 类型 描述
    currentHireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    请求body参数

    字段 类型 描述
    name string 字段名称
    isRequired string 是否为必填字段
    detail array 字段详情
    isVisible boolean 是否可见

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    jobFieldId string 自定义字段对应的ID

    删除自定义字段

    请求样例

    $ curl -X DELETE \
      'https://api.mokahr.com/api-platform/v1/jobs/custom_fields/603?currentHireMode=1' \
      -u 'your-api-key:' \
      -H 'Content-Type: application/json'
    

    通过接口直接在Moka系统中创建职位

    返回样例

    {
      "success": true,
      "data": {
          "jobFieldId": "603"
      }
    }
    

    HTTP请求

    DELETE https://api.mokahr.com/api-platform/v1/jobs/custom_fields/{jobFieldId}?currentHireMode={currentHireMode}

    请求path参数

    字段 类型 描述
    jobFieldId 自定义字段对应的ID

    请求query参数

    字段 是否必填 类型 描述
    currentHireMode 必填 integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    jobFieldId string 自定义字段对应的ID

    查询自定义招聘设置

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/job-templates/list
      -u 'your-api_key:' \
    

    查询自定义招聘设置

    返回样例

    {
      "success": true,
      "data": [
        {
          "id": 100008412,
          "name": "标准简历",
          "hireMode": 1,
          "createdAt": "2020-09-28T06:26:34.000Z"
        },
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/job-templates/list

    请求query参数 无

    字段 类型 描述

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 响应码,非200代表失败
    msg string 响应信息
    data[].id integer 唯一key
    data[].name string 名称
    data[].hireMode number 招聘模式
    可选值:
    1:社招
    2:校招
    data[].createdAt string 是否隐藏

    发布/下架职位

    请求样例

    $ curl -X POST --location "https://api.mokahr.com/api-platform/jobs/v1/display_job_on_websites" \
        -H "Content-Type: application/json; charset=utf-8" \
        -u 'your-api_key:' \
        -d "{
              \"orgId\": \"livingsimple\",
              \"jobId\": \"c9705c0d-7131-45a9-86d2-be7c6fe3a208\",
              \"siteIds\": [
                364
              ],
              \"headhunterIds\": \"[200000063,200000094,200000092]\",
              \"headhunterContractIds\": \"[137,1,122,116,132]\",
              \"displayOnRecommendationSite\": false,
              \"displayOnOfficialSite\": true,
              \"displayOnHeadhunterSite\": false
            }"
    

    通过接口实现职位在官网和猎头端的发布或下架操作。

    返回样例

    {
      "code": 0,
      "success": true,
      "data": {
          "operateOfficialSiteSuccess": false,
          "operateRecommendationSiteSuccess": false,
          "operateHeadhunterSiteSuccess": false
        }}
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/jobs/v1/display_job_on_websites

    请求Body参数

    字段 是否必填 类型 描述
    jobId string 职位ID
    siteIds array 官网ids,须指定需要发布或下架的官网
    displayOnOfficialSite boolean 是否在招聘官网展示。不传参,职位发布状态不变;传false,下架职位;传true,发布职位
    displayOnRecommendationSite boolean 是否在内推官网展示。不传参,职位发布状态不变;传false,下架职位;传true,发布职位
    recommendationSiteIds array 内推官网ID
    displayOnHeadhunterSite boolean 是否在猎头端展示。不传参,职位发布状态不变;传false,下架职位;传true,发布职位
    headhunterIds array 猎头顾问ID,请指定将该职位发布至哪位猎头顾问名下,或从哪位猎头顾问名下下架
    headhunterContractIds array 猎头合约ID,请指定将该职位发布至哪个猎头合约名下,或从哪个猎头合约名下下架。

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 响应码,非200代表失败
    msg string 响应信息
    data[].id integer 唯一key
    data[].operateOfficialSiteSuccess boolean 招聘官网操作是否成功,参数没传和操作失败都是false
    data[].operateRecommendationSiteSuccess boolean 内推官网操作是否成功,参数没传和操作失败都是false
    data[].operateHeadhunterSiteSuccess boolean 猎头端操作是否成功,参数没传和操作失败都是false

    获取职能类型

    获取所有职能类型

    请求样例

    $ curl -X POST --location "https://api.mokahr.com/api-platform/v1/zhineng/getZhineng" \
        -u 'your-api_key:' \
    

    返回样例

    {
        "code": 0,
        "msg": "success",
        "data": [
            {
                "children": [
                    {
                        "children": [
                            {
                                "id": "1111",
                                "label": "技术1-2",
                                "orgId": "daibanap",
                                "parentId": 1112,
                                "sort": 0,
                                "supplementaryLocales": {
                                    "en-US": {
                                        "label": "技术1-2英语"
                                    },
                                    "fr-FR": {
                                        "label": "技术1-2法语"
                                    },
                                    "zh-CN": {
                                        "label": "技术1-2"
                                    }
                                },
                                "version": "1.0"
                            }
                        ],
                        "id": "1112",
                        "label": "技术1-1",
                        "orgId": "daibanap",
                        "parentId": 1113,
                        "sort": 0,
                        "supplementaryLocales": {
                            "zh-CN": {
                                "label": "技术1-1"
                            }
                        },
                        "version": "1.0"
                    },
                    {
                        "id": "1114",
                        "label": "技术2-1",
                        "orgId": "daibanap",
                        "parentId": 1113,
                        "sort": 1,
                        "supplementaryLocales": {
                            "zh-CN": {
                                "label": "技术2-1"
                            }
                        },
                        "version": "1.0"
                    }
                ],
                "id": "1113",
                "label": "技术类",
                "parentId": 0,
                "orgId": "daibanap"
            },
            {
                "id": "1115",
                "label": "产品类",
                "parentId": 0,
                "orgId": "daibanap",
                "supplementaryLocales": {
                    "en-US": {
                        "label": "产品类-英语"
                    },
                    "fr-FR": {
                        "label": "产品类-法语"
                    },
                    "zh-CN": {
                        "label": "产品类"
                    }
                },
                "children": null
            },
            {
                "id": "1116",
                "label": "设计类",
                "parentId": 0,
                "orgId": "daibanap",
                "children": null
            }
        ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/zhineng/getZhineng

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 响应码,非200代表失败
    msg string 响应信息
    data[].id string 业务id
    data[].label string 职能类型名称
    data[].parentId long 父级业务id
    data[].orgId string 租户id
    data[].supplementaryLocales map 多语言信息 格式如下 {"zh-CN": {"label": "技术2-1"}}
    data[].children[] array 子级职能类型信息(和父级内容一样)

    职位v3接口

    根据jobId或mjCode获取职位信息

    HTTP请求

    POST https://api.mokahr.com/api-platform/v3/job/getJobInfo

    请求样例

    $ curl -X POST --location "https://api.mokahr.com/api-platform/v3/job/getJobInfo" \
        -u 'your-api_key:' \
           -X POST
       -H 'Content-Type: application/json' \
       -d '
        {
          "jobIds": ["111","222"],
          "scene": ""
        } '
    

    请求Body参数

    字段 是否必填 类型 描述
    jobIds array 需要查询信息的职位id,最大20个。jobIds 和 mjCodes 至少有一个有值
    mjCodes array 需要查询信息的职位mjcode,最大10个 (建议使用职位id,性能更好。如果职位id和mjcode同时存在,以职位id为主)
    sence string 查询数据的场景,如果不传,默认值返回职位的基本信息。如果需要返回负责人、协助人、自定义字段等,联系CSM

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": [
            {
                "aiEvalAuto": true,
                "aiEvalRequirementInfo": null,
                "aiEvalRequirementSchema": null,
                "aiInfoVersion": 0,
                "aiSchemaVersion": 0,
                "applicationAiEvalEnable": false,
                "applicationAiEvalRequirement": null,
                "approvalState": 0,
                "attributeId": 111,
                "category": null,
                "category2Id": null,
                "closedAt": null,
                "commitment": "全职",
                "createdAt": 1653532481000,
                "creatorId": 123,
                "customFields": [
    
                ],
                "demographicQuestionId": 0,
                "department": {
                    "code": "110",
                    "id": 123,
                    "name": "api测试",
                    "namePath": "api测试",
                    "parentId": null,
                    "path": "api测试"
                },
                "departmentCode": "110",
                "departmentId": 123,
                "description": "<p>12312</p>",
                "education": "中技",
                "enableAiQuestionBank": false,
                "enableEeo": false,
                "experience": "不限",
                "finishedAt": 1654358400000,
                "hasRecommendRewardPlan": false,
                "hcIds": [
                    111
                ],
                "hireMode": 1,
                "id": "123",
                "interviewCityIds": "",
                "interviewPlanId": 1530,
                "isInteralReferral": false,
                "jobApplyFormUseDTOS": [
    
                ],
                "jobCustomAttribute": {
                    "id": "123",
                    "isBuiltin": true,
                    "name": "优先招聘",
                    "orgId": "elegrptest"
                },
                "jobDuty": null,
                "jobFamily": false,
                "jobHiringManager": [
                    {
                        "bindWorkWechat": false,
                        "email": "xxx",
                        "employeeId": "",
                        "employee_id": "",
                        "fullPhone": null,
                        "id": 123,
                        "name": "xxx",
                        "number": null,
                        "phone": "12345678910",
                        "role": 50
                    }
                ],
                "jobHrAssistant": null,
                "jobInterviewer": null,
                "jobLocale": "",
                "jobNumId": 100001,
                "jobRanks": [
                    {
                        "apiCode": "",
                        "campusRecommendRewardRulesId": null,
                        "comment": null,
                        "departmentIds": [
                            0
                        ],
                        "id": 123,
                        "level": 5,
                        "name": "总监",
                        "orgId": "test",
                        "recommendRewardRulesId": null,
                        "status": 0,
                        "type": null
                    }
                ],
                "jobTemplateId": 0,
                "locations": [
                    {
                        "address": "香花桥街道振盈路68号",
                        "area": "青浦区",
                        "city": null,
                        "cityId": 310118,
                        "country": "中国",
                        "id": 111,
                        "province": "上海市"
                    }
                ],
                "maxExperience": null,
                "maxSalary": 14,
                "minExperience": null,
                "minSalary": 12,
                "mjCode": "MJ000001",
                "number": 2,
                "openedAt": 1653494400000,
                "orgId": "test",
                "payPeriod": null,
                "paymentMethod": null,
                "pipelineId": 410021910,
                "pipelineName": "aa",
                "pointTo": null,
                "publishedAt": 1653532481000,
                "recruiter": {
                    "bindWorkWechat": false,
                    "email": "xxxx",
                    "employeeId": "",
                    "employee_id": "",
                    "fullPhone": null,
                    "id": 1,
                    "name": "xxxx",
                    "number": null,
                    "phone": "12345678910",
                    "role": 50
                },
                "roundToFeedbackTemplateId": {
                    "1": 0,
                    "2": 0,
                    "3": 0
                },
                "roundToRoundInfo": {
                    "1": {
                        "color": "#00D1DB",
                        "interviewRoundId": 33,
                        "jobId": "111",
                        "name": "初试",
                        "sort": 1,
                        "supplementaryLocales": "{\"en-US\":{\"name\":\"1st round\"}}",
                        "visible": 1
                    },
                    "2": {
                        "color": "#5D63DC",
                        "interviewRoundId": 22,
                        "jobId": "111",
                        "name": "复试",
                        "sort": 2,
                        "supplementaryLocales": "{\"en-US\":{\"name\":\"2nd round\"}}",
                        "visible": 1
                    },
                    "3": {
                        "color": "#F3719D",
                        "interviewRoundId": 11,
                        "jobId": "111",
                        "name": "终试",
                        "sort": 3,
                        "supplementaryLocales": "{\"en-US\":{\"name\":\"3rd round\"}}",
                        "visible": 1
                    }
                },
                "salaryUnit": 0,
                "status": "open",
                "stores": null,
                "title": "测试岗位",
                "updatedAt": 1656346259000,
                "zhinengId": null
            }
        ],
        "msg": "成功",
        "success": true
    }
    

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code Number 面试id,md5字符串,唯一标识一场面试
    message String 面试开始时间。格式遵从ISO8601标准
    data Array 职位详情数据
    data.id string 职位id
    data.title string 职位标题
    data.commitment string 职位性质:全职、兼职、实习、其它
    data.status string 职位状态:open/closed/pause/temp
    data.description string 职位描述
    data.minSalary integer 最小薪资: 单位为k
    data.maxSalary integer 最大薪资: 单位为k
    data.salaryUnit integer 薪资单位,默认k/月,枚举
    data.paymentMethod integer 结算方式
    data.payPeriod integer 薪资数
    data.orgId string orgId
    data.pointTo string 如果该职位是临时职位,pointTo会指向一个实体职位
    data.departmentId long departmentId
    data.department object 部门信息
    data.departmentCode string departmentCode
    data.education string 学历要求
    data.minExperience integer 最低工作经验
    data.maxExperience integer 最高工作经验
    data.experience string 工作经验
    data.number integer 招聘人数
    data.category2Id string 职位类型id
    data.category string 职位类型
    data.creatorId long 职位创建人
    data.zhinengId long 职能类型ID
    data.jobDuty object 职能
    data.jobDuty.id long 职能类型ID
    data.jobDuty.name string 职能名称
    data.hireMode integer 当前职位的招聘模式(1社招/2校招)
    data.mjCode string 职位编码(moka_job_code)
    data.attributeId long 职位优先级id
    data.jobCustomAttribute object 职位优先级
    data.jobCustomAttribute.id string 职位优先级id
    data.jobCustomAttribute.name string 职位优先级名称
    data.jobCustomAttribute.orgId string orgId
    data.jobCustomAttribute.isBuiltin boolean 是否内置
    data.closedAt long 职位关闭时间。日期格式为:时间戳
    data.openedAt long 开始招聘时间。日期格式为:时间戳
    data.updatedAt long 职位更新时间。日期格式为:时间戳
    data.finishedAt long 目标完成时间
    data.publishedAt long 展示在官网的职位发布时间,可手动刷新
    data.createdAt long 职位创建时间
    data.jobNumId long 自增字段,数值型的jobid,对当前非自增主键的一个补充
    data.jobFamily boolean 是否是虚拟职位
    data.jobTemplateId long job的模版id
    data.approvalState integer 审批状态
    data.customFields array 职位自定义字段
    data.customFields.id string 职位自定义字段id
    data.customFields.name string 职位自定义字段名称
    data.customFields.type string 职位自定义字段类型
    data.customFields.value string 职位自定义字段值
    data.customFields.multiSelectValue array 职位自定义多选字段值
    data.recruiter object 职位负责人(此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    data.recruiter.id long id
    data.recruiter.role integer 角色
    data.recruiter.name string 姓名
    data.recruiter.email string 邮箱
    data.recruiter.phone string 手机号
    data.recruiter.fullPhone string 手机号
    data.recruiter.employeeId string employeeId
    data.recruiter.employee_id string employee_Id,同employeeId
    data.recruiter.number string number
    data.recruiter.isBindWorkWechat boolean 是否绑定了企微 id
    data.jobHrAssistant array 职位协助人(此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    data.jobHrAssistant.id long id
    data.jobHrAssistant.role integer 角色
    data.jobHrAssistant.name string 姓名
    data.jobHrAssistant.email string 邮箱
    data.jobHrAssistant.phone string 手机号
    data.jobHrAssistant.fullPhone string 手机号
    data.jobHrAssistant.employeeId string employeeId
    data.jobHrAssistant.employee_id string employee_Id,同employeeId
    data.jobHrAssistant.number string number
    data.jobHrAssistant.isBindWorkWechat boolean 是否绑定了企微 id
    data.jobHiringManager array 用人经理(此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    data.jobHiringManager.id long id
    data.jobHiringManager.role integer 角色
    data.jobHiringManager.name string 姓名
    data.jobHiringManager.email string 邮箱
    data.jobHiringManager.phone string 手机号
    data.jobHiringManager.fullPhone string 手机号
    data.jobHiringManager.employeeId string employeeId
    data.jobHiringManager.employee_id string employee_Id,同employeeId
    data.jobHiringManager.number string number
    data.jobHiringManager.isBindWorkWechat boolean 是否绑定了企微 id
    data.jobInterviewer array 面试官(此项字段默认不返回,若要返回请联系CSM在后台配置功能模块打开官网职位接口负责人同步开关)
    data.jobInterviewer.id long id
    data.jobInterviewer.role integer 角色
    data.jobInterviewer.name string 姓名
    data.jobInterviewer.email string 邮箱
    data.jobInterviewer.phone string 手机号
    data.jobInterviewer.fullPhone string 手机号
    data.jobInterviewer.employeeId string employeeId
    data.jobInterviewer.employee_id string employee_Id,同employeeId
    data.jobInterviewer.number string number
    data.jobInterviewer.isBindWorkWechat boolean 是否绑定了企微 id
    data.jobRanks array 职位级别
    data.jobRanks.id long id
    data.jobRanks.campusRecommendRewardRulesId long 与校招职级关联的内推奖励规则
    data.jobRanks.comment string 备注
    data.jobRanks.level integer 职级等级
    data.jobRanks.name string 职级名称
    data.jobRanks.orgId string orgId
    data.jobRanks.recommendRewardRulesId long 与职级关联的内推奖励规则
    data.jobRanks.type string 职级类别
    data.jobRanks.apiCode string 关联people的职级id
    data.jobRanks.status integer 创建时可以标记是否有效, 0是有效,1是标记删除
    data.jobRanks.departmentIds array departmentIds
    data.hcIds array 关联的招聘需求id
    data.locations array 职位地点
    data.locations.address string 地址
    data.locations.cityId integer 城市ID
    data.locations.country string 国家
    data.locations.id integer ID
    data.locations.province string
    data.locations.city string
    data.locations.area string
    data.pipelineId long 职位所属流程
    data.pipelineName string 职位所属流程名称
    data.stores array 门店
    data.stores.id string 业务ID
    data.stores.orgId string orgId
    data.stores.name string 门店名称
    data.stores.lat integer 门店地址Latitude,根据坐标查询附近门店用
    data.stores.lng integer 门店地址Longitude,根据坐标查询附近门店用
    data.stores.locationId long locations.id
    data.stores.departmentId long departments.id, 0代表没有关联department
    data.stores.apiCode string 系统或接口导入时候的code, 0代表不是导入而是从mage手动创建的
    data.stores.disabled boolean 门店删除状态,默认0代表启用中,1代表已停用
    data.stores.disabledAt long 门店停用时间
    data.jobApplyFormUseDTOS array 申请表
    data.jobApplyFormUseDTOS.id long 业务ID
    data.jobApplyFormUseDTOS.jobId string job_id
    data.jobApplyFormUseDTOS.orgId string orgId
    data.jobApplyFormUseDTOS.device string 设备类型
    data.jobApplyFormUseDTOS.type string 申请表登记表使用场景
    data.jobApplyFormUseDTOS.applyFormId long apply_form
    data.interviewPlanId long 面试方案id
    data.roundToFeedbackTemplateId object 面试评价表模板 面试轮次-面试评价表模板
    data.roundToRoundInfo object 面试轮次信息 面试轮次信息
    data.interviewCityIds string 面试城市列表
    data.applicationAiEvalEnable boolean 是否开启简历职能评估
    data.applicationAiEvalRequirement string 简历智能评估要求
    data.hasRecommendRewardPlan boolean 是否有内推简历方案
    data.enableAiQuestionBank boolean 是否开启ai面试题
    data.aiEvalRequirementInfo string 简历智能评估要求半结构化信息,给前端展示用的
    data.aiInfoVersion integer 简历智能评估要求半结构化信息版本信息
    data.aiEvalRequirementSchema string 简历智能评估要求结构化信息,给AI用的
    data.aiSchemaVersion integer 简历智能评估要求结构化信息版本信息
    data.aiEvalAuto boolean 是否开启自动AI简历初筛
    data.jobLocale string 职位语言
    data.enableEeo boolean 是否开启eeo
    data.demographicQuestionId long 调查问卷id
    data.isInteralReferral boolean 是否内推职位

    面试API

    创建⾯试

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/interview/create

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/interview/create \
       -u 'your_api_key:' \
       -X POST
       -H 'Content-Type: application/json' \
       -d '
        {
          "stageId": 1741,
          "startTime": "2023-03-09 11:00:00",
          "duration": 15,
          "typeCode": 1,
          "orgId": "nonobank",
          "interviewArrangerEmail": "lichaozhen@mokahr.com",
          "locationId": 1,
          "meetingRoomId": 1,
          "round": 1,
          "signedInAt": "2023-03-09 12:00:00",
          "applicationIds": [425015406],
          "interviewerEmails": ["lichaozhen@mokahr.com"]
        } '
    

    请求Body参数

    字段 是否必填 类型 描述
    stageId number ⾯试所在招聘阶段id;通过获取阶段信息列表接口获取
    startTime string 面试日期,格式: "yyyy-MM-dd HH:mm:ss"
    duration number 持续分钟数,15的倍数
    typeCode number 1:现场⾯试
    2:集体⾯试
    3:电话⾯试
    orgId string MOKA租户orgId,由客户负责人提供
    interviewArrangerEmail string ⾯试创建⼈email
    locationId number ⾯试地点id ⻅后附录
    meetingRoomId number 会议室id
    round number 需要提前给数据
    signedInAt string 候选⼈签到时间 "yyyy-MM-dd HH:mm:ss"
    applicationIds array 参与⾯试的申请id, 不能超过200⼈,最少1⼈
    interviewerEmails array 参与⾯试的⾯试官email

    请求返回数据样例:

    {
      "code": 0,
      "message": "成功",
      "data": {
        "groupInterviewId": 1 
      }
    }
    

    返回body

    字段 类型 描述
    code Number 面试id,md5字符串,唯一标识一场面试
    message String 面试开始时间。格式遵从ISO8601标准
    data Object 面试类型,例如:现场面试、视频面试、电话面试、集体面试
    data.groupInterviewId Number 面试时长,单位为分钟,例如:30

    code说明

    说明
    -1 '系统未知错误'
    100 '负责⼈或者⾯试官email不准确'
    101 '存在⽆权创建⾯试的职位'
    102 '⾯试持续时⻓需要是15的倍数, 且不能超过3⼩时'
    103 '现场⾯试,仅⽀持⼀个候选⼈'
    104 'stageId不合法'
    105 'applicationIds不合法'
    106 '未找到指定的⾯试, ⽆法更新⾯试反馈'
    400 '参数检查错误',

    拉取面试列表

    拉取从startDate(包含)至endDate(包含)的面试列表 列表内容为可读的中文描述信息

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/interviews?startDate={startDate}&endDate={endDate}&hireMode={hireMode}

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/interviews\?startDate\=2018-01-02T00:00:00.000Z\&endDate\=2018-01-04T00:00:00.000Z \
       -u 'your_api_key:' \
       -X GET
    

    请求Query参数

    字段 必填 描述
    startDate 面试日期,格式: ISO8601
    endDate 面试日期,格式: ISO8601
    createStartDate 面试创建日期,格式: ISO8601
    createEndDate 面试创建日期,格式: ISO8601
    hireMode 招聘模式 可选值: 1:社招 2:校招

    注意,startDate与endDate, createStartDate与createEndDate确定的日期范围不得超过31天, 并且这两对参数必须有一对参数必填。
    且我们会按照该时间的年月日取值,只能精确到天。

    返回数据

    请求返回数据样例:

    {
      "data": [
        {
          "id": "d3d9446802a44259755d38e6d163e820",
          "startTime": "2017-01-03T00:00:00.000Z",
          "type": "现场面试",
          "duration": 30,
          "jobTitle": "Mac开发工程师",
          "stageName": "技术面",
          "address": "北京市 海淀区 北京市海淀区海淀西大街",
          "theme": "Mac开发工程师-现场面试-复试",
          "status": "已取消",
          "createdAt": "2019-06-26 21:37:04",
          "hr": {
            "name": "李明",
            "email": "liming@example.com",
            "phone": "+86 1234567890"
          },
          "candidates": [
            {
              "name": "邓新宇",
              "email": "dxy@example.com",
              "phone": "+86 0123456789",
              "status": "候选人未反馈",
              "jobTitle": "Mac开发工程师",
              "applicationId": 1022,
              "groupId": 1
            }
          ],
          "interviewers": [
            {
              "name": "旭东",
              "email": "xudong@example.com",
              "phone": ""
            },
            {
              "name": "柳丁",
              "email": "liuding@example.com",
              "phone": "+86 1234567890"
            }
          ]
        },
        {
          "startTime": "2017-01-03T02:00:00.000Z",
          "type": "集体面试",
          "duration": 60,
          "jobTitle": "iOS工程师、PHP工程师等3个职位",
          "stageName": "一面",
          "address": "北京市 海淀区 北京市海淀区海淀西大街",
          "theme": "iOS工程师等3个职位-集体面试-初试",
          "status": "未结束",
          "hr": {
            "name": "李明",
            "email": "liming@example.com",
            "phone": "+86 1234567890"
          },
          "candidates": [
            {
              "name": "邓新宇",
              "email": "dxy@example.com",
              "phone": "+86 0123456789",
              "status": "候选人已拒绝",
              "jobTitle": "Mac开发工程师",
              "applicationId": 1022,
              "groupId": 2
            },
            {
              "name": "金清",
              "email": "jq@gmail.com",
              "phone": "",
              "status": "候选人已接受",
              "jobTitle": "Android多媒体软件工程师",
              "applicationId": 1432,
              "groupId": 3
            },
            {
              "name": "应婉蓉",
              "email": "ywr@gmail.com",
              "phone": "",
              "status": "候选人未反馈",
              "jobTitle": "web前端工程师",
              "applicationId": 4422,
              "groupId": 4
            }
          ],
          "interviewers": [
            {
              "name": "旭东",
              "email": "xudong@example.com",
              "phone": ""
            }
          ]
        }
      ]
    }
    

    data为面试数组,按照面试开始时间由早到晚排序。其中每一项的数据结构为:

    字段 类型 描述
    id String 面试id,md5字符串,唯一标识一场面试
    startTime String 面试开始时间。格式遵从ISO8601标准
    type String 面试类型,例如:现场面试、视频面试、电话面试、集体面试
    duration Number 面试时长,单位为分钟,例如:30
    jobTitle String 面试职位
    stageName String 面试所在阶段名称,例如:面试、技术面、HR面等
    address String 面试地址
    theme String 面试主题,格式为 {面试职位}-{面试类型}-{面试轮次}
    status String 面试状态。例如:未结束(代表面试尚未开始)、已结束(代表面试已结束)、已取消(代表面试已被取消)
    createdAt String 面试创建时间
    hr Object 安排面试的HR
    hr.name String 姓名
    hr.email String 邮箱
    hr.phone String 电话。格式为:+{区号} {电话号码}
    candidates Array 参加面试的候选人
    canddiates[].name String 姓名
    candidates[].email String 邮箱
    candidates[].phone String 电话。格式为:+{区号} {电话号码}
    candidates[].status String 参加面试的状态。例如:候选人未反馈、候选人已接受、候选人已拒绝
    candidates[].jobTitle String 申请职位名称
    candidates[].applicationId Number 申请id, 唯一标识该候选人的一份申请
    candidates[].groupId Number 面试id
    interviewers Array 面试官。结构同hr
    roomId Long 面试房间ID
    roomName String 面试房间名称
    jobs Array 职位
    jobs[].mjCode string 职位编号

    注意,字段若为空,则内容为空字符串

    第三方面试签到api

    业务场景

    第三方面试签到系统需要跳转至moka面试签到页面时使用。

    HTTP请求

    GET https://app.mokahr.com/m/interview-signin/{orgId}?phone={Phone}

    请求Path参数

    字段 必填 描述
    orgId 每个公司客户对应的唯一id,String

    请求Query参数

    字段 必填 描述
    Phone 候选人手机号码(未填写手机号码时,会跳转到填写手机号码页面) ,String

    返回数据

    重定向至Moka面试签到页面。

    获取面试反馈数据

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/data/interviewer_feedbacks
    

    返回样例

    {
      "data": [
        {
           "applicationId": 1,
           "round": 1,
           "interviewerName": "张三",
           "interviewerEmail": "zhangsan@mokahr.com",
         "resultName": "非常不满意",
         "resultType": 0,
           "feedback": "技术不错",
           "feedbackTemplateResult": {
              "items":[
                {
                 "type":1,
                 "key":889274446478.9995,
                 "title":"个人能力",
                 "scoreType":5,
                 "calcScoreType":"total",
                 "subjects":    [
                   {
                     "title":"沟通能力",
                     "description":"",
                     "result":4,
                     "key":108456151784.09537
                   },
                   {
                     "title":"技能经验",
                     "description":"",
                     "result":3,
                     "key": 160786089566.0061
                    }
                  ]
                },
                {
                  "type":2,
                  "key":986979085907.8695,
                  "title":"",
                  "description":"",
                  "subjects":[
                    {
                      "title":"专业技巧",
                      "key":     54296490060.84821,
                      "result":0,
                      "options":[
                        {
                          "value":"招聘知识强",
                          "key":1478619790466.305
                        },
                        {
                          "value":"系统理解强",
                          "key":772643685729.6316
                         },
                         {
                              "value":"技术能力强",
                              "key":982210359123.4211
                         }
                    ]
                 }
               ]
              },
              {
                "type":3,
                "key":716130309734.7427,
                "title":"",
                "description":"",
                "subjects":[
                  {
                    "title":"综合评语",
                    "key":529722675109.2128,
                    "result":"不错"
                  }
                ]
              }
            ]
         }
      }
      ],
      "next": "8465195468"
    }
    

    HTTP请求

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

    请求query

    字段 必填 类型 描述
    fromTime 首次请求必填 string 数据的开始时间,fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。
    next 与fromTime有一个必填 string 分页参数,如果有更多的数据可供拉取,响应的json中会有一个next字段,下次请求只需要把这个next参数加到query中就可以了。fromTime参数只在第一次请求时带,之后的请求就不需要带了,也就是nextfromTime只需要带其中一个。如果响应中没有next字段,表示没有更多的数据了
    limit string 分页用的每页条数,默认100

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    applicationId integer 申请Id
    interviewerName string 面试官名字
    interviewerEmail string 面试官邮箱
    result Deprecated integer 面试结果
    可选值:
    1:非常不满意
    2:不满意
    3;满意
    4:非常满意
    resultName string 面试反馈结果
    resultType integer 面试反馈结果类型
    可选值:0: 不满意
    1: 满意
    interviewType string 面试类型,以下值之一: 电话面试, 现场面试, 集体面试, 视频面试
    round number 面试轮次
    可选值:
    1 初试
    2 复试
    3 终试
    feedback string 面试反馈内容
    feedbackTemplateResult object 面试评价表信息
    feedbackTemplateResult.items array 面试评价表的题目列表
    feedbackTemplateResult.items[].type number 题目类型
    可选值:
    1: 打分题
    2: 单选题
    3: 描述题
    4: 多选题
    feedbackTemplateResult.items[].title string 题目标题
    feedbackTemplateResult.items[].description string 题目描述
    feedbackTemplateResult.items[].calcScoreType string avg: 计算平均分,total: 计算总分 (这个字段只有在type为1时有效)
    feedbackTemplateResult.items[].scoreType number 5表示5分制,10表示10分制(这个字段只有在type为1时有效)
    feedbackTemplateResult.items[].needReason string 是否需要打分综述(这个字段只有在type为1时有效)
    feedbackTemplateResult.items[].subjects array 题目下各个小题的信息
    feedbackTemplateResult.items[].subjects[].title array 小题标题
    feedbackTemplateResult.items[].subjects[].description array 小题描述
    feedbackTemplateResult.items[].subjects[].result array 小题结果: 打分题为所选分数的数值;单选题为选项的索引值,从0开始;描述题为描述的字符串
    feedbackTemplateResult.items[].subjects[].options array 选项字符串数组(这个字段只有在type为2时有效)
    updatedAt string 本条数据的最近更新时间
    feedbackTime string 首次反馈时间
    first_feedback_user_id string 首次反馈填写人
    last_feedback_user_id string 最新反馈填写人

    添加面试评价表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/addFeedbackTemplates \
       -X POST
       -H 'Content-Type: application/json' \
       -d '
         {
          "name": "面试评价表",
          "items": "[{\"title\":\"模块1\",\"description\":\"测试\",\"subjects\":[{\"type\":1,\"title\":\"JVM\",\"description\":\"测试\",\"scoreType\":5,\"needReason\":false,\"isRequired\":false,\"id\":\"d694ac72-1e57-4be1-b899-c3ad7f1f9feb\"}]}]",
          "isOptimizedDeptIds": true,
          "departmentType": 1,
          "hireMode": 1,
          "email": "linjianjun@mokahr.com",
          "description": "这是描述",
          "departmentIds": ["1","2"],
          "linkageRelationship": "[{\"id\":\"523093a1-1727-49f1-80a7-26e6a817e44b\",\"linkages\":[{\"id\":\"1f4a6cf6-b5d6-4341-8187-989343cf98d7\",\"value\":0},{\"id\":\"11b1075c-5993-4338-8961-337747bac351\",\"value\":1}]}]"
        }'
    

    返回样例

    {
       "code": 200,
       "message": "success",
       "data": {
         "id": "3435353"
       }
    }
    

    添加对应的面试评价表

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    name string 面试评价表名称
    items string 面试评价表模块字符串(具体Items的json见下方Item详解)
    hireMode number 招聘模式
    可选值:
    1:社招
    2:校招
    email string 操作人邮箱
    isOptimizedDeptIds boolean 面试评价表部门联动开关
    departmentIds array 部门Id数组
    departmentType number 部门类型
    0:使用MOKA系统的
    1:使用部门同步
    description string 面试评价表描述
    linkageRelationship string 面试评价表联动关系

    Item参数详解

    字段 必填 类型 描述
    title string 模块名称
    description string 模块描述
    calcScoreType string 积分方式 'avg:平均分
    subjects[] array 题目信息数组
    subjects[].id string 题目ID(同一评价表下,题目ID不可重复)
    subjects[].type integer 题目类型
    可选值:
    1:打分题
    2:单选
    3:描述
    4:多选
    subjects[].title string 题目名称
    subjects[].description string 题目描述
    subjects[].scoreType number type为1的时候必填,为其他值则不填
    subjects[].options[] array 题目为选择题的时候(type为2和4的时候,必填)里面是json对象(eg:[{value:"选项1"}])
    subjects[].arrangeType number type为2或者4的时候此时必填(也就是题目为单选或者多选的时候)意思为每行几个选项
    subjects[].needReason boolean 是否需要打分综合描述
    subjects[].isRequired boolean 是否必填
    subjects[].weight number calcScoreType === 'weight' 才会出现 权重比 50 代表50% 另外只有打分题才会计算权重
    subjects[].ratio number 系数非负一位小数,只有标准面试评价表中的打分题会出现

    返回body的JSON数据如下:

    字段 类型 描述
    code number 非200代表错误
    message string 操作信息
    data object 返回的数据体
    data.id number 面试评价表id

    更新面试评价表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/updateFeedbackTemplates \
       -X POST
       -H 'Content-Type: application/json' \
       -d '
        {
          "id": "123",
          "name": "面试评价表",
          "items": "[{\"title\":\"模块1\",\"description\":\"测试\",\"subjects\":[{\"type\":1,\"title\":\"JVM\",\"description\":\"测试\",\"scoreType\":5,\"needReason\":false,\"isRequired\":false,\"id\":\"d694ac72-1e57-4be1-b899-c3ad7f1f9feb\"}]}]",     
          "isOptimizedDeptIds": true,
          "departmentType": 0,
          "hireMode": 1,
          "email": "linjianjun@mokahr.com",
          "description": "这是描述",
          "departmentIds": [1,2],
           "linkageRelationship": "[{\"id\":\"523093a1-1727-49f1-80a7-26e6a817e44b\",\"linkages\":[{\"id\":\"1f4a6cf6-b5d6-4341-8187-989343cf98d7\",\"value\":0},{\"id\":\"11b1075c-5993-4338-8961-337747bac351\",\"value\":1}]}]"
        } '
    

    返回样例

    {
       "code": 200,
       "message": "success",
       "data": null
    }
    

    更新对应的面试评价表

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    id number 面试评价表id
    name string 面试评价表名称
    items string 面试评价表模块字符串(具体Items的json见下方Item详解)
    hireMode number 招聘模式
    可选值:
    1:社招
    2:校招
    email string 操作人邮箱
    isOptimizedDeptIds boolean 面试评价表部门联动开关
    departmentIds array 部门Id数组
    departmentType number 部门类型
    0:使用MOKA系统的
    1:使用部门同步
    description string 面试评价表描述
    linkageRelationship string 面试评价表联动关系

    Item参数详解

    字段 必填 类型 描述
    title string 模块名称
    description string 模块描述
    calcScoreType string 积分方式 'avg:平均分
    subjects[] array 题目信息数组
    subjects[].id string 题目ID(同一评价表下,题目ID不可重复)
    subjects[].type integer 题目类型
    可选值:
    1:打分题
    2:单选
    3:描述
    4:多选
    subjects[].title string 题目名称
    subjects[].description string 题目描述
    subjects[].scoreType number type为1的时候必填,为其他值则不填
    subjects[].options[] array 题目为选择题的时候(type为2和4的时候,必填)里面是json对象(eg:[{value:"选项1"}])
    subjects[].arrangeType number type为2或者4的时候此时必填(也就是题目为单选或者多选的时候)意思为每行几个选项
    subjects[].needReason boolean 是否需要打分综合描述
    subjects[].isRequired boolean 是否必填
    subjects[].weight number calcScoreType === 'weight' 才会出现 权重比 50 代表50% 另外只有打分题才会计算权重
    subjects[].ratio number 系数非负一位小数,只有标准面试评价表中的打分题会出现

    返回body的JSON数据如下:

    字段 类型 描述
    code number 非200代表错误
    message string 操作信息
    data object 返回的数据题默认为null

    删除面试评价表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/deleteFeedbackTemplates \
       -X POST
       -H 'Content-Type: application/json' \
       -d '
        {
          "id": "123"
        } '
    

    返回样例

    {
       "code": 200,
       "message": "success",
       "data": null
    }
    

    删除对应的面试评价表

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    id number 面试评价表id

    返回body的JSON数据如下:

    字段 类型 描述
    code number 非200代表错误
    message string 操作信息
    data object 返回的数据体默认为null

    查询面试方案

    请求样例

    $ curl --location 'https://api.mokahr.com/api-platform/v1/interview-plan/getInterviewPlanConfig' \
    --header 'Content-Type: application/json' \
    --header 'Cookie: locale=zh-CN' \
    --data '{
        "ids" : [686]
    }'
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/interview-plan/getInterviewPlanConfig

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": [
            {
                "interviewPlanConfig": [
                    {
                        "feedbackTemplateId": 128,
                        "interviewConclusionDecideRulesId": 0,
                        "interviewRoundId": 200000130,
                        "sort": 1
                    },
                    {
                        "feedbackTemplateId": 129,
                        "interviewConclusionDecideRulesId": 0,
                        "interviewRoundId": 200000131,
                        "sort": 2
                    },
                    {
                        "feedbackTemplateId": 0,
                        "interviewConclusionDecideRulesId": 0,
                        "interviewRoundId": 200000132,
                        "sort": 3
                    },
                    {
                        "feedbackTemplateId": 0,
                        "interviewConclusionDecideRulesId": 0,
                        "interviewRoundId": 200000450,
                        "sort": 4
                    }
                ],
                "interviewPlanId": 686,
                "interviewPlanName": "社招面试方案1",
                "version": "1.0"
            }
        ],
        "msg": "成功",
        "success": true
    }
    

    请求body参数

    字段 必填 类型 描述
    interviewPlanIds number 可以传多个面试方案,如果不传,则查询全部面试方案

    返回body的JSON数据如下:

    字段 类型 描述
    interviewPlan array 面试方案数组
    interviewPlanId string 面试方案id
    interviewPlanName string 面试方案名称
    interviewPlanConfig array 面试方案配置
    interviewRoundId number 面试轮次id
    feedbackTemplateId number 面试评价表id
    interviewConclusionDecideRulesId number 面试结果判定规则id
    sort number 排序值
    nextCursor number 分页游标,第一次查询不用传(该属性值取自上次调用时,响应参数返回的nextcursor值)
    pageSize number 分页用的每页条数,默认100

    拉取单场面试信息

    请求样例

    $ curl -X POST \
      https://api.mokahr.com/api-platform/v1/interview/interview-information \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 1234-7d7d-49ee-866d-8fc34567' \
      -d '{"applicationIds":[123],"email":"ttt@moka.com"}'
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/interview/interview-information

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": [
            {
                "applicationId": 123,
                "createdAt": 1706521302000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 123,
                        "intervieweeVideoUrl": "",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 412343,
                                "interviewer": {
                                    "id": "5234",
                                    "name": "刘"
                                },
                                "interviewerId": 5666
                            }
                        ],
                        "round": 16,
                        "roundName": "这是很长的轮次名称啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦",
                        "startTime": 1706522400000
                    }
                ],
                "interviewArranger": {
                    "id": "410105860",
                    "name": "wangzhuang"
                },
                "interviewArrangerId": 410105860,
                "startDay": 1706522400000,
                "typeCode": 1,
                "valid": true
            },
            {
                "applicationId": 123,
                "createdAt": 1706596988000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 411242466,
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 412343,
                                "interviewer": {
                                    "id": "5666",
                                    "name": "刘"
                                },
                                "interviewerId": 5666
                            },
                            {
                                "feedbackId": 42344,
                                "interviewer": {
                                    "id": "6592",
                                    "name": "杜"
                                },
                                "interviewerId": 6592
                            },
                            {
                                "feedbackId": 41178,
                                "interviewer": {
                                    "id": "6427",
                                    "name": "高"
                                },
                                "interviewerId": 6427
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1706598000000
                    }
                ],
                "interviewArranger": {
                    "id": "4101058",
                    "name": "wang"
                },
                "interviewArrangerId": 41010560,
                "startDay": 1706598000000,
                "typeCode": 1,
                "valid": true
            },
            {
                "applicationId": 123,
                "createdAt": 1706521583000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 41124233,
                        "intervieweeVideoUrl": "",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 41173095,
                                "interviewer": {
                                    "id": "41010560",
                                    "name": "wang"
                                },
                                "interviewerId": 41010560
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1706608800000
                    }
                ],
                "interviewArranger": {
                    "id": "41010560",
                    "name": "wangzhuang"
                },
                "interviewArrangerId": 41010580,
                "startDay": 1706608800000,
                "typeCode": 1,
                "valid": true
            },
            {
                "applicationId": 42537377,
                "createdAt": 1711422246000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 41124492,
                        "intervieweeVideoUrl": "https://meeting.tencent.com/dm/E7L4qy7pZm",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 411788,
                                "interviewer": {
                                    "id": "5666",
                                    "name": "刘"
                                },
                                "interviewerId": 5666
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1711423800000
                    },
                    {
                        "duration": 30,
                        "id": 4112443,
                        "intervieweeVideoUrl": "https://meeting.tencent.com/dm/E7L4qy7p4m",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 4117859,
                                "interviewer": {
                                    "id": "7280",
                                    "name": "胡"
                                },
                                "interviewerId": 780
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1711425600000
                    }
                ],
                "interviewArranger": {
                    "id": "4105860",
                    "name": "wang"
                },
                "interviewArrangerId": 4101860,
                "startDay": 1711423800000,
                "typeCode": 4,
                "valid": true
            },
            {
                "applicationId": 123,
                "createdAt": 1711620793000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 4112493,
                        "intervieweeVideoUrl": "",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 4117858,
                                "interviewer": {
                                    "id": "7280",
                                    "name": "胡"
                                },
                                "interviewerId": 7280
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1711621800000
                    }
                ],
                "interviewArranger": {
                    "id": "410105860",
                    "name": "wang"
                },
                "interviewArrangerId": 40105860,
                "startDay": 1711621800000,
                "typeCode": 1,
                "valid": true
            },
            {
                "applicationId": 425347377,
                "createdAt": 1711684014000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 411244717,
                        "intervieweeVideoUrl": "",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 411785598,
                                "interviewer": {
                                    "id": "6427",
                                    "name": "高"
                                },
                                "interviewerId": 6427
                            }
                        ],
                        "round": 4,
                        "roundName": "初试",
                        "startTime": 1711684800000
                    }
                ],
                "interviewArranger": {
                    "id": "410105860",
                    "name": "wang"
                },
                "interviewArrangerId": 410105860,
                "startDay": 1711684800000,
                "typeCode": 2,
                "valid": true
            },
            {
                "applicationId": 425347377,
                "createdAt": 1712567677000,
                "entities": [
                    {
                        "duration": 30,
                        "id": 411245123,
                        "intervieweeVideoUrl": "",
                        "interviewerFeedbacks": [
                            {
                                "feedbackId": 411786027,
                                "interviewer": {
                                    "id": "7280",
                                    "name": "胡"
                                },
                                "interviewerId": 7280
                            },
                            {
                                "feedbackId": 411786028,
                                "interviewer": {
                                    "id": "410105860",
                                    "name": "wang"
                                },
                                "interviewerId": 410105860
                            },
                            {
                                "feedbackId": 411786029,
                                "interviewer": {
                                    "id": "26446",
                                    "name": "Han"
                                },
                                "interviewerId": 26446
                            }
                        ],
                        "round": 17,
                        "roundName": "这是很长名字",
                        "startTime": 1712568600000
                    }
                ],
                "interviewArranger": {
                    "id": "410105860",
                    "name": "wang"
                },
                "interviewArrangerId": 410105860,
                "startDay": 1712568600000,
                "typeCode": 1,
                "valid": true
            }
        ],
        "msg": "成功",
        "success": true
    }
    

    请求body参数

    字段 必填 类型 描述
    applicationIds array 申请id集合
    email string 邮箱

    返回body的JSON数据如下:

    字段 类型 描述
    typeCode integer 面试类型:1.现场面试 2.集体面试 3.电话面试 4.视频面试
    valid boolean 是否取消 false:取消
    createdAt date 创建时间
    applicationId integer 申请ID
    interviewArranger object 面试负责人
    interviewArranger.id string 面试负责人id
    interviewArranger.name string 面试负责人名称
    entities[] array 面试信息
    entities[].id integer 面试ID
    entities[].duration integer 面试时间:单位分钟
    entities[].intervieweeVideoUrl string 面试链接
    entities[].round integer 面试轮次ID
    entities[].roundName string 面试轮次
    entities[].startTime date 面试开始时间
    entities[].interviewerFeedbacks[] array 面试反馈信息
    entities[].interviewerFeedbacks[].feedbackId integer 面试评价id
    entities[].interviewerFeedbacks[].interviewer object 面试官信息
    entities[].interviewerFeedbacks[].interviewer.id string 面试官id
    entities[].interviewerFeedbacks[].interviewer.name string 面试官名称

    拉取面试评价表配置及数据

    请求样例

    $ curl -X POST \
      https://api.mokahr.com/api-platform/v1/interview/getInterviewFeedbackTpl \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: ba847e42-10d2-42fa-9eee-3defd1' \
      -d '{"feedbackId":123,"email":"ttt@moka.com"}'
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/interview/getInterviewFeedbackTpl

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": {
            "applicationId": 42537,
            "feedback": "2",
            "feedbackId": 123,
            "feedbackResultId": 4181,
            "feedbackResultList": [
                {
                    "feedbackResultId": 4181,
                    "feedbackResultName": "非常不满意"
                },
                {
                    "feedbackResultId": 4182,
                    "feedbackResultName": "不满意"
                },
                {
                    "feedbackResultId": 4183,
                    "feedbackResultName": "非常满意"
                },
                {
                    "feedbackResultId": 4184,
                    "feedbackResultName": "满意"
                },
                {
                    "feedbackResultId": 410026016,
                    "feedbackResultName": "待定"
                }
            ],
            "feedbackResultName": "非常不满意",
            "feedbackTemplateResult": {
                "description": "",
                "items": [
                    {
                        "description": "",
                        "id": "2a67ba30-39b1-48f0-93f372e70d5b6",
                        "subjects": [
                            {
                                "arrangeType": 0,
                                "description": "1、的九康京东方就\n2、大师级绝对第三节课\n3、大师空",
                                "id": "1e3cb4a0-7c3f-481e-8a4abfe5fbf6",
                                "isFoldDescription": true,
                                "isRequired": false,
                                "needReason": true,
                                "relatedQuestion": true,
                                "result": 2,
                                "scoreType": 5,
                                "title": "11",
                                "type": 1
                            },
                            {
                                "arrangeType": 0,
                                "description": "1、大家看见地方接口\n2、杜佳的看速度金卡戴珊就\n3、大师得大师级\n4、大师级绝对是绝是加快速度",
                                "id": "5bcc1188-da8c-4b13-8f94-919327f2",
                                "isFoldDescription": false,
                                "isRequired": false,
                                "needReason": false,
                                "relatedQuestion": true,
                                "scoreType": 5,
                                "title": "12",
                                "type": 1
                            }
                        ],
                        "title": "这是新建的评价表"
                    },
                    {
                        "description": "",
                        "id": "55a1c7dc-6af2-49ee-86c1aca40c57",
                        "subjects": [
                            {
                                "arrangeType": 0,
                                "description": "我认为人人车23场",
                                "id": "23d04fbd-2333-4f13-9d20-29f65c89cdb7",
                                "invisible": true,
                                "isRequired": false,
                                "needReason": false,
                                "scoreType": 5,
                                "title": "万人次",
                                "type": 3
                            },
                            {
                                "arrangeType": 0,
                                "description": "a是的",
                                "id": "e4710ffd-43b8-4142-83d1-899ad5",
                                "isRequired": false,
                                "needReason": false,
                                "scoreType": 5,
                                "title": "2",
                                "type": 3
                            }
                        ],
                        "title": "仍维持"
                    },
                    {
                        "description": "是的",
                        "id": "0fee2d7e-fdca-43bc141e9a57",
                        "subjects": [
                            {
                                "arrangeType": 0,
                                "description": "安德森",
                                "id": "cce8922c-82c9-4b22-b638-24210c36bd35",
                                "isRequired": false,
                                "needReason": false,
                                "options": [
                                    {
                                        "value": "选项1"
                                    },
                                    {
                                        "value": "选项2"
                                    }
                                ],
                                "scoreType": 5,
                                "title": "2阿斯顿",
                                "type": 2
                            }
                        ],
                        "title": "阿斯顿"
                    }
                ],
                "name": "校招面试评价表111"
            },
            "interviewId": 411243,
            "interviewerId": 4105860
        },
        "msg": "成功",
        "success": true
    }
    

    请求body参数

    字段 必填 类型 描述
    feedbackId Integer 面试反馈id
    email string 邮箱

    返回body的JSON数据如下:

    字段 类型 描述
    feedbackId Integer 面试评价ID
    interviewerId Integer 面试官id
    interviewId Integer 面试id
    applicationId Integer 申请id
    feedback string 评价内容
    feedbackResultId Integer 评价结果ID
    feedbackResultName string 评价结果
    feedbackTemplateResult object 评价明细
    feedbackTemplateResult.name string 评价名称
    feedbackTemplateResult.description string 评价描述
    feedbackTemplateResult.items[] array 评价明细
    feedbackTemplateResult.items[].id string 模块id
    feedbackTemplateResult.items[].description string 模块描述
    feedbackTemplateResult.items[].title string 模块标题
    feedbackTemplateResult.items[].subjects[] array 模块下每个小题的信息
    feedbackTemplateResult.items[].subjects[].id string 小题id
    feedbackTemplateResult.items[].subjects[].description string 小题描述
    feedbackTemplateResult.items[].subjects[].isRequired boolean 是否必须
    feedbackTemplateResult.items[].subjects[].needReason boolean 是否需要原因
    feedbackTemplateResult.items[].subjects[].arrangeType integer 安排类型
    feedbackTemplateResult.items[].subjects[].scoreType integer 小题分数类型
    feedbackTemplateResult.items[].subjects[].title string 小题题目标题
    feedbackTemplateResult.items[].subjects[].type integer 题目类型,可选值:
    1:打分题
    2: 单选题
    3: 描述题
    4: 多选题
    feedbackTemplateResult.items[].subjects[].options[] array 选项字符串数组(只在type为2、4时有效)
    feedbackTemplateResult.items[].subjects[].options[].value string 选项值
    feedbackResultList[] array 可选择的评价结果列表
    feedbackResultList[].feedbackResultId interger 评价结果ID
    feedbackResultList[].feedbackResultName string 评价结果

    填写面试反馈

    请求样例

    $ curl -X POST \
      https://api.mokahr.com/api-platform/v1/interview/updateInterviewFeedback \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 18cd54dc-89f1-4ee1-9801-340d' \
      -d '{
        "orgId": "nonobank",
        "email": "wang@mokahr.com",
        "applicationId": 427,
        "feedback": "2",
        "feedbackId": 411795,
        "feedbackResultId": 4181,
        "feedbackResultList": [
            {
                "feedbackResultId": 4181,
                "feedbackResultName": "非常不满意"
            },
            {
                "feedbackResultId": 4182,
                "feedbackResultName": "不满意"
            },
            {
                "feedbackResultId": 4183,
                "feedbackResultName": "非常满意"
            },
            {
                "feedbackResultId": 4184,
                "feedbackResultName": "满意"
            },
            {
                "feedbackResultId": 410026016,
                "feedbackResultName": "待定"
            }
        ],
        "feedbackResultName": "非常不满意",
        "feedbackTemplateResult": {
            "description": "",
            "items": [
                {
                    "description": "",
                    "id": "2a67ba30-39b1-48f0-93f3-46672e70d5b6",
                    "subjects": [
                        {
                            "arrangeType": 0,
                            "description": "1、的九分裤京东方就就\n2、大师级绝对是就大三节课\n3、大师级绝对三节课四大皆空",
                            "id": "1e3cb4a0-7c3f-481e-ba90-8a4abfe5fbf6",
                            "isFoldDescription": true,
                            "isRequired": false,
                            "needReason": true,
                            "relatedQuestion": true,
                            "result": 2,
                            "scoreType": 5,
                            "title": "11",
                            "type": 1
                        },
                        {
                            "arrangeType": 0,
                            "description": "1、大家减级的尽快答复看见地方接口\n2、杜佳美大师度金卡戴珊就\n3、大师级大师级试看见的都可见觉得大师级\n4、大师级绝对三节课绝对是绝对是加快速度",
                            "id": "5bcc1188-da8c-4b13-8f94-9954619327f2",
                            "isFoldDescription": false,
                            "isRequired": false,
                            "needReason": false,
                            "relatedQuestion": true,
                            "scoreType": 5,
                            "title": "12",
                            "type": 1
                        }
                    ],
                    "title": "这是新建的评价表"
                },
                {
                    "description": "",
                    "id": "55a1c7dc-6af2-49ee-86c1-c908aca40c57",
                    "subjects": [
                        {
                            "arrangeType": 0,
                            "description": "我认为人人车23场",
                            "id": "23d04fbd-2333-4f13-9d20-29f65c89cdb7",
                            "invisible": true,
                            "isRequired": false,
                            "needReason": false,
                            "scoreType": 5,
                            "title": "万人次",
                            "type": 3
                        },
                        {
                            "arrangeType": 0,
                            "description": "a是的",
                            "id": "e4710ffd-43b8-4142-83d1-84382e099ad5",
                            "isRequired": false,
                            "needReason": false,
                            "scoreType": 5,
                            "title": "2",
                            "type": 3
                        }
                    ],
                    "title": "仍维持"
                },
                {
                    "description": "是的",
                    "id": "0fee2d7e-fdca-47ab-a465-53bc141e9a57",
                    "subjects": [
                        {
                            "arrangeType": 0,
                            "description": "安德森",
                            "id": "cce8922c-82c9-4b22-b638-24210c36bd35",
                            "isRequired": false,
                            "needReason": false,
                            "options": [
                                {
                                    "value": "选项1"
                                },
                                {
                                    "value": "选项2"
                                }
                            ],
                            "scoreType": 5,
                            "title": "2阿斯顿",
                            "type": 2
                        }
                    ],
                    "title": "阿斯顿"
                }
            ],
            "name": "校招面试评价表111"
        },
        "interviewId": 41123,
        "interviewerId": 410105860
    }'
    
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/interview/updateInterviewFeedback

    返回样例

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

    请求body参数

    字段 必填 类型 描述
    feedbackId Integer 面试评价ID
    email String 邮箱
    feedback string 评价内容(传feedbackResultId才会生效)
    feedbackResultId Integer 评价结果ID
    feedbackTemplateResult object 评价明细
    feedbackTemplateResult.items[] array 评价明细
    feedbackTemplateResult.items[].id string 模块id
    feedbackTemplateResult.items[].subjects[] array 模块下每个小题的信息
    feedbackTemplateResult.items[].subjects[].id string 小题id
    feedbackTemplateResult.items[].subjects[].result object 根据题目类型type不同:
    1:打分题 例如 3(number 表示分数)
    2: 单选题 例如 0(integer 表示下标,从0开始)
    3: 描述题 例如 优秀(string 表示描述)
    4: 多选题 例如 [0,3] (array 表示多选的下标)
    feedbackTemplateResult.items[].subjects[].reason string 原因,当需要传原因时传

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 接口调用状态
    msg string 返回的调用消息
    success boolean 是否调用成功

    Offer API

    此部分API主要用于更新候选人在Offer/入职阶段的状态。应用场景为候选人通过webhook推送到其他系统,其他系统的信息同步更新Moka内该候选人状态,以保证数据的准确性以及避免手动二次操作。

    创建Offer

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/create-offer \
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '
        {
          "applicationId": 12,
          "salaryNumber": 1000,
          "salaryType": 1,
          "checkinDate": "2018-08-06T16:00:00.000Z",
          "contactUserName": "张三",
          "contactEmail": "zhangsan@mokahr.com",
          "contactPhone": "18612345678",
          "locationId": 1,
          "customFields": [
            {
              "name": "字段1",
              "value": "value1"
            },
            {
              "name": "字段2",
              "value": 2
            }
          ]
        } '
    

    返回样例

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

    传入Offer信息,创建一个Offer。需要您的CSM开启该功能

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/create-offer

    请求body参数

    字段 必填 类型 描述
    applicationId integer 要更新offer审批结果的申请id
    salaryNumber integer 候选人薪资
    salaryType integer 薪资类型
    可选值:
    1:时薪
    2:日薪
    3:月薪
    4:年薪
    checkinDate string 入职时间
    locationId integer 入职地点id
    contactUserName string 联系人姓名
    contactPhone string 联系人电话
    contactEmail string 联系人邮箱
    customFields array 自定义字段
    customFields[].id string 自定义字段名称(注:Id和name参数必须传其一)
    customFields[].name string 自定义字段名称(注:Id和name参数必须传其一)
    customFields[].value string 自定义字段值
    creatorEmail string 创建人邮箱
    creatorNumber string 创建人工号
    toCandidateAttachment array 发送给候选人的附件key(通过公共API附件上传接口获取),数量不能超过5个
    toApproverAttachment array 发送给审批人的附件key(通过公共API附件上传接口获取),数量不能超过5个
    hcId integer 关联headcount ID
    jobRankId integer 职位级别id(获取企业职位级别接口获取)
    departmentCode string 入职部门code
    isCreateOfferAttachment boolean false:不创建offer附件,true:创建默认offer附件
    templateId integer offer附件模板id

    更新offer

    用于对系统中已存在的offer进行更新,更新offer必审字段后,原Offer审批会失效,需要重新发起审批

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offers/offerFields/update \
       -u 'your_api_key:' \
       -X POST \
       -d '
        {
          "applicationId": 1,
          "orgId": "test",
          "operatorName": "zwj",
          "fields": [
            {
              "name": "预计入职时间",
              "value": "2020-09-09"
            }
          ]
        } '
    

    返回样例

    {
      "code": 200,
      "msg": "xxx"
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/offers/offerFields/update

    请求body参数

    字段 必填 类型 描述
    applicationId Long 申请id
    orgId String orgId
    operatorName String 操作人
    fields array 需要更新的字段,可以有多个元素
    fields[].id string 自定义字段名称(注:Id和name参数必须传其一)
    fields[].name String 字段中文名称
    fields[].value String name对应的值

    返回body的JSON数据如下:

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明

    获取offer附件模板列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/listOfferTemplateByOrgId \
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '{ "hireMode": 1 }'
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": [
            {
                "id": 410002334,
                "templateName": "系统默认Offer附件模板",
                "templateCategory": 1,
                "version": "1.0"
            }
        ]
    }
    

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    id integer 模板id
    templateName string 模板名称
    templateCategory integer 模板类型
    可选值:
    1:在线模板
    2:导入模板

    获取Offer审批列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offerApprovals?email={email}&period={period} \
       -u 'your_api_key:' \
       -X GET \
    

    返回样例

    {
      "total": 1,
      "offerApprovals": [
        {
          "candidateName": "Arturia Pendragon",
          "jobTitle": "Saber",
          "departmentName": "Servants",
          "initiatedAt": "2018-03-16T09:10:26.000Z",
          "url": "https://app.mokahr.com/"
        }
      ]
    }
    

    根据用户的email和offer审批状态获取需要该用户审批的offer。

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/offerApprovals?email={email}&period={period}

    请求Query参数

    字段 必填 描述
    email 当前用户在moka系统中使用的email
    period 审批状态
    可选值:
    past: 已审批
    pending: 待审批

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    total integer 返回数据总数量
    offerApprovals[].candidateName string 候选人姓名
    offerApprovals[].jobTitle string 职位名称
    offerApprovals[].departmentName string 部门名称
    offerApprovals[].initiatedAt string 发起审批时间。日期格式为:ISO8601
    offerApprovals[].url string 审批url

    审批offer

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/applications/offerApproval \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
       -d '
        {
          "applicationId": 12,
          "status": 1
        } '
    

    返回样例

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

    根据申请ID和状态更新offer审批结果,需要您的csm开启外部审批功能

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/offerApproval

    请求body参数

    字段 必填 类型 描述
    applicationId integer 要更新offer审批结果的申请id
    status integer 审批结果更新状态
    可选值:
    1: 审批通过
    2: 审批驳回
    3: 审批中

    发送offer

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/sendOffer \
       -u 'your_api_key:' \
       -X POST \
       -H 'Content-Type: application/json' \
       -d '
        {
          "applicationId":1234,
          "notifySms":false,
          "notifyEmail":true,
          "notifyWechat":true
        }'
    

    返回样例

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

    根据applicationId发送offer

    HTTP请求

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

    请求body参数

    字段 必填 类型 描述
    applicationId integer 申请Id
    hrEmail string 操作hr邮箱
    notifySms boolean 是否给候选人发送短信,默认否
    notifyEmail boolean 是否给候选人发送邮件,默认否
    notifyWechat boolean 是否给候选人发送微信,默认否
    ccUserEmails array 抄送人(受notifyEmail开关控制) eg: ["123@mail.com"]

    接收/拒绝Offer

    设置候选人Offer反馈状态,Moka 系统收到后将对应的申请标记为接受或拒绝。

    请求样例

    $ curl http://api.mokahr.com/api-platform/v1/offer/status?applicationId=89&accepted=1&reasonId=1 \
       -u 'your_api_key:' \
       -X PUT \
    

    返回样例

    {
        "code": 0
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/offer/status?applicationId={applicationId}&accepted={accepted}&reasonId={reasonId}

    请求参数

    字段 必填 描述
    applicationId 申请id
    accepted 反馈状态
    可选值:
    1:接受
    0:拒绝
    reasonId 系统的归档原因和客户自定的归档原因id, 当反馈状态是拒绝时为必填项
    talentPoolId 公开人才库id, 不填写默认进入公共人才库, 当反馈状态是拒绝时才会生效
    fbTime 反馈时间

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 0设置成功

    获取offer自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v2/offers/custom_fields 
        -u 'your-api-key:'
        -X POST
        -H 'Content-Type: application/json'
        -d '{
          "hireMode": 1
          }'
    

    返回样例

    {
        "code": 0,
        "message": "success",
        "data": [
            {
                "id": "7513",
                "name": "预计入职时间",
                "hireMode": 1,
                "type": 4,
                "isBuiltin": true,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },
            {
                "id": "410000250",
                "name": "多行文本-1",
                "hireMode": 1,
                "type": 1,
                "supplementaryLocales": {
                    "en-US": {
                        "name": ""
                    }
                },
                "isBuiltin": false,
                "isRequired": true,
                "isSensitive": true,
                "isVisible": true,
                "reapprovalRequired": true
            },
            {
                "id": "410000251",
                "name": "是否题",
                "hireMode": 1,
                "type": 3,
                "supplementaryLocales": {
                    "en-US": {
                        "name": ""
                    }
                },
                "isBuiltin": false,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },       {
                "id": "410002280",
                "name": "选择题",
                "hireMode": 1,
                "type": 6,
                "supplementaryLocales": {
                    "en-US": {
                        "name": "",
                        "detail": []
                    }
                },
                "detail": [
                    "A",
                    "B",
                    "C",
                    "D"
                ],
                "codes": [
                    "1001",
                    "1002",
                    "1003",
                    "1004"
                ],
                "isBuiltin": false,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },
            {
                "id": "410002282",
                "name": "年月",
                "hireMode": 1,
                "type": 4,
                "supplementaryLocales": {
                    "en-US": {
                        "name": ""
                    }
                },
                "isBuiltin": false,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },
            {
                "id": "410002283",
                "name": "时间年月日----0",
                "hireMode": 1,
                "type": 9,
                "supplementaryLocales": {
                    "en-US": {
                        "name": ""
                    }
                },
                "isBuiltin": false,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },
            {
                "id": "410002292",
                "name": "时间段",
                "hireMode": 1,
                "type": 7,
                "supplementaryLocales": {
                    "en-US": {
                        "name": ""
                    }
                },
                "isBuiltin": false,
                "isRequired": false,
                "isSensitive": false,
                "isVisible": true,
                "reapprovalRequired": false
            },
            {
                "id": "410012394",
                "name": "测33333试",
                "hireMode": 1,
                "type": 6,
                "supplementaryLocales": {
                    "en-US": {
                        "name": "测试-单行文本-英文名称",
                        "detail": [
                            "选项1-e",
                            "选项2-e"
                        ]
                    }
                },
                "detail": [
                    "选项1",
                    "选项2"
                ],
                "codes": [
                    "1005",
                    "1006"
                ],
                "isBuiltin": false,
                "isRequired": true,
                "isSensitive": true,
                "isVisible": false,
                "reapprovalRequired": true
            }
        ]
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v2/offers/custom_fields

    请求body

    字段 是否必填 类型 描述
    hireMode integer 招聘模式
    可选值:
    1:社招
    2:校招

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code integer 返回的code:200正常,其他的都是错误
    msg string 成功返回success,失败返回false
    data array or object 如果是单条数据则返回object多条数据返回的是数组
    data.id integer 自定义字段id
    data.name string 自定义字段名称
    data.hireMode integer 招聘类型
    可选值:
    1: 社招
    2 :校招
    data.type integer 自定义字段类型
    可选值:
    1:单行文本
    2:多行文本
    3:是否题
    4:年月选择
    5:文件
    6:选择题7:时间段
    8:Offer关联的HC
    9:日期
    data.detail array 自定义字段选择项
    data.codes array 自定义字段选择项对应的编码
    data.supplementaryLocales object 多语言的object
    data.supplementaryLocales.en-US object 多语言的英文object
    data.supplementaryLocales.en-US.name string 自定义字段的英文名称
    data.supplementaryLocales.en-US.detail array 自定义字段选择项
    data.isBuiltin boolean 是否内建
    data.isRequired boolean 是否必填
    data.isSensitive boolean 是否私密
    data.isVisible boolean 是否可见
    data.reapprovalRequired boolean 是否必审

    新建offer自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offers/custom_field/create
        -u 'your-api-key:'
        -X POST
        -H 'Content-Type: application/json'
        -d '
        {
          "hireMode": 1,
          "detail":["选项1","选项2"],
          "codes":["1005","1006"],
          "supplementaryLocales":{
            "en-US": {
                "name":"测试-单行文本-英文名称",
                "detail":["选项1-e","选项2-e"]
            }
          },
          "isRequired": true,
          "isSensitive": true,
          "isVisible": false,
          "name": "测33333试",
          "reapprovalRequired": true,
          "type": 6
        }
        '
    

    返回样例

    {
        "code": 200,
        "success": true,
        "msg": "success",
        "data": {
            "id": "410012399"
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/offers/custom_field/create

    请求body

    字段 必填 类型 描述
    name string 自定义字段名称
    hireMode integer 招聘类型
    可选值:
    1: 社招
    2: 校招
    type integer 自定义字段类型
    可选值:
    1:单行文本
    2:多行文本
    3:是否题
    4:年月选择
    6:选择题
    7:时间段
    8:Offer关联的HC
    9:日期
    10:数字
    detail array 自定义字段选择项,选填,当type为6的时候,添加
    data.codes array 自定义字段选择项对应的编码
    supplementaryLocales object 多语言的object,如果设置英文一定要按照下面的格式设定参数,选填
    supplementaryLocales.en-US object 多语言的英文object,选填
    supplementaryLocales.en-US.name string 自定义字段的英文名称,选填
    supplementaryLocales.en-US.detail array 自定义字段选择项,选填
    isRequired boolean 必填,选填默认为false
    isSensitive boolean 是否私密,选填默认为false
    isVisible boolean 是否可见,选填默认为true
    reapprovalRequired boolean 是否必审,选填默认为false
    attributeRule object type为10的时候,所使用的属性规则
    attributeRule.decimalLength number 小数的位数,默认为null
    attributeRule.isSupportNegative boolean 是否支持负数,默认不支持
    attributeRule.numberRange objeact 数字范围
    attributeRule.numberRange.min number 数字范围的最小值
    attributeRule.numberRange.max number 数字范围的最大值

    返回

    返回的body的JSON如下

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    success boolean 已废弃,请勿用于业务逻辑判断,请使用code来判断调用结果
    data object 返回为一个对象
    data.id string 返回当前创建字段的id

    更新offer自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offers/custom_field/update
        -u 'your-api-key:'
        -X PUT
        -H 'Content-Type: application/json'
        -d '
        {
          "id":"410012399",
          "hireMode": 1,
          "detail":["选项1","选项2"],
          "codes":["1005","1006"],
          "supplementaryLocales":{
            "en-US": {
                "name":"测试-单行文本-英文名称",
                "detail":["选项1-e","选项2-e"]
            }
          },
          "isRequired": true,
          "isSensitive": true,
          "isVisible": false,
          "name": "测33333试",
          "reapprovalRequired": true,
          "type": 6
        }
        '
    

    返回样例

    {
        "code": 200,
        "success": true,
        "msg": "success",
        "data": null
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/offers/custom_field/update

    请求body

    字段 必填 类型 描述
    id integer 需要修改的自定义字段的id,必填
    name string 自定义字段名称,选填
    hireMode integer 招聘类型
    可选值:
    1:社招
    2: 校招
    type integer 自定义字段类型
    可选值:
    1:单行文本
    2:多行文本
    3:是否题
    4:年月选择
    6:选择题
    7:时间段
    9:日期
    10:数字
    detail array 自定义字段选择项,选填
    data.codes array 自定义字段选择项对应的编码
    supplementaryLocales object 多语言的object,如果设置多语音一定要按照下面的格式设定参数,选填
    supplementaryLocales.en-US object 多语言的英文object,选填
    supplementaryLocales.en-US.name string 自定义字段的英文名称,选填
    supplementaryLocales.en-US.detail array 自定义字段选择项,选填
    isRequired boolean 必填,选填
    isSensitive boolean 是否私密,选填
    isVisible boolean 是否可见,选填
    reapprovalRequired boolean 是否必审,选填
    attributeRule object type为10的时候,所使用的属性规则
    attributeRule.decimalLength number 小数的位数,默认为null
    attributeRule.isSupportNegative boolean 是否支持负数,默认不支持
    attributeRule.numberRange objeact 数字范围
    attributeRule.numberRange.min number 数字范围的最小值
    attributeRule.numberRange.max number 数字范围的最大值

    返回

    返回的body的JSON如下

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    success boolean 已废弃,请勿用于业务逻辑判断,请使用code来判断调用结果
    data object 返回为null

    删除offer自定义字段列表

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offers/custom_field/delete
        -u 'your-api-key:'
        -X DELETEl
        -H 'Content-Type: application/json'
        -d '
        {
          "id":"410012399"
        }
        '
    

    返回样例

    {
        "code": 200,
        "success": true,
        "msg": "success",
        "data": null
    }
    

    HTTP请求

    DELETE https://api.mokahr.com/api-platform/v1/offers/custom_field/delete

    请求body

    字段 必填 类型 描述
    id integer 需要删除的自定义字段的id,必填

    返回

    返回的body的JSON如下

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    success boolean 已废弃,请勿用于业务逻辑判断,请使用code来判断调用结果
    data object 返回为null

    获取offer附件

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/offer/getOfferAttachment
        -u 'your-api-key:'
        -X POST
        -H 'Content-Type: application/json'
        -d '
        {
          "applicationId":"410012399"
        }
        '
    

    返回样例

    {
        "code": 200,
        "msg": "success",
        "data": {
          "downLoadUrl": "https://moka-test.oss-cn-beijing.aliyuncs.com/0d4281d9d86c43d8b0c46f1ad9fc9b0bf06d0e39fe6645e9a20b5171050259d1.pdf?Expires=1605597667&OSSAccessKeyId=LTAIoEXIQWCGUAZO&Signature=gVAYJv7BBCbIQ7fLYx3K%2Fy1FOso%3D&timestamp=1605594067646"
        }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/offer/getOfferAttachment

    请求body

    字段 必填 类型 描述
    applicationId integer 当前候选人的申请id,必填

    返回

    返回的body的JSON如下

    字段 类型 描述
    code string 200:成功
    非200代表错误
    msg string 接口返回值说明
    data object 对象
    data.downLoadUrl string offer附件的链接

    入职API

    标记候选人未入职

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/applications/33582/rejected \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
    

    返回样例

    {
      "success": true
    }
    or
    {
      "success": false,
      "errorMessage": "该申请已归档"
    }
    

    将申请状态归档,并放入人才库。申请必须处于“待入职”阶段,并且不在人才库中。

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/{applicationId}/rejected

    请求Path参数

    字段 必填 类型 描述
    applicationId integer 要标记已入职的候选人申请id

    请求body参数

    字段 必填 类型 描述
    archiveReasonId number 归档原因id,如果不传,默认为内置的福利待遇不满足
    talentPoolId string 人才库id,如果不传,默认为内置的系统公共人才库(先用查询人才库列表接口,查询人才库id)
    detail string 归档详细原因,可以为空

    返回

    返回body的JSON数据如下:

    字段 描述
    success boolean
    errorMessage string

    标记候选人已入职

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/applications/33582/hired \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
       -d '
        {
          "hcId": 5,
          "hiredAt": "2018-08-06T16:00:00.000Z",
          "probation": 3
        } '
    

    返回样例

    {
      "success": true
    }
    or
    {
      "success": false,
      "errorMessage": "hcId 参数错误"
    }
    
    {
      "success": false,
      "errorMessage": "该申请已归档"
    }
    

    根据候选人申请id及对应招聘需求 id。

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/{applicationId}/hired

    请求Path参数

    字段 必填 类型 描述
    applicationId integer 要标记已入职的候选人申请id

    请求body参数

    字段 必填 类型 描述
    hcId integer 1、当”isUseOfferHcid“参数为1时,(1)若”hcId“不传参,则自动填入当前申请下的offer所关联的招聘需求id;若offer所关联的招聘需求id为空,则”hcId“参数为空。(2)若”hcId“传参,则使用传的值 2、如果传的值为null,不允许传hcId=“”或hcId=null,直接不传此字段即可。
    hiredAt string 实际入职时间
    probation integer 试用期
    可选值:0-6
    0:无试用期
    1-6:对应几个月试用期
    isUseOfferHcid integer 入职时是否使用offer关联的招聘需求。可选值:传1:“hcId”参数在不传参时会自动填入当前申请下的offer所关联的招聘需求id。不传参:不执行“入职时使用offer关联的招聘需求”的逻辑。
    talentPoolIds array 人才库ID列表
    该字段为空或没有任意入职人才库ID时,将候选人放入“系统入职人才库”
    该字段中含“入职人才库ID”时,放入指定的入职人才库
    该字段中含“非入职人才库”时,不会放入该人才库

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    success boolean 成功与否
    errorMessage string 报错信息

    标记候选人已入职转正

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/applications/33582/corrected \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
       -d '
        {
          "status": 1,
          "correctedAt": "2018-08-06T16:00:00.000Z"
        } '
    

    返回样例

    {
      "success": true
    }
    or
    {
      "success": false,
      "errorMessage": "转正状态错误"
    }
    

    根据候选人申请id。

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/{applicationId}/corrected

    请求Path参数

    字段 必填 类型 描述
    applicationId integer 要标记已转正\未转正的候选人申请id;此申请必须已经进入入职人才库中

    请求body参数

    字段 必填 类型 描述
    status integer 更新的转正状态
    可选值
    1:转正
    0:未转正
    correctedAt string 实际转正时间;当status=1时,传递,若不传则默认为当前时间

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    success boolean 成功与否
    errorMessage string 报错信息

    标记候选人已离职

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/applications/35392/resign \
       -u 'your_api_key:' \
       -X PUT \
       -H 'Content-Type: application/json' \
       -d '
        {
          "type": 1,
          "detail":"世界那么大,我想去看看",
          "time": "2018-08-06T16:00:00.000Z"
        }
    

    返回样例

    {
      "success": true
    }
    or
    {
      "success": false,
      "errorMessage": "找不到归档原因,归档信息错误",
      "code": 40040102
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/applications/{applicationId}/resign

    请求Path参数

    字段 必填 类型 描述
    applicationId integer 要标记已离职的候选人申请id

    请求body参数

    字段 必填 类型 描述
    reasonType integer 离职类型的归档原因id
    detail string 离职原因
    time string 离职时间 (默认请求时间)
    email string 操作人的邮箱
    talentPoolId array 操作人有权限的人才库ID(先用查询人才库列表接口,查询人才库id)
    isResignWriteJob boolean 是否回写离职信息
    可选值:
    0:不开启
    1:开启,开启后需填写离职职位
    默认:0
    resignJobName string 离职职位
    resignDepartment string 离职部门
    reason int 离职原因
    可选值:
    0:已离职
    1:主动离职
    2:被动离职
    resignJobType string 离职职类
    当传入的职类完全相同时系统会自动合并

    返回

    返回body的JSON数据如下:

    字段 描述
    success boolean
    已废弃,请勿用于业务逻辑判断,请使用code来判断调用结果
    errorMessage string
    报错信息
    code string

    可能的错误信息

    code errorMessage 说明
    0 success 成功
    40040101 applicationId.error 候选人申请id错误(a.不存在该申请id;b.类型错误)
    40040102 reason.error 离职原因错误(类型错误)
    40040104 talent_pool_Id.error 人才库错误(a.不是离职人才库)
    40040105 email.error 用户邮箱错误(a.不存在该用户;b.邮箱错误)
    40040106 user_permission.error 用户无权限

    内推奖励API

    查询内推奖励

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/recommend/reward/getRecord
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '{operatorEmail: "test@test.com", statusList: ["unconfirmed"], "rewardRecordCreateAtRange": {
        "start": "2024-01-01",
        "end": "2025-01-01",
      }, "pageNum": "1", "pageSize": "30"}'
    

    返回样例

    {
        "code": 0,
        "codeType": 0,
        "data": {
            "list": [
                {
                    "applicationCreatedAt": "2024-10-09",
                    "candidate": {
                        "name": "某某某"
                    },
                    "job": {
                        "id": "67f079a1-9372-4f2f-a284-28038b491f57",
                        "mjCode": "MJ025244",
                        "title": "咖啡师"
                    },
                    "lastChangeInfo": {},
                    "lastChangeOperator": {
                        "email": "test@mokahr.com",
                        "id": 349509,
                        "name": "Moka同学",
                        "role": 50,
                        "roleName": "超级管理员"
                    },
                    "recommender": {
                        "email": "testo@mokahr.com",
                        "id": 355575,
                        "name": "test",
                        "number": "355575",
                        "phone": "11111111111",
                        "role": 50,
                        "roleName": "超级管理员"
                     ,
                    "recordNo": "OD10083726924",
                    "reward": {
                        "money": 0,
                        "score": 333
                    },
                    "rewardCreatedAt": "2024-10-09",
                    "rewardReason": "执行奖励原因",
                    "status": "unconfirmed",
                    "statusLastChangeAt": "2024-10-09",
                    "version": "1.0"
                }
            ],
            "pageNum": 1,
            "pageSize": 30,
            "size": 1,
            "total": 1,
            "version": "1.0"
        },
        "msg": "成功",
        "success": true
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/recommend/reward/getRecord

    请求body(JSON)

    字段 必填 类型 描述
    operatorEmail string 操作人邮箱(如果传递了操作人邮箱,则按照该用户的权限查询对应记录)
    operatorNumber string 操作人工号(如果传递了操作人工号,则按照该用户的权限查询对应记录)
    statusList array 要查询奖励状态列表,默认待确认
    可选值:
    unconfirmed:待确认
    confirmed:已确认
    cancel:已取消
    applicationCreateAtRange object 申请创建时间区间
    applicationCreateAtRange.start string 申请创建开始时间(yyyy-MM-dd)
    applicationCreateAtRange.end string 申请创建结束时间(yyyy-MM-dd)
    rewardRecordCreateAtRange object 奖励发生日期区间
    rewardRecordCreateAtRange.start string 奖励发生开始时间(yyyy-MM-dd)
    rewardRecordCreateAtRange.end string 奖励发生结束时间(yyyy-MM-dd)
    statusLastChangeAt object 确认/取消日期区间
    statusLastChangeAt.start string 确认/取消开始时间(yyyy-MM-dd)
    tatusLastChangeAt.end string 确认/取消结束时间(yyyy-MM-dd)
    pageNum integer 页码,默认值为1
    pageSize integer 每页大小,默认值为30

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    total integer 总记录条数
    size integer 当前页数量
    pageNum integer 当前页数
    pageSize integer 每页条数
    list[] array 奖励记录集合
    list[].recommender object 内推人
    list[].recommender.name string 内推人姓名
    list[].recommender.id long 内推人ID
    list[].recommender.role integer 内推人角色
    list[].recommender.roleName string 内推人角色描述
    list[].recommender.email string 内推人邮箱
    list[].recommender.phone string 内推人手机号
    list[].recommender.number string 内推人工号
    list[].candidate object 候选人
    list[].candidate.name string 候选人姓名
    list[].candidate.applicationId long 申请ID
    list[].job object 职位信息
    list[].job.title string 职位名称
    list[].job.id string 职位ID
    list[].job.mjCode string 职位编号
    list[].recordNo string 奖励记录编号
    list[].status string 奖励状态
    list[].reward object 奖励内容
    list[].reward.score long 奖励积分
    list[].reward.money long 奖励现金
    list[].rewardReason string 奖励原因
    list[].applicationCreatedAt string 申请创建日期(yyyy-MM-dd)
    list[].rewardCreatedAt string 奖励发生日期(yyyy-MM-dd)
    list[].statusLastChangeAt string 确认/取消日期(yyyy-MM-dd)
    list[].lastChangeInfo object 取消原因
    list[].lastChangeInfo.reason string 取消原因描述

    确认内推奖励

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/recommend/reward/confirm
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '{operatorEmail: "test@test.com", recordNoList:["1234567"]}'
    

    返回样例

    { 
      "code": 200,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/recommend/reward/confirm

    请求body(JSON)

    字段 是否必须 类型 描述
    operatorEmail 邮箱和工号至少传一个 string 操作人邮箱
    operatorNumber 邮箱和工号至少传一个 string 操作人工号
    recordNoList array 内推奖励记录编号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息

    取消内推奖励

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/recommend/reward/cancel
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '{operatorEmail: "test@test.com", reason: "取消奖励", recordNoList:["1234567"]}'
    

    返回样例

    { 
      "code": 200,
      "msg": "success",
      "data": null
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/recommend/reward/cancel

    请求body(JSON)

    字段 是否必须 类型 描述
    operatorEmail 邮箱和工号至少传一个 string 操作人邮箱
    operatorNumber 邮箱和工号至少传一个 string 操作人工号
    reason string 取消奖励原因
    recordNoList array 内推奖励记录编号

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 0:成功
    非0代表失败
    message string 提示信息

    内推账户API

    查询内推账户

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/user/recommend_account/search
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '{ "emails": ["hello@mokahr.com", "admin@mokahr.com"], "phones": ["18600000001"], "employeeIds": ["123456", "32123"]}'
    

    返回样例

    [
      {
        "name": "超级管理员",
        "email": "hello@mokahr.com",
        "phone": "18600000002",
        "deactivated": 0,
        "recommend_score": 0,
        "recommend_money": 0,
        "employee_id": "123456"
      }
    ]
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/user/recommend_account/search

    请求body(JSON)

    单次查询只允许查询20个用户(emails + phones 的数量之和不超过20)

    字段 是否必须 类型 描述
    emails 与 phones, employeeIds 至少传入一个 array 要查询的内推用户邮箱数组
    phones 与 emails, employeeIds 至少传入一个 array 要查询的内推用户手机号数组
    employeeIds 与 emails, phones 至少传入一个 array 要查询的内推用户工号数组

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    name string 姓名
    email string 邮箱
    phone string 手机号
    employee_id string 工号
    deactivated number 是否被禁用
    可选值:
    0:可用
    1:禁用
    recommend_score number 内推积分
    recommend_money number 内推现金

    增加、扣减内推人余额

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/user/recommend_account/wallet_balance_changes
      -u 'your-api-key:'
      -X PUT
      -H 'content-type: application/json'
      -d '{ "user": { "email": "hello@mokahr.com" }, "currencyChanges": { "SCORE": { "method": 0, "number": 100 }, "MONEY": { "method": 0, "number": 100 } }, "comment": "积分商城兑换 iPhoneX" }'
    

    返回样例

    {
      "name": "超级管理员",
      "email": "hello@mokahr.com",
      "phone": "18600000001",
      "employeeId": "123456",
      "recommendScore": 10,
      "recommendMoney": 800
    }
    

    HTTP请求

    PUT https://api.mokahr.com/api-platform/v1/user/recommend_account/wallet_balance_changes

    请求body(JSON)

    字段 是否必须 类型 描述
    user 必须 object 操作的内推用户对象
    user.email 与 user.phone,user.employeeId 传一 object 要操作的内推用户邮箱
    user.phone 与 user.email,user.employeeId 传一 object 要操作的内推用户手机号
    user.employeeId 与 user.email,user.phone 传一 object 要操作的内推用户工号
    currencyChanges 必须 object 货币更改对象
    currencyChanges.SCORE 与 currencyChanges.MONEY 至少传入一个 object 对 user 进行积分操作
    currencyChanges.SCORE.method 必须 0 or 1 0 :为减少
    1: 为增加
    currencyChanges.SCORE.number 必须 number 增加或扣减的数量,必须是数字且最多只能输入2位小数
    currencyChanges.MONEY 与 currencyChanges.SCORE 至少传入一个 object 对 user 进行现金操作
    currencyChanges.MONEY.method 必须 0 or 1 0 :为减少
    1: 为增加
    currencyChanges.MONEY.number 必须 number 增加或扣减的数量,必须是数字且最多只能输入2位小数
    comment 可选 string 操作备注,如(兑换iPhoneX

    返回值

    变更后的内推用户余额

    查询内推积分

    请求样例

    $ curl https://api.mokahr.com/api-platform/v2/user/recommend_account/search
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '{
      "emails":["son@mokahr.com",""],
      "phones":["12345678"],
      "numbers":["123","234"]
      }'
    

    返回样例

    {
      "code": 0,
      "codeType": 0,
      "data": [
        {
          "deactivated": 0,
          "email": "son@mokahr.com",
          "name": "宋秋晓",
          "phone": "",
          "recommendMoney": 0.00,
          "recommendScore": 45.00,
          "version": "1.0"
        }
      ],
      "msg": "成功",
      "success": true
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v2/user/recommend_account/search

    请求body(JSON)

    字段 是否必须 类型 描述
    emails 与phones, numbers 至少传入一个 array 邮箱
    phones 与emails, numbers 至少传入一个 array 手机号(仅支持11位手机号)
    numbers 与emails, phones 至少传入一个 array 工号

    返回body(JSON)

    字段 类型 描述
    name string 姓名
    email string 邮箱
    phone string 手机号
    number string 工号
    deactivated integer 是否被禁用
    可选值:
    0:可用
    1:禁用
    recommendScore number 内推积分
    recommendMoney number 内推现金

    猎头API

    系统内猎头管理已升级为猎头合约管理,猎头合约和猎头公司是两个概念,可以满足“一个企业与同一家猎头公司签订多份合约”的场景,具体变化点如下:
    1、新增字段【猎头合约名称】;
    2、同一个猎头顾问可以在不同猎头合约下。
    升级后,对以下V1版本猎头API的影响:
    1、V1版本猎头API仅适用于“与一个猎头公司签订一份合约”的场景;
    2、“添加猎头公司”、“更新猎头公司”API实际是对猎头合约进行增改,添加猎头公司时,系统会默认将【猎头合约名称】字段赋【猎头公司名称】字段的值;
    3、“获取猎头公司”、“获取猎头顾问”API实际是查询猎头合约以及合约下的顾问;
    4、“添加猎头顾问”、“更新猎头顾问”API实际是对猎头合约下的顾问进行增改;
    特别地,如在系统中手动给某个猎头公司创建了多份合约,“获取猎头公司”API默认返回猎头公司下第一个创建的合约。

    添加猎头公司

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/addCompany
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '
    {
        "activated": true,
        "authorizedUserEmails": [
            "fengxiang@mokahr.com"
        ],
        "company": "20210917165310",
        "contactEmail": "2021091716531012@mokahr.com",
        "contactName": "         v        ",
        "contactPhone": "13111111111",
        "endDate": "2021-08-22T00:00:00+08:00",
        "needPermission": true,
        "notifiedUserEmails": [
            "fengxiang@mokahr.com"
        ],
        "operatorEmail": "fengxiang@mokahr.com",
        "orgId": "bytedance003",
        "protectTime": "10005",
        "rate": "hahah",
        "rpoEnabled": "true",
        "rpoProtectTime": "90",
        "startDate": "2021-08-20T00:00:00+08:00",
        "telephone": "1111111",
        "telephonePrefixLocal": "111",
        "telephonePrefixInternational": "11"
    }
      '
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": {
        "id": 410020302
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/headhunters/addCompany

    请求body(JSON)

    字段 必填 类型 描述
    activated boolean 猎头公司状态
    可选值:
    0:否
    1:是
    authorizedUserEmails array[string] 授权用户的邮箱
    company string 猎头公司名称
    contactEmail string 猎头公司联系人邮箱
    contactName string 猎头公司联系人姓名
    contactPhone string 猎头公司联系人手机号码
    endDate string 猎头公司合同结束日期
    needPermission boolean 猎头公司是否是授权猎头
    notifiedUserEmails array[string] 猎头公司对接人
    operatorEmail string 操作者email,必须为moka系统用户
    rate string 猎头公司费率
    headhunterEnabled boolean 猎头公司是否开启猎头
    protectTime string number 猎头公司猎头保护期(天)
    rpoEnabled boolean 猎头公司是否开启rpo
    rpoProtectTime number 猎头公司批量导入候选人保护期(rpo)
    startDate string 猎头公司合同开始日期
    telephone string 猎头公司联系人固定电话
    telephonePrefixLocal string 固定电话区号
    telephonePrefixInternational string 固话国际号码

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data object
    data.id number 当前数据id

    更新猎头公司

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/updateCompany
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '
    {
        "activated": "true",
        "authorizedUserEmails": [
            "fengxiang@mokahr.com"
        ],
        "company": "20210917165739\u66f4\u65b0",
        "contactEmail": "20210917165739fengxiang11111@mokahr.com",
        "contactName": "\t\r\n\\~!@#$%^&*()_+<>?",
        "contactPhone": "13111111111",
        "endDate": "2021-08-22T00:00:00+08:00",
        "needPermission": true,
        "notifiedUserEmails": [
            "fengxiang@mokahr.com"
        ],
        "operatorEmail": "fengxiang@mokahr.com",
        "orgId": "bytedance003",
        "protectTime": "10000",
        "rate": "99",
        "rpoEnabled": "true",
        "rpoProtectTime": "0",
        "startDate": "2021-08-31T00:00:00+08:00",
        "telephone": "12229211",
        "telephonePrefixLocal": "010",
        "telephonePrefixInternational": "86",
        "id": 410020302
    }
      '
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": {
        "id": 410020302
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/headhunters/updateCompany

    请求body(JSON)

    字段 必填 类型 描述
    id number 猎头公司id
    activated boolean 猎头公司状态
    可选值:
    0:否
    1:是
    authorizedUserEmails array[string] 授权用户的邮箱
    company string 猎头公司名称
    contactEmail string 猎头公司联系人邮箱
    contactName string 猎头公司联系人姓名
    contactPhone string 猎头公司联系人手机号码
    endDate string 猎头公司合同结束日期
    needPermission boolean 猎头公司是否是授权猎头
    notifiedUserEmails array[string] 猎头公司对接人
    operatorEmail string 操作者email,必须为moka系统用户
    rate string 猎头公司费率
    protectTime string number 猎头公司猎头保护期(天)
    rpoEnabled boolean 猎头公司是否开启rpo
    rpoProtectTime number 猎头公司批量导入候选人保护期(rpo)
    startDate string 猎头公司合同开始日期
    telephone string 猎头公司联系人固定电话
    telephonePrefixLocal string 固定电话区号
    telephonePrefixInternational string 固话国际号码

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data object
    data.id number 当前数据id

    获取猎头公司

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/getCompany?orgId=test
      -u 'your-api-key:'
      -X GET
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": [{
        "activated": true,
        "authorizedUserEmails": [
          "fengxiang@mokahr.com"
        ],
        "company": "20210917165739更新",
        "contactEmail": "20210917165739fengxiang11111@mokahr.com",
        "contactName": "\t\r\n\\~!@#$%^&*()_+<>?",
        "contactPhone": "13111111111",
        "contacts": [],
        "telephone": "12229211",
        "endDate": "2021-08-22T00:00",
        "id": 410020302,
        "needPermission": true,
        "notifiedUserEmails": [
          "fengxiang@mokahr.com"
        ],
        "protectTime": 10000,
        "rate": "99",
        "rpoEnabled": true,
        "rpoProtectTime": 0,
        "startDate": "2021-08-31T00:00"
      }
    
      ]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headhunters/getCompany

    请求Query(JSON)

    字段 必填 类型 描述
    orgId string 当前公司的orgId

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data array(object)
    data[].id boolean 猎头公司id
    data[].activated boolean 猎头公司状态
    可选值:
    0:否
    1:是
    data[].authorizedUserEmails array[string] 授权用户的邮箱
    data[].company string 猎头公司名称
    data[].contactEmail string 猎头公司联系人邮箱
    data[].contactName string 猎头公司联系人姓名
    data[].contactPhone string 猎头公司联系人手机号码
    data[].contacts array 猎头公司的顾问 -todo
    data[].endDate string 猎头公司合同结束日期
    data[].needPermission boolean 猎头公司是否是授权猎头
    data[].notifiedUserEmails array[string] 猎头公司对接人
    data[].operatorEmail string 操作者email,必须为moka系统用户
    data[].rate string 猎头公司费率
    data[].protectTime number 猎头公司猎头保护期(天)
    data[].rpoEnabled boolean 猎头公司是否开启rpo
    data[].rpoProtectTime number 猎头公司批量导入候选人保护期(rpo)
    data[].startDate string 猎头公司合同开始日期
    data[].telephone string 猎头公司联系人固定电话
    data[].telephonePrefixLocal string 固定电话区号
    data[].telephonePrefixInternational string 固话国际号码

    获取猎头顾问

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/getContacts?orgId=test&headhunterCompanyId=1
      -u 'your-api-key:'
      -X GET
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": [{
        "activated": 1,
        "active": false,
        "headHunterId": 410022372,
        "headHunterName": "20210917163223",
        "headHunterPhone": "13111111111",
        "headHunterTelephone": "11111111",
        "telephonePrefixLocal": "010",
        "telephonePrefixInternational": "89",
        "headhunterEmail": "1631867543@qq.com"
      }]
    }
    

    HTTP请求

    GET https://api.mokahr.com/api-platform/v1/headhunters/getContacts

    请求Query(JSON)

    字段 必填 类型 描述
    orgId string 当前公司的orgId
    headhunterCompanyId string 猎头公司id

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data array(object)
    data[].activated number 猎头顾问状态
    可选值:
    0:否
    1:是
    data[].active boolean 猎头顾问状态:是否激活
    data[].headHunterId number 猎头顾问id
    data[].headHunterName string 猎头顾问名称
    data[].headHunterPhone string 猎头顾问手机
    data[].headHunterTelephone string 猎头顾问固定电话
    data[].telephonePrefixLocal string 固定电话区号
    data[].telephonePrefixInternational string 固话国际号码
    data[].headhunterEmail string 猎头顾问邮箱

    添加猎头顾问

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/addContacts
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '
    {
        "activated": 1,
        "headHunterName": "202101701371",
        "headHunterPhone": "13111111311",
        "telephonePrefixInternational": "89",
        "telephonePrefixLocal": "010",
        "headHunterTelephone": "11111111",
        "headhunterCompanyId": 410020302,
        "headhunterEmail": "16318917@qq.com",
        "operatorEmail": "fengxiang@mokahr.com",
        "orgId": "bytedance003"
    }
      '
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": {
        "headHunterId":3344555
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/headhunters/addContacts

    请求body(JSON)

    字段 必填 类型 描述
    activated number 是否启用
    可选值:
    0:否
    1:是
    headHunterName string 猎头顾问名称
    headHunterPhone string 猎头顾问手机
    headHunterTelephone string 猎头顾问固定电话
    telephonePrefixLocal string 固话区号
    telephonePrefixInternational string 固话国家号码
    headhunterCompanyId number 猎头公司id
    headhunterEmail string 猎头顾问邮箱
    operatorEmail string 操作者email,必须为moka系统用户

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data object
    data.headHunterId number 猎头顾问的id

    更新猎头顾问

    请求样例

    $ curl https://api.mokahr.com/api-platform/v1/headhunters/updateContacts
      -u 'your-api-key:'
      -X POST
      -H 'content-type: application/json'
      -d '
    {
        "activated": "1",
        "headHunterName": "  d  ",
        "headHunterPhone": "13111111311",
        "telephonePrefixInternational": "88",
        "telephonePrefixLocal": "0352",
        "headHunterTelephone": "222222",
        "headhunterCompanyId": 410020302,
        "headHunterId": 410024263,
        "headhunterEmail": "fengxiang@mokahr.com",
        "operatorEmail": "fengxiang@mokahr.com",
        "orgId": "bytedance003"
    }
      '
    

    返回样例

    {
      "code": 200,
      "msg": "success",
      "data": {
        "headHunterId": 33444
      }
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/headhunters/updateContacts

    请求body(JSON)

    字段 必填 类型 描述
    headerHunterId number 当前数据id
    activated number 是否启用
    可选值:
    0:否
    1:是
    headHunterName string 猎头顾问名称
    headHunterPhone string 猎头顾问手机
    headHunterTelephone string 猎头顾问固定电话
    telephonePrefixLocal string 固话区号
    telephonePrefixInternational string 固话国家号码
    headhunterCompanyId number 猎头公司id
    headhunterEmail string 猎头顾问邮箱
    operatorEmail string 操作者email,必须为moka系统用户

    返回

    返回body的JSON数据如下:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data object
    data.headHunterId number 猎头顾问的id

    BI报表API

    获取单个报表结果数据

    请求样例

    curl --location --request POST 'https://api.mokahr.com/api-platform/v1/getReportData' \
                --header 'Content-Type: application/json' \
                --header 'Authorization: Basic dGVzdDo=' \
                --data-raw '{
                    "reportId": 12318
                }'
    

    返回样例

    {
      "code": 200,
      "data": {
        "headers": [{
          "dataIndex": "c_1",
          "title": "性别",
          "type": "HEADER"
        }, {
          "dataIndex": "c_2",
          "title": "民族",
          "type": "HEADER"
        }],
        "rows": [{
          "c_1": "男性",
          "c_2": "汉族"
        }],
        "size": 1
      },
      "msg": "成功"
    }
    

    HTTP请求

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

    请求body(JSON)

    字段 必填 类型 描述
    reportId integer 报表id

    返回

    返回body的JSON数据如下,上述返回数据总共有一行,两列,第一列是性别,第二列是民族:

    字段 类型 描述
    code number 返回码:非200代表错误
    msg number 报错信息
    data object
    data.headers object 表头
    data.headers.dataIndex integer 表头和结果数据映射关系
    data.headers.title string 表头名称
    data.headers.type string 表头类型,只可能为HEADER 或者 DATA
    data.headers.children object 元素类型同data.headers(代表多级表头)
    data.rows array 结果数据
    data.rows.c_$ string 结果数据索引 key:value形式

    JD模板API

    查询JD模板

    请求样例

    curl --location 'https://api.mokahr.com/api-platform/v1/job/job_desc_template/list' \
    --header 'Accept: */*' \
    --header 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' \
    --header 'Connection: keep-alive' \
    --header 'Content-Type: application/json' \
    --data '{
        "hireMode":1
    }'
    

    返回样例

    {
      "code": 0,
      "codeType": 0,
      "data": {
        "jobDescTemplateDTOList": [
          {
            "id": 100000908,
            "jobDescription": "<p>一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十.一二三四五六七八九十导入902-描述</p>",
            "jobTitle": "导入902-名称1",
            "name": "导入9021",
            "version": "1.0"
          }
        ],
        "total": 1004,
        "version": "1.0"
      },
      "msg": "成功",
      "success": true
    }
    

    HTTP请求

    POST https://api.mokahr.com/api-platform/v1/job/job_desc_template/list

    请求body(JSON)

    字段 必填 类型 描述
    hireMode number 招聘模式
    可选值:
    social:社招
    campus:校招
    pageSize number 分页用的每页条数,默认100
    nextCursor number 分页游标, 第一次查询不用传(该属性值取自上次调用时,响应参数返回的nextCursor值)

    返回body(JSON)

    字段 类型 描述
    total integer JD总数量
    hasMore boolean 表示下一页是否有返回值
    nextCursor string 分页游标
    jds[] array JD列表
    jds[].id integer 模板ID
    jds[].title string 模板名称
    jds[].jobTitle string 职位名称
    jds[].jobDescription string 职位描述

    district code

    行政区码

    行政区码列表

    {
     "110000": "北京市",
     "110101": "东城区",
     "110102": "西城区",
     "110105": "朝阳区",
     "110106": "丰台区",
     "110107": "石景山区",
     "110108": "海淀区",
     "110109": "门头沟区",
     "110111": "房山区",
     "110112": "通州区",
     "110113": "顺义区",
     "110114": "昌平区",
     "110115": "大兴区",
     "110116": "怀柔区",
     "110117": "平谷区",
     "110118": "密云区",
     "110119": "延庆区",
     "120000": "天津市",
     "120101": "和平区",
     "120102": "河东区",
     "120103": "河西区",
     "120104": "南开区",
     "120105": "河北区",
     "120106": "红桥区",
     "120110": "东丽区",
     "120111": "西青区",
     "120112": "津南区",
     "120113": "北辰区",
     "120114": "武清区",
     "120115": "宝坻区",
     "120116": "滨海新区",
     "120117": "宁河区",
     "120118": "静海区",
     "120119": "蓟州区",
     "130000": "河北",
     "130100": "石家庄市",
     "130102": "长安区",
     "130104": "桥西区",
     "130105": "新华区",
     "130107": "井陉矿区",
     "130108": "裕华区",
     "130109": "藁城区",
     "130110": "鹿泉区",
     "130111": "栾城区",
     "130121": "井陉县",
     "130123": "正定县",
     "130125": "行唐县",
     "130126": "灵寿县",
     "130127": "高邑县",
     "130128": "深泽县",
     "130129": "赞皇县",
     "130130": "无极县",
     "130131": "平山县",
     "130132": "元氏县",
     "130133": "赵县",
     "130171": "石家庄高新技术产业开发区",
     "130172": "石家庄循环化工园区",
     "130181": "辛集市",
     "130183": "晋州市",
     "130184": "新乐市",
     "130200": "唐山市",
     "130202": "路南区",
     "130203": "路北区",
     "130204": "古冶区",
     "130205": "开平区",
     "130207": "丰南区",
     "130208": "丰润区",
     "130209": "曹妃甸区",
     "130223": "滦县(旧)",
     "130224": "滦南县",
     "130225": "乐亭县",
     "130227": "迁西县",
     "130229": "玉田县",
     "130271": "河北唐山芦台经济开发区",
     "130272": "唐山市汉沽管理区",
     "130273": "唐山高新技术产业开发区",
     "130274": "河北唐山海港经济开发区",
     "130281": "遵化市",
     "130283": "迁安市",
     "130284": "滦州市",
     "130300": "秦皇岛市",
     "130302": "海港区",
     "130303": "山海关区",
     "130304": "北戴河区",
     "130306": "抚宁区",
     "130321": "青龙满族自治县",
     "130322": "昌黎县",
     "130324": "卢龙县",
     "130371": "秦皇岛市经济技术开发区",
     "130372": "北戴河新区",
     "130400": "邯郸市",
     "130402": "邯山区",
     "130403": "丛台区",
     "130404": "复兴区",
     "130406": "峰峰矿区",
     "130407": "肥乡区",
     "130408": "永年区",
     "130423": "临漳县",
     "130424": "成安县",
     "130425": "大名县",
     "130426": "涉县",
     "130427": "磁县",
     "130430": "邱县",
     "130431": "鸡泽县",
     "130432": "广平县",
     "130433": "馆陶县",
     "130434": "魏县",
     "130435": "曲周县",
     "130471": "邯郸经济技术开发区",
     "130473": "邯郸冀南新区",
     "130481": "武安市",
     "130500": "邢台市",
     "130502": "襄都区",
     "130503": "信都区",
     "130505": "任泽区",
     "130506": "南和区",
     "130521": "邢台县(旧)",
     "130522": "临城县",
     "130523": "内丘县",
     "130524": "柏乡县",
     "130525": "隆尧县",
     "130526": "任县(旧)",
     "130527": "南和县(旧)",
     "130528": "宁晋县",
     "130529": "巨鹿县",
     "130530": "新河县",
     "130531": "广宗县",
     "130532": "平乡县",
     "130533": "威县",
     "130534": "清河县",
     "130535": "临西县",
     "130571": "河北邢台经济开发区",
     "130581": "南宫市",
     "130582": "沙河市",
     "130600": "保定市",
     "130602": "竞秀区",
     "130604": "南市区(旧)",
     "130606": "莲池区",
     "130607": "满城区",
     "130608": "清苑区",
     "130609": "徐水区",
     "130623": "涞水县",
     "130624": "阜平县",
     "130626": "定兴县",
     "130627": "唐县",
     "130628": "高阳县",
     "130629": "容城县",
     "130630": "涞源县",
     "130631": "望都县",
     "130632": "安新县",
     "130633": "易县",
     "130634": "曲阳县",
     "130635": "蠡县",
     "130636": "顺平县",
     "130637": "博野县",
     "130638": "雄县",
    "130671": "保定高新技术产业开发区",
     "130672": "保定白沟新城",
     "130681": "涿州市",
     "130682": "定州市",
     "130683": "安国市",
     "130684": "高碑店市",
     "130700": "张家口市",
     "130702": "桥东区",
     "130703": "桥西区",
     "130705": "宣化区",
     "130706": "下花园区",
     "130708": "万全区",
     "130709": "崇礼区",
     "130722": "张北县",
     "130723": "康保县",
     "130724": "沽源县",
     "130725": "尚义县",
     "130726": "蔚县",
     "130727": "阳原县",
     "130728": "怀安县",
     "130730": "怀来县",
     "130731": "涿鹿县",
     "130732": "赤城县",
     "130771": "张家口经济开发区",
     "130772": "张家口市察北管理区",
     "130773": "张家口市塞北管理区",
     "130800": "承德市",
     "130802": "双桥区",
     "130803": "双滦区",
     "130804": "鹰手营子矿区",
     "130821": "承德县",
     "130822": "兴隆县",
     "130823": "平泉县(旧)",
     "130824": "滦平县",
     "130825": "隆化县",
     "130826": "丰宁满族自治县",
     "130827": "宽城满族自治县",
     "130828": "围场满族蒙古族自治县",
     "130871": "承德高新技术产业开发区",
     "130881": "平泉市",
     "130900": "沧州市",
     "130902": "新华区",
     "130903": "运河区",
     "130921": "沧县",
     "130922": "青县",
     "130923": "东光县",
     "130924": "海兴县",
     "130925": "盐山县",
     "130926": "肃宁县",
     "130927": "南皮县",
     "130928": "吴桥县",
     "130929": "献县",
     "130930": "孟村回族自治县",
     "130971": "河北沧州经济开发区",
     "130972": "沧州高新技术产业开发区",
     "130973": "沧州渤海新区",
     "130981": "泊头市",
     "130982": "任丘市",
     "130983": "黄骅市",
     "130984": "河间市",
     "131000": "廊坊市",
     "131002": "安次区",
     "131003": "广阳区",
     "131022": "固安县",
     "131023": "永清县",
     "131024": "香河县",
     "131025": "大城县",
     "131026": "文安县",
     "131028": "大厂回族自治县",
     "131071": "廊坊经济技术开发区",
     "131081": "霸州市",
     "131082": "三河市",
     "131100": "衡水市",
     "131102": "桃城区",
     "131103": "冀州区",
     "131121": "枣强县",
     "131122": "武邑县",
     "131123": "武强县",
     "131124": "饶阳县",
     "131125": "安平县",
     "131126": "故城县",
     "131127": "景县",
     "131128": "阜城县",
     "131171": "河北衡水高新技术产业开发区",
     "131172": "衡水滨湖新区",
     "131182": "深州市",
     "140000": "山西",
     "140100": "太原市",
     "140105": "小店区",
     "140106": "迎泽区",
     "140107": "杏花岭区",
     "140108": "尖草坪区",
     "140109": "万柏林区",
     "140110": "晋源区",
     "140121": "清徐县",
     "140122": "阳曲县",
     "140123": "娄烦县",
     "140171": "山西转型综合改革示范区",
     "140181": "古交市",
     "140200": "大同市",
     "140202": "城区(旧)",
     "140203": "矿区(旧)",
     "140211": "南郊区(旧)",
     "140212": "新荣区",
     "140213": "平城区",
     "140214": "云冈区",
     "140215": "云州区",
     "140221": "阳高县",
     "140222": "天镇县",
     "140223": "广灵县",
     "140224": "灵丘县",
     "140225": "浑源县",
     "140226": "左云县",
     "140227": "大同县(旧)",
     "140271": "山西大同经济开发区",
     "140300": "阳泉市",
     "140302": "城区",
     "140303": "矿区",
     "140311": "郊区",
     "140321": "平定县",
     "140322": "盂县",
     "140400": "长治市",
     "140402": "城区(旧)",
     "140403": "潞州区",
     "140404": "上党区",
     "140405": "屯留区",
     "140406": "潞城区",
     "140411": "郊区(旧)",
     "140412": "潞州区(旧)",
     "140421": "长治县(旧)",
     "140423": "襄垣县",
     "140424": "屯留县(旧)",
     "140425": "平顺县",
     "140426": "黎城县",
     "140427": "壶关县",
     "140428": "长子县",
     "140429": "武乡县",
     "140430": "沁县",
     "140431": "沁源县",
     "140471": "山西长治高新技术产业园区",
     "140481": "潞城市(旧)",
     "140500": "晋城市",
     "140502": "城区",
     "140521": "沁水县",
     "140522": "阳城县",
     "140524": "陵川县",
     "140525": "泽州县",
     "140581": "高平市",
     "140600": "朔州市",
     "140602": "朔城区",
     "140603": "平鲁区",
     "140621": "山阴县",
     "140622": "应县",
     "140623": "右玉县",
     "140624": "怀仁县(旧)",
     "140671": "山西朔州经济开发区",
     "140681": "怀仁市",
     "140700": "晋中市",
     "140702": "榆次区",
     "140703": "太谷区",
     "140721": "榆社县",
     "140722": "左权县",
     "140723": "和顺县",
     "140724": "昔阳县",
     "140725": "寿阳县",
     "140726": "太谷县(旧)",
     "140727": "祁县",
     "140728": "平遥县",
     "140729": "灵石县",
     "140781": "介休市",
     "140800": "运城市",
     "140802": "盐湖区",
     "140821": "临猗县",
     "140822": "万荣县",
     "140823": "闻喜县",
     "140824": "稷山县",
     "140825": "新绛县",
     "140826": "绛县",
     "140827": "垣曲县",
     "140828": "夏县",
     "140829": "平陆县",
     "140830": "芮城县",
     "140881": "永济市",
     "140882": "河津市",
     "140900": "忻州市",
     "140902": "忻府区",
     "140921": "定襄县",
     "140922": "五台县",
     "140923": "代县",
     "140924": "繁峙县",
     "140925": "宁武县",
     "140926": "静乐县",
     "140927": "神池县",
     "140928": "五寨县",
     "140929": "岢岚县",
     "140930": "河曲县",
     "140931": "保德县",
     "140932": "偏关县",
     "140971": "五台山风景名胜区",
     "140981": "原平市",
     "141000": "临汾市",
     "141002": "尧都区",
     "141021": "曲沃县",
     "141022": "翼城县",
     "141023": "襄汾县",
     "141024": "洪洞县",
     "141025": "古县",
     "141026": "安泽县",
     "141027": "浮山县",
     "141028": "吉县",
     "141029": "乡宁县",
     "141030": "大宁县",
     "141031": "隰县",
     "141032": "永和县",
     "141033": "蒲县",
     "141034": "汾西县",
     "141081": "侯马市",
     "141082": "霍州市",
     "141100": "吕梁市",
     "141102": "离石区",
     "141121": "文水县",
     "141122": "交城县",
     "141123": "兴县",
     "141124": "临县",
     "141125": "柳林县",
     "141126": "石楼县",
     "141127": "岚县",
     "141128": "方山县",
     "141129": "中阳县",
     "141130": "交口县",
     "141181": "孝义市",
     "141182": "汾阳市",
     "150000": "内蒙古",
     "150100": "呼和浩特市",
     "150102": "新城区",
     "150103": "回民区",
     "150104": "玉泉区",
     "150105": "赛罕区",
     "150121": "土默特左旗",
     "150122": "托克托县",
     "150123": "和林格尔县",
     "150124": "清水河县",
     "150125": "武川县",
     "150172": "呼和浩特经济技术开发区",
     "150200": "包头市",
     "150202": "东河区",
     "150203": "昆都仑区",
     "150204": "青山区",
     "150205": "石拐区",
     "150206": "白云鄂博矿区",
     "150207": "九原区",
     "150221": "土默特右旗",
     "150222": "固阳县",
     "150223": "达尔罕茂明安联合旗",
     "150271": "包头稀土高新技术产业开发区",
     "150300": "乌海市",
     "150302": "海勃湾区",
     "150303": "海南区",
     "150304": "乌达区",
     "150400": "赤峰市",
     "150402": "红山区",
     "150403": "元宝山区",
     "150404": "松山区",
     "150421": "阿鲁科尔沁旗",
     "150422": "巴林左旗",
     "150423": "巴林右旗",
     "150424": "林西县",
     "150425": "克什克腾旗",
     "150426": "翁牛特旗",
     "150428": "喀喇沁旗",
     "150429": "宁城县",
     "150430": "敖汉旗",
     "150500": "通辽市",
     "150502": "科尔沁区",
     "150521": "科尔沁左翼中旗",
     "150522": "科尔沁左翼后旗",
     "150523": "开鲁县",
     "150524": "库伦旗",
     "150525": "奈曼旗",
     "150526": "扎鲁特旗",
     "150571": "通辽经济技术开发区",
     "150581": "霍林郭勒市",
     "150600": "鄂尔多斯市",
     "150602": "东胜区",
     "150603": "康巴什区",
     "150621": "达拉特旗",
     "150622": "准格尔旗",
     "150623": "鄂托克前旗",
     "150624": "鄂托克旗",
     "150625": "杭锦旗",
     "150626": "乌审旗",
     "150627": "伊金霍洛旗",
     "150700": "呼伦贝尔市",
     "150702": "海拉尔区",
     "150703": "扎赉诺尔区",
     "150721": "阿荣旗",
     "150722": "莫力达瓦达斡尔族自治旗",
     "150723": "鄂伦春自治旗",
     "150724": "鄂温克族自治旗",
     "150725": "陈巴尔虎旗",
     "150726": "新巴尔虎左旗",
     "150727": "新巴尔虎右旗",
     "150781": "满洲里市",
     "150782": "牙克石市",
     "150783": "扎兰屯市",
     "150784": "额尔古纳市",
     "150785": "根河市",
     "150800": "巴彦淖尔市",
     "150802": "临河区",
     "150821": "五原县",
     "150822": "磴口县",
     "150823": "乌拉特前旗",
     "150824": "乌拉特中旗",
     "150825": "乌拉特后旗",
     "150826": "杭锦后旗",
     "150900": "乌兰察布市",
     "150902": "集宁区",
     "150921": "卓资县",
     "150922": "化德县",
     "150923": "商都县",
     "150924": "兴和县",
     "150925": "凉城县",
     "150926": "察哈尔右翼前旗",
     "150927": "察哈尔右翼中旗",
     "150928": "察哈尔右翼后旗",
     "150929": "四子王旗",
     "150981": "丰镇市",
     "152200": "兴安盟",
     "152201": "乌兰浩特市",
     "152202": "阿尔山市",
     "152221": "科尔沁右翼前旗",
     "152222": "科尔沁右翼中旗",
     "152223": "扎赉特旗",
     "152224": "突泉县",
     "152500": "锡林郭勒盟",
     "152501": "二连浩特市",
     "152502": "锡林浩特市",
     "152522": "阿巴嘎旗",
     "152523": "苏尼特左旗",
     "152524": "苏尼特右旗",
     "152525": "东乌珠穆沁旗",
     "152526": "西乌珠穆沁旗",
     "152527": "太仆寺旗",
     "152528": "镶黄旗",
     "152529": "正镶白旗",
     "152530": "正蓝旗",
     "152531": "多伦县",
     "152571": "乌拉盖管委会",
     "152900": "阿拉善盟",
     "152921": "阿拉善左旗",
     "152922": "阿拉善右旗",
     "152923": "额济纳旗",
     "152971": "内蒙古阿拉善高新技术产业开发区",
     "210000": "辽宁",
     "210100": "沈阳市",
     "210102": "和平区",
     "210103": "沈河区",
     "210104": "大东区",
     "210105": "皇姑区",
     "210106": "铁西区",
     "210111": "苏家屯区",
     "210112": "浑南区",
     "210113": "沈北新区",
     "210114": "于洪区",
     "210115": "辽中区",
     "210123": "康平县",
     "210124": "法库县",
     "210181": "新民市",
     "210200": "大连市",
     "210202": "中山区",
     "210203": "西岗区",
     "210204": "沙河口区",
     "210211": "甘井子区",
     "210212": "旅顺口区",
     "210213": "金州区",
     "210214": "普兰店区",
     "210224": "长海县",
     "210281": "瓦房店市",
     "210283": "庄河市",
     "210300": "鞍山市",
     "210302": "铁东区",
     "210303": "铁西区",
     "210304": "立山区",
     "210311": "千山区",
     "210321": "台安县",
     "210323": "岫岩满族自治县",
     "210381": "海城市",
     "210400": "抚顺市",
     "210402": "新抚区",
     "210403": "东洲区",
     "210404": "望花区",
     "210411": "顺城区",
     "210421": "抚顺县",
     "210422": "新宾满族自治县",
     "210423": "清原满族自治县",
     "210500": "本溪市",
     "210502": "平山区",
     "210503": "溪湖区",
     "210504": "明山区",
     "210505": "南芬区",
     "210521": "本溪满族自治县",
     "210522": "桓仁满族自治县",
     "210600": "丹东市",
     "210602": "元宝区",
     "210603": "振兴区",
     "210604": "振安区",
     "210624": "宽甸满族自治县",
     "210681": "东港市",
     "210682": "凤城市",
     "210700": "锦州市",
     "210702": "古塔区",
     "210703": "凌河区",
     "210711": "太和区",
     "210726": "黑山县",
     "210727": "义县",
     "210781": "凌海市",
     "210782": "北镇市",
     "210800": "营口市",
     "210802": "站前区",
     "210803": "西市区",
     "210804": "鲅鱼圈区",
     "210811": "老边区",
     "210881": "盖州市",
     "210882": "大石桥市",
     "210900": "阜新市",
     "210902": "海州区",
     "210903": "新邱区",
     "210904": "太平区",
     "210905": "清河门区",
     "210911": "细河区",
     "210921": "阜新蒙古族自治县",
     "210922": "彰武县",
     "211000": "辽阳市",
     "211002": "白塔区",
     "211003": "文圣区",
     "211004": "宏伟区",
     "211005": "弓长岭区",
     "211011": "太子河区",
     "211021": "辽阳县",
     "211081": "灯塔市",
     "211100": "盘锦市",
     "211102": "双台子区",
     "211103": "兴隆台区",
     "211104": "大洼区",
     "211122": "盘山县",
     "211200": "铁岭市",
     "211202": "银州区",
     "211204": "清河区",
     "211221": "铁岭县",
     "211223": "西丰县",
     "211224": "昌图县",
     "211281": "调兵山市",
     "211282": "开原市",
     "211300": "朝阳市",
     "211302": "双塔区",
     "211303": "龙城区",
     "211321": "朝阳县",
     "211322": "建平县",
     "211324": "喀喇沁左翼蒙古族自治县",
     "211381": "北票市",
     "211382": "凌源市",
     "211400": "葫芦岛市",
     "211402": "连山区",
     "211403": "龙港区",
     "211404": "南票区",
     "211421": "绥中县",
     "211422": "建昌县",
     "211481": "兴城市",
     "220000": "吉林",
     "220100": "长春市",
     "220102": "南关区",
     "220103": "宽城区",
     "220104": "朝阳区",
     "220105": "二道区",
     "220106": "绿园区",
     "220112": "双阳区",
     "220113": "九台区",
     "220122": "农安县",
     "220171": "长春经济技术开发区",
     "220172": "长春净月高新技术产业开发区",
     "220173": "长春高新技术产业开发区",
     "220174": "长春汽车经济技术开发区",
     "220182": "榆树市",
     "220183": "德惠市",
     "220184": "公主岭市",
     "220200": "吉林市",
     "220202": "昌邑区",
     "220203": "龙潭区",
     "220204": "船营区",
     "220211": "丰满区",
     "220221": "永吉县",
     "220271": "吉林经济开发区",
     "220272": "吉林高新技术产业开发区",
     "220273": "吉林中国新加坡食品区",
     "220281": "蛟河市",
     "220282": "桦甸市",
     "220283": "舒兰市",
     "220284": "磐石市",
     "220300": "四平市",
     "220302": "铁西区",
     "220303": "铁东区",
     "220322": "梨树县",
     "220323": "伊通满族自治县",
     "220381": "公主岭市(旧)",
     "220382": "双辽市",
     "220400": "辽源市",
     "220402": "龙山区",
     "220403": "西安区",
     "220421": "东丰县",
     "220422": "东辽县",
     "220500": "通化市",
     "220502": "东昌区",
     "220503": "二道江区",
     "220521": "通化县",
     "220523": "辉南县",
     "220524": "柳河县",
     "220581": "梅河口市",
     "220582": "集安市",
     "220600": "白山市",
     "220602": "浑江区",
     "220605": "江源区",
     "220621": "抚松县",
     "220622": "靖宇县",
     "220623": "长白朝鲜族自治县",
     "220681": "临江市",
     "220700": "松原市",
     "220702": "宁江区",
     "220721": "前郭尔罗斯蒙古族自治县",
     "220722": "长岭县",
     "220723": "乾安县",
     "220771": "吉林松原经济开发区",
     "220781": "扶余市",
     "220800": "白城市",
     "220802": "洮北区",
     "220821": "镇赉县",
     "220822": "通榆县",
     "220871": "吉林白城经济开发区",
     "220881": "洮南市",
     "220882": "大安市",
     "222400": "延边朝鲜族自治州",
     "222401": "延吉市",
     "222402": "图们市",
     "222403": "敦化市",
     "222404": "珲春市",
     "222405": "龙井市",
     "222406": "和龙市",
     "222424": "汪清县",
     "222426": "安图县",
     "230000": "黑龙江",
     "230100": "哈尔滨市",
     "230102": "道里区",
     "230103": "南岗区",
     "230104": "道外区",
     "230108": "平房区",
     "230109": "松北区",
     "230110": "香坊区",
     "230111": "呼兰区",
     "230112": "阿城区",
     "230113": "双城区",
     "230123": "依兰县",
     "230124": "方正县",
     "230125": "宾县",
     "230126": "巴彦县",
     "230127": "木兰县",
     "230128": "通河县",
     "230129": "延寿县",
     "230183": "尚志市",
     "230184": "五常市",
     "230200": "齐齐哈尔市",
     "230202": "龙沙区",
     "230203": "建华区",
     "230204": "铁锋区",
     "230205": "昂昂溪区",
     "230206": "富拉尔基区",
     "230207": "碾子山区",
     "230208": "梅里斯达斡尔族区",
     "230221": "龙江县",
     "230223": "依安县",
     "230224": "泰来县",
     "230225": "甘南县",
     "230227": "富裕县",
     "230229": "克山县",
     "230230": "克东县",
     "230231": "拜泉县",
     "230281": "讷河市",
     "230300": "鸡西市",
     "230302": "鸡冠区",
     "230303": "恒山区",
     "230304": "滴道区",
     "230305": "梨树区",
     "230306": "城子河区",
     "230307": "麻山区",
    "230321": "鸡东县",
     "230381": "虎林市",
     "230382": "密山市",
     "230400": "鹤岗市",
     "230402": "向阳区",
     "230403": "工农区",
     "230404": "南山区",
     "230405": "兴安区",
     "230406": "东山区",
     "230407": "兴山区",
     "230421": "萝北县",
     "230422": "绥滨县",
     "230500": "双鸭山市",
     "230502": "尖山区",
     "230503": "岭东区",
     "230505": "四方台区",
     "230506": "宝山区",
     "230521": "集贤县",
     "230522": "友谊县",
     "230523": "宝清县",
     "230524": "饶河县",
     "230600": "大庆市",
     "230602": "萨尔图区",
     "230603": "龙凤区",
     "230604": "让胡路区",
     "230605": "红岗区",
     "230606": "大同区",
     "230621": "肇州县",
     "230622": "肇源县",
     "230623": "林甸县",
     "230624": "杜尔伯特蒙古族自治县",
     "230671": "大庆高新技术产业开发区",
     "230700": "伊春市",
     "230702": "伊春区(旧)",
     "230703": "南岔区(旧)",
     "230704": "友好区(旧)",
     "230705": "西林区(旧)",
     "230706": "翠峦区(旧)",
     "230707": "新青区(旧)",
     "230708": "美溪区(旧)",
     "230709": "金山屯区(旧)",
     "230710": "五营区(旧)",
     "230711": "乌马河区(旧)",
     "230712": "汤旺河区(旧)",
     "230713": "带岭区(旧)",
     "230714": "乌伊岭区(旧)",
     "230715": "红星区(旧)",
     "230716": "上甘岭区(旧)",
     "230717": "伊美区",
     "230718": "乌翠区",
     "230719": "友好区",
     "230722": "嘉荫县",
     "230723": "汤旺县",
     "230724": "丰林县",
     "230725": "大箐山县",
     "230726": "南岔县",
     "230751": "金林区",
     "230781": "铁力市",
     "230800": "佳木斯市",
     "230803": "向阳区",
     "230804": "前进区",
     "230805": "东风区",
     "230811": "郊区",
     "230822": "桦南县",
     "230826": "桦川县",
     "230828": "汤原县",
     "230881": "同江市",
     "230882": "富锦市",
     "230883": "抚远市",
     "230900": "七台河市",
     "230902": "新兴区",
     "230903": "桃山区",
     "230904": "茄子河区",
     "230921": "勃利县",
     "231000": "牡丹江市",
     "231002": "东安区",
     "231003": "阳明区",
     "231004": "爱民区",
     "231005": "西安区",
     "231025": "林口县",
     "231071": "牡丹江经济技术开发区",
     "231081": "绥芬河市",
     "231083": "海林市",
     "231084": "宁安市",
     "231085": "穆棱市",
     "231086": "东宁市",
     "231100": "黑河市",
     "231102": "爱辉区",
     "231121": "嫩江县(旧)",
     "231123": "逊克县",
     "231124": "孙吴县",
     "231181": "北安市",
     "231182": "五大连池市",
     "231183": "嫩江市",
     "231200": "绥化市",
     "231202": "北林区",
     "231221": "望奎县",
     "231222": "兰西县",
     "231223": "青冈县",
     "231224": "庆安县",
     "231225": "明水县",
     "231226": "绥棱县",
     "231281": "安达市",
     "231282": "肇东市",
     "231283": "海伦市",
     "232700": "大兴安岭地区",
     "232701": "漠河市",
     "232721": "呼玛县",
     "232722": "塔河县",
     "232723": "漠河县(旧)",
     "232761": "加格达奇区",
     "232762": "松岭区",
     "232763": "新林区",
     "232764": "呼中区",
     "310000": "上海市",
     "310101": "黄浦区",
     "310104": "徐汇区",
     "310105": "长宁区",
     "310106": "静安区",
     "310107": "普陀区",
     "310109": "虹口区",
     "310110": "杨浦区",
     "310112": "闵行区",
     "310113": "宝山区",
     "310114": "嘉定区",
     "310115": "浦东新区",
     "310116": "金山区",
     "310117": "松江区",
     "310118": "青浦区",
     "310120": "奉贤区",
     "310151": "崇明区",
     "320000": "江苏",
     "320100": "南京市",
     "320102": "玄武区",
     "320104": "秦淮区",
     "320105": "建邺区",
     "320106": "鼓楼区",
     "320111": "浦口区",
     "320113": "栖霞区",
     "320114": "雨花台区",
     "320115": "江宁区",
     "320116": "六合区",
     "320117": "溧水区",
     "320118": "高淳区",
     "320200": "无锡市",
     "320205": "锡山区",
     "320206": "惠山区",
     "320211": "滨湖区",
     "320213": "梁溪区",
     "320214": "新吴区",
     "320281": "江阴市",
     "320282": "宜兴市",
     "320300": "徐州市",
     "320302": "鼓楼区",
     "320303": "云龙区",
     "320305": "贾汪区",
     "320311": "泉山区",
     "320312": "铜山区",
     "320321": "丰县",
     "320322": "沛县",
     "320324": "睢宁县",
     "320371": "徐州经济技术开发区",
     "320381": "新沂市",
     "320382": "邳州市",
     "320400": "常州市",
     "320402": "天宁区",
     "320404": "钟楼区",
     "320411": "新北区",
     "320412": "武进区",
     "320413": "金坛区",
     "320481": "溧阳市",
     "320500": "苏州市",
     "320505": "虎丘区",
     "320506": "吴中区",
     "320507": "相城区",
     "320508": "姑苏区",
     "320509": "吴江区",
     "320571": "苏州工业园区",
     "320581": "常熟市",
     "320582": "张家港市",
     "320583": "昆山市",
     "320585": "太仓市",
     "320600": "南通市",
     "320602": "崇川区(旧)",
     "320611": "港闸区(旧)",
     "320612": "通州区",
     "320613": "崇川区",
     "320614": "海门区",
     "320621": "海安县(旧)",
     "320623": "如东县",
     "320671": "南通经济技术开发区",
     "320681": "启东市",
     "320682": "如皋市",
     "320684": "海门市(旧)",
     "320685": "海安市",
     "320700": "连云港市",
     "320703": "连云区",
     "320706": "海州区",
     "320707": "赣榆区",
     "320722": "东海县",
     "320723": "灌云县",
     "320724": "灌南县",
     "320771": "连云港经济技术开发区",
     "320772": "连云港高新技术产业开发区",
     "320800": "淮安市",
     "320803": "淮安区",
     "320804": "淮阴区",
     "320812": "清江浦区",
     "320813": "洪泽区",
     "320826": "涟水县",
     "320830": "盱眙县",
     "320831": "金湖县",
     "320871": "淮安经济技术开发区",
     "320900": "盐城市",
     "320902": "亭湖区",
     "320903": "盐都区",
     "320904": "大丰区",
     "320921": "响水县",
     "320922": "滨海县",
     "320923": "阜宁县",
     "320924": "射阳县",
     "320925": "建湖县",
     "320971": "盐城经济技术开发区",
     "320981": "东台市",
     "321000": "扬州市",
     "321002": "广陵区",
     "321003": "邗江区",
     "321012": "江都区",
     "321023": "宝应县",
     "321071": "扬州经济技术开发区",
     "321081": "仪征市",
     "321084": "高邮市",
     "321100": "镇江市",
     "321102": "京口区",
     "321111": "润州区",
     "321112": "丹徒区",
     "321171": "镇江新区",
     "321181": "丹阳市",
     "321182": "扬中市",
     "321183": "句容市",
     "321200": "泰州市",
     "321202": "海陵区",
     "321203": "高港区",
     "321204": "姜堰区",
     "321271": "泰州医药高新技术产业开发区",
     "321281": "兴化市",
     "321282": "靖江市",
     "321283": "泰兴市",
     "321300": "宿迁市",
     "321302": "宿城区",
     "321311": "宿豫区",
     "321322": "沭阳县",
     "321323": "泗阳县",
     "321324": "泗洪县",
     "321371": "宿迁经济技术开发区",
     "330000": "浙江",
     "330100": "杭州市",
     "330102": "上城区",
     "330103": "下城区(旧)",
     "330104": "江干区(旧)",
     "330105": "拱墅区",
     "330106": "西湖区",
     "330108": "滨江区",
     "330109": "萧山区",
     "330110": "余杭区",
     "330111": "富阳区",
     "330112": "临安区",
     "330113": "临平区",
     "330114": "钱塘区",
     "330122": "桐庐县",
     "330127": "淳安县",
     "330182": "建德市",
     "330185": "临安市(旧)",
     "330200": "宁波市",
     "330203": "海曙区",
     "330205": "江北区",
     "330206": "北仑区",
     "330211": "镇海区",
     "330212": "鄞州区",
     "330213": "奉化区",
     "330225": "象山县",
     "330226": "宁海县",
     "330281": "余姚市",
     "330282": "慈溪市",
     "330300": "温州市",
     "330302": "鹿城区",
     "330303": "龙湾区",
     "330304": "瓯海区",
     "330305": "洞头区",
     "330324": "永嘉县",
     "330326": "平阳县",
     "330327": "苍南县",
     "330328": "文成县",
     "330329": "泰顺县",
     "330371": "温州经济技术开发区",
     "330381": "瑞安市",
     "330382": "乐清市",
     "330383": "龙港市",
     "330400": "嘉兴市",
     "330402": "南湖区",
     "330411": "秀洲区",
     "330421": "嘉善县",
     "330424": "海盐县",
     "330481": "海宁市",
     "330482": "平湖市",
     "330483": "桐乡市",
     "330500": "湖州市",
     "330502": "吴兴区",
     "330503": "南浔区",
     "330521": "德清县",
     "330522": "长兴县",
     "330523": "安吉县",
     "330600": "绍兴市",
     "330602": "越城区",
     "330603": "柯桥区",
     "330604": "上虞区",
     "330624": "新昌县",
     "330681": "诸暨市",
     "330683": "嵊州市",
     "330700": "金华市",
     "330702": "婺城区",
     "330703": "金东区",
     "330723": "武义县",
     "330726": "浦江县",
     "330727": "磐安县",
     "330781": "兰溪市",
     "330782": "义乌市",
     "330783": "东阳市",
     "330784": "永康市",
     "330800": "衢州市",
     "330802": "柯城区",
     "330803": "衢江区",
     "330822": "常山县",
     "330824": "开化县",
     "330825": "龙游县",
     "330881": "江山市",
     "330900": "舟山市",
     "330902": "定海区",
     "330903": "普陀区",
     "330921": "岱山县",
     "330922": "嵊泗县",
     "331000": "台州市",
     "331002": "椒江区",
     "331003": "黄岩区",
     "331004": "路桥区",
     "331021": "玉环县(旧)",
     "331022": "三门县",
     "331023": "天台县",
     "331024": "仙居县",
     "331081": "温岭市",
     "331082": "临海市",
     "331083": "玉环市",
     "331100": "丽水市",
     "331102": "莲都区",
     "331121": "青田县",
     "331122": "缙云县",
     "331123": "遂昌县",
     "331124": "松阳县",
     "331125": "云和县",
     "331126": "庆元县",
     "331127": "景宁畲族自治县",
     "331181": "龙泉市",
     "340000": "安徽",
     "340100": "合肥市",
     "340102": "瑶海区",
     "340103": "庐阳区",
     "340104": "蜀山区",
     "340111": "包河区",
     "340121": "长丰县",
     "340122": "肥东县",
     "340123": "肥西县",
     "340124": "庐江县",
     "340171": "合肥高新技术产业开发区",
     "340172": "合肥经济技术开发区",
     "340173": "合肥新站高新技术产业开发区",
     "340181": "巢湖市",
     "340200": "芜湖市",
     "340202": "镜湖区",
     "340203": "弋江区(旧)",
     "340207": "鸠江区",
     "340208": "三山区(旧)",
     "340209": "弋江区",
     "340210": "湾沚区",
     "340212": "繁昌区",
     "340221": "芜湖县(旧)",
     "340222": "繁昌县(旧)",
     "340223": "南陵县",
     "340225": "无为县(旧)",
     "340271": "芜湖经济技术开发区",
     "340272": "安徽芜湖三山经济开发区",
     "340281": "无为市",
     "340300": "蚌埠市",
     "340302": "龙子湖区",
     "340303": "蚌山区",
     "340304": "禹会区",
     "340311": "淮上区",
     "340321": "怀远县",
     "340322": "五河县",
     "340323": "固镇县",
     "340371": "蚌埠市高新技术开发区",
     "340372": "蚌埠市经济开发区",
     "340400": "淮南市",
     "340402": "大通区",
     "340403": "田家庵区",
     "340404": "谢家集区",
     "340405": "八公山区",
     "340406": "潘集区",
     "340421": "凤台县",
     "340422": "寿县",
     "340500": "马鞍山市",
     "340503": "花山区",
     "340504": "雨山区",
     "340506": "博望区",
     "340521": "当涂县",
     "340522": "含山县",
     "340523": "和县",
     "340600": "淮北市",
     "340602": "杜集区",
     "340603": "相山区",
     "340604": "烈山区",
     "340621": "濉溪县",
     "340700": "铜陵市",
     "340705": "铜官区",
     "340706": "义安区",
     "340711": "郊区",
     "340722": "枞阳县",
     "340800": "安庆市",
     "340802": "迎江区",
     "340803": "大观区",
     "340811": "宜秀区",
     "340822": "怀宁县",
     "340824": "潜山县(旧)",
     "340825": "太湖县",
     "340826": "宿松县",
     "340827": "望江县",
     "340828": "岳西县",
     "340871": "安徽安庆经济开发区",
     "340881": "桐城市",
     "340882": "潜山市",
     "341000": "黄山市",
     "341002": "屯溪区",
     "341003": "黄山区",
     "341004": "徽州区",
     "341021": "歙县",
     "341022": "休宁县",
     "341023": "黟县",
     "341024": "祁门县",
     "341100": "滁州市",
     "341102": "琅琊区",
     "341103": "南谯区",
     "341122": "来安县",
     "341124": "全椒县",
     "341125": "定远县",
     "341126": "凤阳县",
     "341171": "中新苏滁高新技术产业开发区",
     "341172": "滁州经济技术开发区",
     "341181": "天长市",
     "341182": "明光市",
     "341200": "阜阳市",
     "341202": "颍州区",
     "341203": "颍东区",
     "341204": "颍泉区",
     "341221": "临泉县",
     "341222": "太和县",
     "341225": "阜南县",
     "341226": "颍上县",
     "341271": "阜阳合肥现代产业园区",
     "341272": "阜阳经济技术开发区",
     "341282": "界首市",
     "341300": "宿州市",
     "341302": "埇桥区",
     "341321": "砀山县",
     "341322": "萧县",
     "341323": "灵璧县",
     "341324": "泗县",
     "341371": "宿州马鞍山现代产业园区",
     "341372": "宿州经济技术开发区",
     "341500": "六安市",
     "341502": "金安区",
     "341503": "裕安区",
     "341504": "叶集区",
     "341522": "霍邱县",
     "341523": "舒城县",
     "341524": "金寨县",
     "341525": "霍山县",
     "341600": "亳州市",
     "341602": "谯城区",
     "341621": "涡阳县",
     "341622": "蒙城县",
     "341623": "利辛县",
     "341700": "池州市",
     "341702": "贵池区",
     "341721": "东至县",
     "341722": "石台县",
     "341723": "青阳县",
     "341800": "宣城市",
     "341802": "宣州区",
     "341821": "郎溪县",
     "341822": "广德县(旧)",
     "341823": "泾县",
     "341824": "绩溪县",
     "341825": "旌德县",
     "341871": "宣城市经济开发区",
     "341881": "宁国市",
     "341882": "广德市",
     "350000": "福建",
     "350100": "福州市",
     "350102": "鼓楼区",
     "350103": "台江区",
     "350104": "仓山区",
     "350105": "马尾区",
     "350111": "晋安区",
     "350112": "长乐区",
     "350121": "闽侯县",
     "350122": "连江县",
     "350123": "罗源县",
     "350124": "闽清县",
     "350125": "永泰县",
     "350128": "平潭县",
     "350181": "福清市",
     "350182": "长乐市(旧)",
     "350200": "厦门市",
     "350203": "思明区",
     "350205": "海沧区",
     "350206": "湖里区",
     "350211": "集美区",
     "350212": "同安区",
     "350213": "翔安区",
     "350300": "莆田市",
     "350302": "城厢区",
     "350303": "涵江区",
     "350304": "荔城区",
     "350305": "秀屿区",
     "350322": "仙游县",
     "350400": "三明市",
     "350402": "梅列区(旧)",
     "350403": "三元区(旧)",
     "350404": "三元区",
     "350405": "沙县区",
     "350421": "明溪县",
     "350423": "清流县",
     "350424": "宁化县",
     "350425": "大田县",
     "350426": "尤溪县",
     "350427": "沙县(旧)",
     "350428": "将乐县",
     "350429": "泰宁县",
     "350430": "建宁县",
     "350481": "永安市",
     "350500": "泉州市",
     "350502": "鲤城区",
     "350503": "丰泽区",
     "350504": "洛江区",
     "350505": "泉港区",
     "350521": "惠安县",
     "350524": "安溪县",
     "350525": "永春县",
     "350526": "德化县",
     "350527": "金门县",
     "350581": "石狮市",
     "350582": "晋江市",
     "350583": "南安市",
     "350600": "漳州市",
     "350602": "芗城区",
     "350603": "龙文区",
     "350604": "龙海区",
     "350605": "长泰区",
     "350622": "云霄县",
     "350623": "漳浦县",
     "350624": "诏安县",
     "350625": "长泰县(旧)",
     "350626": "东山县",
     "350627": "南靖县",
     "350628": "平和县",
     "350629": "华安县",
     "350681": "龙海市(旧)",
     "350700": "南平市",
     "350702": "延平区",
     "350703": "建阳区",
     "350721": "顺昌县",
     "350722": "浦城县",
     "350723": "光泽县",
     "350724": "松溪县",
     "350725": "政和县",
     "350781": "邵武市",
     "350782": "武夷山市",
     "350783": "建瓯市",
     "350800": "龙岩市",
     "350802": "新罗区",
     "350803": "永定区",
     "350821": "长汀县",
     "350823": "上杭县",
     "350824": "武平县",
     "350825": "连城县",
     "350881": "漳平市",
     "350900": "宁德市",
     "350902": "蕉城区",
     "350921": "霞浦县",
     "350922": "古田县",
     "350923": "屏南县",
     "350924": "寿宁县",
     "350925": "周宁县",
     "350926": "柘荣县",
     "350981": "福安市",
     "350982": "福鼎市",
     "360000": "江西",
     "360100": "南昌市",
     "360102": "东湖区",
     "360103": "西湖区",
     "360104": "青云谱区",
     "360105": "湾里区(旧)",
     "360111": "青山湖区",
     "360112": "新建区",
     "360113": "红谷滩区",
     "360121": "南昌县",
     "360123": "安义县",
     "360124": "进贤县",
     "360200": "景德镇市",
     "360202": "昌江区",
     "360203": "珠山区",
     "360222": "浮梁县",
     "360281": "乐平市",
     "360300": "萍乡市",
     "360302": "安源区",
     "360313": "湘东区",
     "360321": "莲花县",
     "360322": "上栗县",
     "360323": "芦溪县",
     "360400": "九江市",
     "360402": "濂溪区",
     "360403": "浔阳区",
     "360404": "柴桑区",
     "360421": "九江县(旧)",
     "360423": "武宁县",
     "360424": "修水县",
     "360425": "永修县",
     "360426": "德安县",
     "360427": "庐山市(旧)",
     "360428": "都昌县",
     "360429": "湖口县",
     "360430": "彭泽县",
     "360481": "瑞昌市",
     "360482": "共青城市",
     "360483": "庐山市",
     "360500": "新余市",
     "360502": "渝水区",
     "360521": "分宜县",
     "360600": "鹰潭市",
     "360602": "月湖区",
     "360603": "余江区",
     "360622": "余江县(旧)",
     "360681": "贵溪市",
     "360700": "赣州市",
     "360702": "章贡区",
     "360703": "南康区",
     "360704": "赣县区",
     "360721": "赣县区(旧)",
     "360722": "信丰县",
     "360723": "大余县",
     "360724": "上犹县",
     "360725": "崇义县",
     "360726": "安远县",
     "360727": "龙南县(旧)",
     "360728": "定南县",
     "360729": "全南县",
     "360730": "宁都县",
     "360731": "于都县",
     "360732": "兴国县",
     "360733": "会昌县",
     "360734": "寻乌县",
     "360735": "石城县",
     "360781": "瑞金市",
     "360783": "龙南市",
     "360800": "吉安市",
     "360802": "吉州区",
     "360803": "青原区",
     "360821": "吉安县",
     "360822": "吉水县",
     "360823": "峡江县",
     "360824": "新干县",
     "360825": "永丰县",
     "360826": "泰和县",
     "360827": "遂川县",
     "360828": "万安县",
     "360829": "安福县",
     "360830": "永新县",
     "360881": "井冈山市",
     "360900": "宜春市",
     "360902": "袁州区",
     "360921": "奉新县",
     "360922": "万载县",
     "360923": "上高县",
     "360924": "宜丰县",
     "360925": "靖安县",
     "360926": "铜鼓县",
     "360981": "丰城市",
     "360982": "樟树市",
     "360983": "高安市",
     "361000": "抚州市",
     "361002": "临川区",
     "361003": "东乡区",
     "361021": "南城县",
     "361022": "黎川县",
     "361023": "南丰县",
     "361024": "崇仁县",
     "361025": "乐安县",
     "361026": "宜黄县",
     "361027": "金溪县",
     "361028": "资溪县",
     "361029": "东乡区(旧)",
     "361030": "广昌县",
     "361100": "上饶市",
     "361102": "信州区",
     "361103": "广丰区",
     "361104": "广信区",
     "361121": "上饶县(旧)",
     "361123": "玉山县",
     "361124": "铅山县",
     "361125": "横峰县",
     "361126": "弋阳县",
     "361127": "余干县",
     "361128": "鄱阳县",
     "361129": "万年县",
     "361130": "婺源县",
     "361181": "德兴市",
     "370000": "山东",
     "370100": "济南市",
     "370102": "历下区",
     "370103": "市中区",
     "370104": "槐荫区",
     "370105": "天桥区",
     "370112": "历城区",
     "370113": "长清区",
     "370114": "章丘区",
     "370115": "济阳区",
     "370116": "莱芜区",
     "370117": "钢城区",
     "370124": "平阴县",
     "370125": "济阳县(旧)",
     "370126": "商河县",
     "370171": "济南高新技术产业开发区",
     "370181": "章丘区(旧)",
     "370200": "青岛市",
     "370202": "市南区",
     "370203": "市北区",
     "370211": "黄岛区",
     "370212": "崂山区",
     "370213": "李沧区",
     "370214": "城阳区",
     "370215": "即墨区",
     "370271": "青岛高新技术产业开发区",
     "370281": "胶州市",
     "370282": "即墨市(旧)",
     "370283": "平度市",
     "370285": "莱西市",
     "370300": "淄博市",
     "370302": "淄川区",
     "370303": "张店区",
     "370304": "博山区",
     "370305": "临淄区",
     "370306": "周村区",
     "370321": "桓台县",
     "370322": "高青县",
     "370323": "沂源县",
     "370400": "枣庄市",
     "370402": "市中区",
     "370403": "薛城区",
     "370404": "峄城区",
     "370405": "台儿庄区",
     "370406": "山亭区",
     "370481": "滕州市",
     "370500": "东营市",
     "370502": "东营区",
     "370503": "河口区",
     "370505": "垦利区",
     "370522": "利津县",
     "370523": "广饶县",
     "370571": "东营经济技术开发区",
     "370572": "东营港经济开发区",
     "370600": "烟台市",
     "370602": "芝罘区",
     "370611": "福山区",
     "370612": "牟平区",
     "370613": "莱山区",
     "370614": "蓬莱区",
     "370634": "长岛县(旧)",
     "370671": "烟台高新技术产业开发区",
     "370672": "烟台经济技术开发区",
     "370681": "龙口市",
     "370682": "莱阳市",
     "370683": "莱州市",
     "370684": "蓬莱市(旧)",
     "370685": "招远市",
     "370686": "栖霞市",
     "370687": "海阳市",
     "370700": "潍坊市",
     "370702": "潍城区",
     "370703": "寒亭区",
     "370704": "坊子区",
     "370705": "奎文区",
     "370724": "临朐县",
     "370725": "昌乐县",
     "370772": "潍坊滨海经济技术开发区",
     "370781": "青州市",
     "370782": "诸城市",
     "370783": "寿光市",
     "370784": "安丘市",
     "370785": "高密市",
     "370786": "昌邑市",
     "370800": "济宁市",
     "370811": "任城区",
     "370812": "兖州区",
     "370826": "微山县",
     "370827": "鱼台县",
     "370828": "金乡县",
     "370829": "嘉祥县",
     "370830": "汶上县",
     "370831": "泗水县",
     "370832": "梁山县",
     "370871": "济宁高新技术产业开发区",
     "370881": "曲阜市",
     "370883": "邹城市",
     "370900": "泰安市",
     "370902": "泰山区",
     "370911": "岱岳区",
     "370921": "宁阳县",
     "370923": "东平县",
     "370982": "新泰市",
     "370983": "肥城市",
     "371000": "威海市",
     "371002": "环翠区",
     "371003": "文登区",
     "371071": "威海火炬高技术产业开发区",
     "371072": "威海经济技术开发区",
     "371073": "威海临港经济技术开发区",
     "371082": "荣成市",
     "371083": "乳山市",
     "371100": "日照市",
     "371102": "东港区",
     "371103": "岚山区",
     "371121": "五莲县",
     "371122": "莒县",
     "371171": "日照经济技术开发区",
     "371200": "莱芜市(旧)",
     "371202": "莱城区(旧)",
     "371203": "钢城区(旧)",
     "371300": "临沂市",
     "371302": "兰山区",
     "371311": "罗庄区",
     "371312": "河东区",
     "371321": "沂南县",
     "371322": "郯城县",
     "371323": "沂水县",
     "371324": "兰陵县",
     "371325": "费县",
     "371326": "平邑县",
     "371327": "莒南县",
     "371328": "蒙阴县",
     "371329": "临沭县",
     "371371": "临沂高新技术产业开发区",
     "371400": "德州市",
     "371402": "德城区",
     "371403": "陵城区",
     "371422": "宁津县",
     "371423": "庆云县",
     "371424": "临邑县",
     "371425": "齐河县",
     "371426": "平原县",
     "371427": "夏津县",
     "371428": "武城县",
     "371471": "德州经济技术开发区",
     "371472": "德州运河经济开发区",
     "371481": "乐陵市",
     "371482": "禹城市",
     "371500": "聊城市",
     "371502": "东昌府区",
     "371503": "茌平区",
     "371521": "阳谷县",
     "371522": "莘县",
     "371523": "茌平县(旧)",
     "371524": "东阿县",
     "371525": "冠县",
     "371526": "高唐县",
     "371581": "临清市",
     "371600": "滨州市",
     "371602": "滨城区",
     "371603": "沾化区",
     "371621": "惠民县",
     "371622": "阳信县",
     "371623": "无棣县",
     "371625": "博兴县",
     "371626": "邹平县(旧)",
     "371681": "邹平市",
     "371700": "菏泽市",
     "371702": "牡丹区",
     "371703": "定陶区",
     "371721": "曹县",
     "371722": "单县",
     "371723": "成武县",
     "371724": "巨野县",
     "371725": "郓城县",
     "371726": "鄄城县",
     "371728": "东明县",
     "371771": "菏泽经济技术开发区",
     "371772": "菏泽高新技术开发区",
     "410000": "河南",
     "410100": "郑州市",
     "410102": "中原区",
     "410103": "二七区",
     "410104": "管城回族区",
     "410105": "金水区",
     "410106": "上街区",
     "410108": "惠济区",
     "410122": "中牟县",
     "410171": "郑州经济技术开发区",
     "410172": "郑州高新技术产业开发区",
     "410173": "郑州航空港经济综合实验区",
     "410181": "巩义市",
     "410182": "荥阳市",
     "410183": "新密市",
     "410184": "新郑市",
     "410185": "登封市",
     "410186": "郑东新区(旧)",
     "410200": "开封市",
     "410202": "龙亭区",
     "410203": "顺河回族区",
     "410204": "鼓楼区",
     "410205": "禹王台区",
     "410212": "祥符区",
     "410221": "杞县",
     "410222": "通许县",
     "410223": "尉氏县",
     "410225": "兰考县",
     "410300": "洛阳市",
     "410302": "老城区",
     "410303": "西工区",
     "410304": "瀍河回族区",
     "410305": "涧西区",
     "410306": "吉利区(旧)",
     "410307": "偃师区",
     "410308": "孟津区",
     "410311": "洛龙区",
     "410322": "孟津县(旧)",
     "410323": "新安县",
     "410324": "栾川县",
     "410325": "嵩县",
     "410326": "汝阳县",
     "410327": "宜阳县",
     "410328": "洛宁县",
     "410329": "伊川县",
     "410371": "洛阳高新技术产业开发区",
     "410381": "偃师市(旧)",
     "410400": "平顶山市",
     "410402": "新华区",
     "410403": "卫东区",
     "410404": "石龙区",
     "410411": "湛河区",
     "410421": "宝丰县",
     "410422": "叶县",
     "410423": "鲁山县",
     "410425": "郏县",
     "410471": "平顶山高新技术产业开发区",
     "410472": "平顶山市城乡一体化示范区",
     "410481": "舞钢市",
     "410482": "汝州市",
     "410500": "安阳市",
     "410502": "文峰区",
     "410503": "北关区",
     "410505": "殷都区",
     "410506": "龙安区",
     "410522": "安阳县",
     "410523": "汤阴县",
     "410526": "滑县",
     "410527": "内黄县",
     "410571": "安阳高新技术产业开发区",
     "410581": "林州市",
     "410600": "鹤壁市",
     "410602": "鹤山区",
     "410603": "山城区",
     "410611": "淇滨区",
     "410621": "浚县",
     "410622": "淇县",
     "410671": "鹤壁经济技术开发区",
     "410700": "新乡市",
     "410702": "红旗区",
     "410703": "卫滨区",
     "410704": "凤泉区",
     "410711": "牧野区",
     "410721": "新乡县",
     "410724": "获嘉县",
     "410725": "原阳县",
     "410726": "延津县",
     "410727": "封丘县",
     "410728": "长垣县(旧)",
     "410771": "新乡高新技术产业开发区",
     "410772": "新乡经济技术开发区",
     "410773": "新乡市平原城乡一体化示范区",
     "410781": "卫辉市",
     "410782": "辉县市",
     "410783": "长垣市",
     "410800": "焦作市",
     "410802": "解放区",
     "410803": "中站区",
     "410804": "马村区",
     "410811": "山阳区",
     "410821": "修武县",
     "410822": "博爱县",
     "410823": "武陟县",
     "410825": "温县",
     "410871": "焦作城乡一体化示范区",
     "410882": "沁阳市",
     "410883": "孟州市",
     "410900": "濮阳市",
     "410902": "华龙区",
     "410922": "清丰县",
     "410923": "南乐县",
     "410926": "范县",
     "410927": "台前县",
     "410928": "濮阳县",
     "410971": "河南濮阳工业园区",
     "410972": "濮阳经济技术开发区",
     "411000": "许昌市",
     "411002": "魏都区",
     "411003": "建安区",
     "411023": "许昌县(旧)",
     "411024": "鄢陵县",
     "411025": "襄城县",
     "411071": "许昌经济技术开发区",
     "411081": "禹州市",
     "411082": "长葛市",
     "411100": "漯河市",
     "411102": "源汇区",
     "411103": "郾城区",
     "411104": "召陵区",
     "411121": "舞阳县",
     "411122": "临颍县",
     "411171": "漯河经济技术开发区",
     "411200": "三门峡市",
     "411202": "湖滨区",
     "411203": "陕州区",
     "411221": "渑池县",
     "411224": "卢氏县",
     "411271": "河南三门峡经济开发区",
     "411281": "义马市",
     "411282": "灵宝市",
     "411300": "南阳市",
     "411302": "宛城区",
     "411303": "卧龙区",
     "411321": "南召县",
     "411322": "方城县",
     "411323": "西峡县",
     "411324": "镇平县",
     "411325": "内乡县",
     "411326": "淅川县",
     "411327": "社旗县",
     "411328": "唐河县",
     "411329": "新野县",
     "411330": "桐柏县",
     "411371": "南阳高新技术产业开发区",
     "411372": "南阳市城乡一体化示范区",
     "411381": "邓州市",
     "411400": "商丘市",
     "411402": "梁园区",
     "411403": "睢阳区",
     "411421": "民权县",
     "411422": "睢县",
     "411423": "宁陵县",
     "411424": "柘城县",
     "411425": "虞城县",
     "411426": "夏邑县",
     "411471": "豫东综合物流产业聚集区",
     "411472": "河南商丘经济开发区",
     "411481": "永城市",
     "411500": "信阳市",
     "411502": "浉河区",
     "411503": "平桥区",
     "411521": "罗山县",
     "411522": "光山县",
     "411523": "新县",
     "411524": "商城县",
     "411525": "固始县",
     "411526": "潢川县",
     "411527": "淮滨县",
     "411528": "息县",
     "411571": "信阳高新技术产业开发区",
     "411600": "周口市",
     "411602": "川汇区",
     "411603": "淮阳区",
     "411621": "扶沟县",
     "411622": "西华县",
     "411623": "商水县",
     "411624": "沈丘县",
     "411625": "郸城县",
     "411626": "淮阳县(旧)",
     "411627": "太康县",
     "411628": "鹿邑县",
     "411671": "河南周口经济开发区",
     "411681": "项城市",
     "411700": "驻马店市",
     "411702": "驿城区",
     "411721": "西平县",
     "411722": "上蔡县",
     "411723": "平舆县",
     "411724": "正阳县",
     "411725": "确山县",
     "411726": "泌阳县",
     "411727": "汝南县",
     "411728": "遂平县",
     "411729": "新蔡县",
     "411771": "河南驻马店经济开发区",
     "419001": "济源市",
     "420000": "湖北",
     "420100": "武汉市",
     "420102": "江岸区",
     "420103": "江汉区",
     "420104": "硚口区",
     "420105": "汉阳区",
     "420106": "武昌区",
     "420107": "青山区",
     "420111": "洪山区",
     "420112": "东西湖区",
     "420113": "汉南区",
     "420114": "蔡甸区",
     "420115": "江夏区",
     "420116": "黄陂区",
     "420117": "新洲区",
     "420200": "黄石市",
     "420202": "黄石港区",
     "420203": "西塞山区",
     "420204": "下陆区",
     "420205": "铁山区",
     "420222": "阳新县",
     "420281": "大冶市",
     "420300": "十堰市",
     "420302": "茅箭区",
     "420303": "张湾区",
     "420304": "郧阳区",
     "420322": "郧西县",
     "420323": "竹山县",
     "420324": "竹溪县",
     "420325": "房县",
     "420381": "丹江口市",
     "420500": "宜昌市",
     "420502": "西陵区",
     "420503": "伍家岗区",
     "420504": "点军区",
     "420505": "猇亭区",
     "420506": "夷陵区",
     "420525": "远安县",
     "420526": "兴山县",
     "420527": "秭归县",
     "420528": "长阳土家族自治县",
     "420529": "五峰土家族自治县",
     "420581": "宜都市",
     "420582": "当阳市",
     "420583": "枝江市",
     "420600": "襄阳市",
     "420602": "襄城区",
     "420606": "樊城区",
     "420607": "襄州区",
     "420624": "南漳县",
     "420625": "谷城县",
     "420626": "保康县",
     "420682": "老河口市",
     "420683": "枣阳市",
     "420684": "宜城市",
     "420700": "鄂州市",
     "420702": "梁子湖区",
     "420703": "华容区",
     "420704": "鄂城区",
     "420800": "荆门市",
     "420802": "东宝区",
     "420804": "掇刀区",
     "420821": "京山县(旧)",
     "420822": "沙洋县",
     "420881": "钟祥市",
     "420882": "京山市",
     "420900": "孝感市",
     "420902": "孝南区",
     "420921": "孝昌县",
     "420922": "大悟县",
     "420923": "云梦县",
     "420981": "应城市",
     "420982": "安陆市",
     "420984": "汉川市",
     "421000": "荆州市",
     "421002": "沙市区",
     "421003": "荆州区",
     "421022": "公安县",
     "421023": "监利县(旧)",
     "421024": "江陵县",
     "421071": "荆州经济技术开发区",
     "421081": "石首市",
     "421083": "洪湖市",
     "421087": "松滋市",
     "421088": "监利市",
     "421100": "黄冈市",
     "421102": "黄州区",
     "421121": "团风县",
     "421122": "红安县",
     "421123": "罗田县",
     "421124": "英山县",
     "421125": "浠水县",
     "421126": "蕲春县",
     "421127": "黄梅县",
     "421171": "龙感湖管理区",
     "421181": "麻城市",
     "421182": "武穴市",
     "421200": "咸宁市",
     "421202": "咸安区",
     "421221": "嘉鱼县",
     "421222": "通城县",
     "421223": "崇阳县",
     "421224": "通山县",
     "421281": "赤壁市",
     "421300": "随州市",
     "421303": "曾都区",
     "421321": "随县",
     "421381": "广水市",
     "422800": "恩施土家族苗族自治州",
     "422801": "恩施市",
     "422802": "利川市",
     "422822": "建始县",
     "422823": "巴东县",
     "422825": "宣恩县",
     "422826": "咸丰县",
     "422827": "来凤县",
     "422828": "鹤峰县",
     "429004": "仙桃市",
     "429005": "潜江市",
     "429006": "天门市",
     "429021": "神农架林区",
     "430000": "湖南",
     "430100": "长沙市",
     "430102": "芙蓉区",
     "430103": "天心区",
     "430104": "岳麓区",
     "430105": "开福区",
     "430111": "雨花区",
     "430112": "望城区",
     "430121": "长沙县",
     "430124": "宁乡县(旧)",
     "430181": "浏阳市",
     "430182": "宁乡市",
     "430200": "株洲市",
     "430202": "荷塘区",
     "430203": "芦淞区",
     "430204": "石峰区",
     "430211": "天元区",
     "430212": "渌口区",
     "430221": "株洲县(旧)",
     "430223": "攸县",
     "430224": "茶陵县",
     "430225": "炎陵县",
     "430271": "云龙示范区",
     "430281": "醴陵市",
     "430300": "湘潭市",
     "430302": "雨湖区",
     "430304": "岳塘区",
     "430321": "湘潭县",
     "430371": "湖南湘潭高新技术产业园区",
     "430372": "湘潭昭山示范区",
     "430373": "湘潭九华示范区",
     "430381": "湘乡市",
     "430382": "韶山市",
     "430400": "衡阳市",
     "430405": "珠晖区",
     "430406": "雁峰区",
     "430407": "石鼓区",
     "430408": "蒸湘区",
     "430412": "南岳区",
     "430421": "衡阳县",
     "430422": "衡南县",
     "430423": "衡山县",
     "430424": "衡东县",
     "430426": "祁东县",
     "430471": "衡阳综合保税区",
     "430472": "湖南衡阳高新技术产业园区",
     "430473": "湖南衡阳松木经济开发区",
     "430481": "耒阳市",
     "430482": "常宁市",
     "430500": "邵阳市",
     "430502": "双清区",
     "430503": "大祥区",
     "430511": "北塔区",
     "430521": "邵东县(旧)",
     "430522": "新邵县",
     "430523": "邵阳县",
     "430524": "隆回县",
     "430525": "洞口县",
     "430527": "绥宁县",
     "430528": "新宁县",
     "430529": "城步苗族自治县",
     "430581": "武冈市",
     "430582": "邵东市",
     "430600": "岳阳市",
     "430602": "岳阳楼区",
     "430603": "云溪区",
     "430611": "君山区",
     "430621": "岳阳县",
     "430623": "华容县",
     "430624": "湘阴县",
     "430626": "平江县",
     "430671": "岳阳市屈原管理区",
     "430681": "汨罗市",
     "430682": "临湘市",
     "430700": "常德市",
     "430702": "武陵区",
     "430703": "鼎城区",
     "430721": "安乡县",
     "430722": "汉寿县",
     "430723": "澧县",
     "430724": "临澧县",
     "430725": "桃源县",
     "430726": "石门县",
     "430771": "常德市西洞庭管理区",
     "430781": "津市市",
     "430800": "张家界市",
     "430802": "永定区",
     "430811": "武陵源区",
     "430821": "慈利县",
     "430822": "桑植县",
     "430900": "益阳市",
     "430902": "资阳区",
     "430903": "赫山区",
     "430921": "南县",
     "430922": "桃江县",
     "430923": "安化县",
     "430971": "益阳市大通湖管理区",
     "430972": "湖南益阳高新技术产业园区",
     "430981": "沅江市",
     "431000": "郴州市",
     "431002": "北湖区",
     "431003": "苏仙区",
     "431021": "桂阳县",
     "431022": "宜章县",
     "431023": "永兴县",
     "431024": "嘉禾县",
     "431025": "临武县",
     "431026": "汝城县",
     "431027": "桂东县",
     "431028": "安仁县",
     "431081": "资兴市",
     "431100": "永州市",
     "431102": "零陵区",
     "431103": "冷水滩区",
     "431121": "祁阳县(旧)",
     "431122": "东安县",
     "431123": "双牌县",
     "431124": "道县",
     "431125": "江永县",
     "431126": "宁远县",
     "431127": "蓝山县",
     "431128": "新田县",
     "431129": "江华瑶族自治县",
     "431171": "永州经济技术开发区",
     "431173": "永州市回龙圩管理区",
     "431181": "祁阳市",
     "431200": "怀化市",
     "431202": "鹤城区",
     "431221": "中方县",
     "431222": "沅陵县",
     "431223": "辰溪县",
     "431224": "溆浦县",
     "431225": "会同县",
     "431226": "麻阳苗族自治县",
     "431227": "新晃侗族自治县",
     "431228": "芷江侗族自治县",
     "431229": "靖州苗族侗族自治县",
     "431230": "通道侗族自治县",
     "431271": "怀化市洪江管理区",
     "431281": "洪江市",
     "431300": "娄底市",
     "431302": "娄星区",
     "431321": "双峰县",
     "431322": "新化县",
     "431381": "冷水江市",
     "431382": "涟源市",
     "433100": "湘西土家族苗族自治州",
     "433101": "吉首市",
     "433122": "泸溪县",
     "433123": "凤凰县",
     "433124": "花垣县",
     "433125": "保靖县",
     "433126": "古丈县",
     "433127": "永顺县",
     "433130": "龙山县",
     "440000": "广东",
     "440100": "广州市",
     "440103": "荔湾区",
     "440104": "越秀区",
     "440105": "海珠区",
     "440106": "天河区",
     "440111": "白云区",
     "440112": "黄埔区",
     "440113": "番禺区",
     "440114": "花都区",
     "440115": "南沙区",
     "440117": "从化区",
     "440118": "增城区",
     "440200": "韶关市",
     "440203": "武江区",
     "440204": "浈江区",
     "440205": "曲江区",
     "440222": "始兴县",
     "440224": "仁化县",
     "440229": "翁源县",
     "440232": "乳源瑶族自治县",
     "440233": "新丰县",
     "440281": "乐昌市",
     "440282": "南雄市",
     "440300": "深圳市",
     "440303": "罗湖区",
     "440304": "福田区",
     "440305": "南山区",
     "440306": "宝安区",
     "440307": "龙岗区",
     "440308": "盐田区",
     "440309": "龙华区",
     "440310": "坪山区",
     "440311": "光明区",
     "440400": "珠海市",
     "440402": "香洲区",
     "440403": "斗门区",
     "440404": "金湾区",
     "440500": "汕头市",
     "440507": "龙湖区",
     "440511": "金平区",
     "440512": "濠江区",
     "440513": "潮阳区",
     "440514": "潮南区",
     "440515": "澄海区",
     "440523": "南澳县",
     "440600": "佛山市",
     "440604": "禅城区",
     "440605": "南海区",
     "440606": "顺德区",
     "440607": "三水区",
     "440608": "高明区",
     "440700": "江门市",
     "440703": "蓬江区",
     "440704": "江海区",
     "440705": "新会区",
     "440781": "台山市",
     "440783": "开平市",
     "440784": "鹤山市",
     "440785": "恩平市",
     "440800": "湛江市",
     "440802": "赤坎区",
     "440803": "霞山区",
     "440804": "坡头区",
     "440811": "麻章区",
     "440823": "遂溪县",
     "440825": "徐闻县",
     "440881": "廉江市",
     "440882": "雷州市",
     "440883": "吴川市",
     "440900": "茂名市",
     "440902": "茂南区",
     "440904": "电白区",
     "440981": "高州市",
     "440982": "化州市",
     "440983": "信宜市",
     "441200": "肇庆市",
     "441202": "端州区",
     "441203": "鼎湖区",
     "441204": "高要区",
     "441223": "广宁县",
     "441224": "怀集县",
     "441225": "封开县",
     "441226": "德庆县",
     "441284": "四会市",
     "441300": "惠州市",
     "441302": "惠城区",
     "441303": "惠阳区",
     "441322": "博罗县",
     "441323": "惠东县",
     "441324": "龙门县",
     "441400": "梅州市",
     "441402": "梅江区",
     "441403": "梅县区",
     "441422": "大埔县",
     "441423": "丰顺县",
     "441424": "五华县",
     "441426": "平远县",
     "441427": "蕉岭县",
     "441481": "兴宁市",
     "441500": "汕尾市",
     "441502": "城区",
     "441521": "海丰县",
     "441523": "陆河县",
     "441581": "陆丰市",
     "441600": "河源市",
     "441602": "源城区",
     "441621": "紫金县",
     "441622": "龙川县",
     "441623": "连平县",
     "441624": "和平县",
     "441625": "东源县",
     "441700": "阳江市",
     "441702": "江城区",
     "441704": "阳东区",
     "441721": "阳西县",
     "441781": "阳春市",
     "441800": "清远市",
     "441802": "清城区",
     "441803": "清新区",
     "441821": "佛冈县",
     "441823": "阳山县",
     "441825": "连山壮族瑶族自治县",
     "441826": "连南瑶族自治县",
     "441881": "英德市",
     "441882": "连州市",
     "441900": "东莞市",
     "442000": "中山市",
     "445100": "潮州市",
     "445102": "湘桥区",
     "445103": "潮安区",
     "445122": "饶平县",
     "445200": "揭阳市",
     "445202": "榕城区",
     "445203": "揭东区",
     "445222": "揭西县",
     "445224": "惠来县",
     "445281": "普宁市",
     "445300": "云浮市",
     "445302": "云城区",
     "445303": "云安区",
     "445321": "新兴县",
     "445322": "郁南县",
     "445381": "罗定市",
     "450000": "广西",
     "450100": "南宁市",
     "450102": "兴宁区",
     "450103": "青秀区",
     "450105": "江南区",
     "450107": "西乡塘区",
     "450108": "良庆区",
     "450109": "邕宁区",
     "450110": "武鸣区",
     "450123": "隆安县",
     "450124": "马山县",
     "450125": "上林县",
     "450126": "宾阳县",
     "450127": "横县(旧)",
     "450181": "横州市",
     "450200": "柳州市",
     "450202": "城中区",
     "450203": "鱼峰区",
     "450204": "柳南区",
     "450205": "柳北区",
     "450206": "柳江区",
     "450221": "柳江区(旧)",
     "450222": "柳城县",
     "450223": "鹿寨县",
     "450224": "融安县",
     "450225": "融水苗族自治县",
     "450226": "三江侗族自治县",
     "450300": "桂林市",
     "450302": "秀峰区",
     "450303": "叠彩区",
     "450304": "象山区",
     "450305": "七星区",
     "450311": "雁山区",
     "450312": "临桂区",
     "450321": "阳朔县",
     "450323": "灵川县",
     "450324": "全州县",
     "450325": "兴安县",
     "450326": "永福县",
     "450327": "灌阳县",
     "450328": "龙胜各族自治县",
     "450329": "资源县",
     "450330": "平乐县",
     "450331": "荔浦县(旧)",
     "450332": "恭城瑶族自治县",
     "450381": "荔浦市",
     "450400": "梧州市",
     "450403": "万秀区",
     "450405": "长洲区",
     "450406": "龙圩区",
     "450421": "苍梧县",
     "450422": "藤县",
     "450423": "蒙山县",
     "450481": "岑溪市",
     "450500": "北海市",
     "450502": "海城区",
     "450503": "银海区",
     "450512": "铁山港区",
     "450521": "合浦县",
     "450600": "防城港市",
     "450602": "港口区",
     "450603": "防城区",
     "450621": "上思县",
     "450681": "东兴市",
     "450700": "钦州市",
     "450702": "钦南区",
     "450703": "钦北区",
     "450721": "灵山县",
     "450722": "浦北县",
     "450800": "贵港市",
     "450802": "港北区",
     "450803": "港南区",
     "450804": "覃塘区",
     "450821": "平南县",
     "450881": "桂平市",
     "450900": "玉林市",
     "450902": "玉州区",
     "450903": "福绵区",
     "450921": "容县",
     "450922": "陆川县",
     "450923": "博白县",
     "450924": "兴业县",
     "450981": "北流市",
     "451000": "百色市",
     "451002": "右江区",
     "451003": "田阳区",
     "451021": "田阳县(旧)",
     "451022": "田东县",
     "451023": "平果县(旧)",
     "451024": "德保县",
     "451026": "那坡县",
     "451027": "凌云县",
     "451028": "乐业县",
     "451029": "田林县",
     "451030": "西林县",
     "451031": "隆林各族自治县",
     "451081": "靖西市",
     "451082": "平果市",
     "451100": "贺州市",
     "451102": "八步区",
     "451103": "平桂区",
     "451121": "昭平县",
     "451122": "钟山县",
     "451123": "富川瑶族自治县",
     "451200": "河池市",
     "451202": "金城江区",
     "451203": "宜州区",
     "451221": "南丹县",
     "451222": "天峨县",
     "451223": "凤山县",
     "451224": "东兰县",
     "451225": "罗城仫佬族自治县",
     "451226": "环江毛南族自治县",
     "451227": "巴马瑶族自治县",
     "451228": "都安瑶族自治县",
     "451229": "大化瑶族自治县",
     "451281": "宜州区(旧)",
     "451300": "来宾市",
     "451302": "兴宾区",
     "451321": "忻城县",
     "451322": "象州县",
     "451323": "武宣县",
     "451324": "金秀瑶族自治县",
     "451381": "合山市",
     "451400": "崇左市",
     "451402": "江州区",
     "451421": "扶绥县",
     "451422": "宁明县",
     "451423": "龙州县",
     "451424": "大新县",
     "451425": "天等县",
     "451481": "凭祥市",
     "460000": "海南",
     "460100": "海口市",
     "460105": "秀英区",
     "460106": "龙华区",
     "460107": "琼山区",
     "460108": "美兰区",
     "460200": "三亚市",
     "460202": "海棠区",
     "460203": "吉阳区",
     "460204": "天涯区",
     "460205": "崖州区",
     "460300": "三沙市",
     "460321": "西沙群岛",
     "460322": "南沙群岛",
     "460323": "中沙群岛",
     "460324": "永乐群岛",
     "460400": "儋州市",
     "469001": "五指山市",
     "469002": "琼海市",
     "469005": "文昌市",
     "469006": "万宁市",
     "469007": "东方市",
     "469021": "定安县",
     "469022": "屯昌县",
     "469023": "澄迈县",
     "469024": "临高县",
     "469025": "白沙黎族自治县",
     "469026": "昌江黎族自治县",
     "469027": "乐东黎族自治县",
     "469028": "陵水黎族自治县",
     "469029": "保亭黎族苗族自治县",
     "469030": "琼中黎族苗族自治县",
     "500000": "重庆市",
     "500101": "万州区",
     "500102": "涪陵区",
     "500103": "渝中区",
     "500104": "大渡口区",
     "500105": "江北区",
     "500106": "沙坪坝区",
     "500107": "九龙坡区",
     "500108": "南岸区",
     "500109": "北碚区",
     "500110": "綦江区",
     "500111": "大足区",
     "500112": "渝北区",
     "500113": "巴南区",
     "500114": "黔江区",
     "500115": "长寿区",
     "500116": "江津区",
     "500117": "合川区",
     "500118": "永川区",
     "500119": "南川区",
     "500120": "璧山区",
     "500151": "铜梁区",
     "500152": "潼南区",
     "500153": "荣昌区",
     "500154": "开州区",
     "500155": "梁平区",
     "500156": "武隆区",
     "500228": "梁平区(旧)",
     "500229": "城口县",
     "500230": "丰都县",
     "500231": "垫江县",
     "500232": "武隆区(旧)",
     "500233": "忠县",
     "500235": "云阳县",
     "500236": "奉节县",
     "500237": "巫山县",
     "500238": "巫溪县",
     "500240": "石柱土家族自治县",
     "500241": "秀山土家族苗族自治县",
     "500242": "酉阳土家族苗族自治县",
     "500243": "彭水苗族土家族自治县",
     "510000": "四川",
     "510100": "成都市",
     "510104": "锦江区",
     "510105": "青羊区",
     "510106": "金牛区",
     "510107": "武侯区",
     "510108": "成华区",
     "510112": "龙泉驿区",
     "510113": "青白江区",
     "510114": "新都区",
     "510115": "温江区",
     "510116": "双流区",
     "510117": "郫都区",
     "510118": "新津区",
     "510121": "金堂县",
     "510124": "郫都区(旧)",
     "510129": "大邑县",
     "510131": "蒲江县",
     "510132": "新津县(旧)",
     "510181": "都江堰市",
     "510182": "彭州市",
     "510183": "邛崃市",
     "510184": "崇州市",
     "510185": "简阳市",
     "510300": "自贡市",
     "510302": "自流井区",
     "510303": "贡井区",
     "510304": "大安区",
     "510311": "沿滩区",
     "510321": "荣县",
     "510322": "富顺县",
     "510400": "攀枝花市",
     "510402": "东区",
     "510403": "西区",
     "510411": "仁和区",
     "510421": "米易县",
     "510422": "盐边县",
     "510500": "泸州市",
     "510502": "江阳区",
     "510503": "纳溪区",
     "510504": "龙马潭区",
     "510521": "泸县",
     "510522": "合江县",
     "510524": "叙永县",
     "510525": "古蔺县",
     "510600": "德阳市",
     "510603": "旌阳区",
     "510604": "罗江区",
     "510623": "中江县",
     "510626": "罗江县(旧)",
     "510681": "广汉市",
     "510682": "什邡市",
     "510683": "绵竹市",
     "510700": "绵阳市",
     "510703": "涪城区",
     "510704": "游仙区",
     "510705": "安州区",
     "510722": "三台县",
     "510723": "盐亭县",
     "510725": "梓潼县",
     "510726": "北川羌族自治县",
     "510727": "平武县",
     "510781": "江油市",
     "510800": "广元市",
     "510802": "利州区",
     "510811": "昭化区",
     "510812": "朝天区",
     "510821": "旺苍县",
     "510822": "青川县",
     "510823": "剑阁县",
     "510824": "苍溪县",
     "510900": "遂宁市",
     "510903": "船山区",
     "510904": "安居区",
     "510921": "蓬溪县",
     "510922": "射洪县(旧)",
     "510923": "大英县",
     "510981": "射洪市",
     "511000": "内江市",
     "511002": "市中区",
     "511011": "东兴区",
     "511024": "威远县",
     "511025": "资中县",
     "511028": "隆昌县(旧)",
     "511071": "内江经济开发区",
     "511083": "隆昌市",
     "511100": "乐山市",
     "511102": "市中区",
     "511111": "沙湾区",
     "511112": "五通桥区",
     "511113": "金口河区",
     "511123": "犍为县",
     "511124": "井研县",
     "511126": "夹江县",
     "511129": "沐川县",
     "511132": "峨边彝族自治县",
     "511133": "马边彝族自治县",
     "511181": "峨眉山市",
     "511300": "南充市",
     "511302": "顺庆区",
     "511303": "高坪区",
     "511304": "嘉陵区",
     "511321": "南部县",
     "511322": "营山县",
     "511323": "蓬安县",
     "511324": "仪陇县",
     "511325": "西充县",
     "511381": "阆中市",
     "511400": "眉山市",
     "511402": "东坡区",
     "511403": "彭山区",
     "511421": "仁寿县",
     "511423": "洪雅县",
     "511424": "丹棱县",
     "511425": "青神县",
     "511500": "宜宾市",
     "511502": "翠屏区",
     "511503": "南溪区",
     "511504": "叙州区",
     "511521": "宜宾县(旧)",
     "511523": "江安县",
     "511524": "长宁县",
     "511525": "高县",
     "511526": "珙县",
     "511527": "筠连县",
     "511528": "兴文县",
     "511529": "屏山县",
     "511600": "广安市",
     "511602": "广安区",
     "511603": "前锋区",
     "511621": "岳池县",
     "511622": "武胜县",
     "511623": "邻水县",
     "511681": "华蓥市",
     "511700": "达州市",
     "511702": "通川区",
     "511703": "达川区",
     "511722": "宣汉县",
     "511723": "开江县",
     "511724": "大竹县",
     "511725": "渠县",
     "511771": "达州经济开发区",
     "511781": "万源市",
     "511800": "雅安市",
     "511802": "雨城区",
     "511803": "名山区",
     "511822": "荥经县",
     "511823": "汉源县",
     "511824": "石棉县",
     "511825": "天全县",
     "511826": "芦山县",
     "511827": "宝兴县",
     "511900": "巴中市",
     "511902": "巴州区",
     "511903": "恩阳区",
     "511921": "通江县",
     "511922": "南江县",
     "511923": "平昌县",
     "511971": "巴中经济开发区",
     "512000": "资阳市",
     "512002": "雁江区",
     "512021": "安岳县",
     "512022": "乐至县",
     "513200": "阿坝藏族羌族自治州",
     "513201": "马尔康市",
     "513221": "汶川县",
     "513222": "理县",
     "513223": "茂县",
     "513224": "松潘县",
     "513225": "九寨沟县",
     "513226": "金川县",
     "513227": "小金县",
     "513228": "黑水县",
     "513230": "壤塘县",
     "513231": "阿坝县",
     "513232": "若尔盖县",
     "513233": "红原县",
     "513300": "甘孜藏族自治州",
     "513301": "康定市",
     "513322": "泸定县",
     "513323": "丹巴县",
     "513324": "九龙县",
     "513325": "雅江县",
     "513326": "道孚县",
     "513327": "炉霍县",
     "513328": "甘孜县",
     "513329": "新龙县",
     "513330": "德格县",
     "513331": "白玉县",
     "513332": "石渠县",
     "513333": "色达县",
     "513334": "理塘县",
     "513335": "巴塘县",
     "513336": "乡城县",
     "513337": "稻城县",
     "513338": "得荣县",
     "513400": "凉山彝族自治州",
     "513401": "西昌市",
     "513402": "会理市",
     "513422": "木里藏族自治县",
     "513423": "盐源县",
     "513424": "德昌县",
     "513425": "会理县(旧)",
     "513426": "会东县",
     "513427": "宁南县",
     "513428": "普格县",
     "513429": "布拖县",
     "513430": "金阳县",
     "513431": "昭觉县",
     "513432": "喜德县",
     "513433": "冕宁县",
     "513434": "越西县",
     "513435": "甘洛县",
     "513436": "美姑县",
     "513437": "雷波县",
     "520000": "贵州",
     "520100": "贵阳市",
     "520102": "南明区",
     "520103": "云岩区",
     "520111": "花溪区",
     "520112": "乌当区",
     "520113": "白云区",
     "520115": "观山湖区",
     "520121": "开阳县",
     "520122": "息烽县",
     "520123": "修文县",
     "520181": "清镇市",
     "520200": "六盘水市",
     "520201": "钟山区",
     "520203": "六枝特区",
     "520204": "水城区",
     "520221": "水城县(旧)",
     "520222": "盘县(旧)",
     "520281": "盘州市",
     "520300": "遵义市",
     "520302": "红花岗区",
     "520303": "汇川区",
     "520304": "播州区",
     "520322": "桐梓县",
     "520323": "绥阳县",
     "520324": "正安县",
     "520325": "道真仡佬族苗族自治县",
     "520326": "务川仡佬族苗族自治县",
     "520327": "凤冈县",
     "520328": "湄潭县",
     "520329": "余庆县",
     "520330": "习水县",
     "520381": "赤水市",
     "520382": "仁怀市",
     "520400": "安顺市",
     "520402": "西秀区",
     "520403": "平坝区",
     "520422": "普定县",
     "520423": "镇宁布依族苗族自治县",
     "520424": "关岭布依族苗族自治县",
     "520425": "紫云苗族布依族自治县",
     "520500": "毕节市",
     "520502": "七星关区",
     "520521": "大方县",
     "520522": "黔西县(旧)",
     "520523": "金沙县",
     "520524": "织金县",
     "520525": "纳雍县",
     "520526": "威宁彝族回族苗族自治县",
     "520527": "赫章县",
     "520581": "黔西市",
     "520600": "铜仁市",
     "520602": "碧江区",
     "520603": "万山区",
     "520621": "江口县",
     "520622": "玉屏侗族自治县",
     "520623": "石阡县",
     "520624": "思南县",
     "520625": "印江土家族苗族自治县",
     "520626": "德江县",
     "520627": "沿河土家族自治县",
     "520628": "松桃苗族自治县",
     "522300": "黔西南布依族苗族自治州",
     "522301": "兴义市",
     "522302": "兴仁市",
     "522322": "兴仁县(旧)",
     "522323": "普安县",
     "522324": "晴隆县",
     "522325": "贞丰县",
     "522326": "望谟县",
     "522327": "册亨县",
     "522328": "安龙县",
     "522600": "黔东南苗族侗族自治州",
     "522601": "凯里市",
     "522622": "黄平县",
     "522623": "施秉县",
     "522624": "三穗县",
     "522625": "镇远县",
     "522626": "岑巩县",
     "522627": "天柱县",
     "522628": "锦屏县",
     "522629": "剑河县",
     "522630": "台江县",
     "522631": "黎平县",
     "522632": "榕江县",
     "522633": "从江县",
     "522634": "雷山县",
     "522635": "麻江县",
     "522636": "丹寨县",
     "522700": "黔南布依族苗族自治州",
     "522701": "都匀市",
     "522702": "福泉市",
     "522722": "荔波县",
     "522723": "贵定县",
     "522725": "瓮安县",
     "522726": "独山县",
     "522727": "平塘县",
     "522728": "罗甸县",
     "522729": "长顺县",
     "522730": "龙里县",
     "522731": "惠水县",
     "522732": "三都水族自治县",
     "530000": "云南",
     "530100": "昆明市",
     "530102": "五华区",
     "530103": "盘龙区",
     "530111": "官渡区",
     "530112": "西山区",
     "530113": "东川区",
     "530114": "呈贡区",
     "530115": "晋宁区",
     "530122": "晋宁区(旧)",
     "530124": "富民县",
     "530125": "宜良县",
     "530126": "石林彝族自治县",
     "530127": "嵩明县",
     "530128": "禄劝彝族苗族自治县",
     "530129": "寻甸回族彝族自治县",
     "530181": "安宁市",
     "530300": "曲靖市",
     "530302": "麒麟区",
     "530303": "沾益区",
     "530304": "马龙区",
     "530321": "马龙县(旧)",
     "530322": "陆良县",
     "530323": "师宗县",
     "530324": "罗平县",
     "530325": "富源县",
     "530326": "会泽县",
     "530381": "宣威市",
     "530400": "玉溪市",
     "530402": "红塔区",
     "530403": "江川区",
     "530422": "澄江县(旧)",
     "530423": "通海县",
     "530424": "华宁县",
     "530425": "易门县",
     "530426": "峨山彝族自治县",
     "530427": "新平彝族傣族自治县",
     "530428": "元江哈尼族彝族傣族自治县",
     "530481": "澄江市",
     "530500": "保山市",
     "530502": "隆阳区",
     "530521": "施甸县",
     "530523": "龙陵县",
     "530524": "昌宁县",
     "530581": "腾冲市",
     "530600": "昭通市",
     "530602": "昭阳区",
     "530621": "鲁甸县",
     "530622": "巧家县",
     "530623": "盐津县",
     "530624": "大关县",
     "530625": "永善县",
     "530626": "绥江县",
     "530627": "镇雄县",
     "530628": "彝良县",
     "530629": "威信县",
     "530630": "水富县(旧)",
     "530681": "水富市",
     "530700": "丽江市",
     "530702": "古城区",
     "530721": "玉龙纳西族自治县",
     "530722": "永胜县",
     "530723": "华坪县",
     "530724": "宁蒗彝族自治县",
     "530800": "普洱市",
     "530802": "思茅区",
     "530821": "宁洱哈尼族彝族自治县",
     "530822": "墨江哈尼族自治县",
     "530823": "景东彝族自治县",
     "530824": "景谷傣族彝族自治县",
     "530825": "镇沅彝族哈尼族拉祜族自治县",
     "530826": "江城哈尼族彝族自治县",
     "530827": "孟连傣族拉祜族佤族自治县",
     "530828": "澜沧拉祜族自治县",
     "530829": "西盟佤族自治县",
     "530900": "临沧市",
     "530902": "临翔区",
     "530921": "凤庆县",
     "530922": "云县",
     "530923": "永德县",
     "530924": "镇康县",
     "530925": "双江拉祜族佤族布朗族傣族自治县",
     "530926": "耿马傣族佤族自治县",
     "530927": "沧源佤族自治县",
     "532300": "楚雄彝族自治州",
     "532301": "楚雄市",
     "532302": "禄丰市",
     "532322": "双柏县",
     "532323": "牟定县",
     "532324": "南华县",
     "532325": "姚安县",
     "532326": "大姚县",
     "532327": "永仁县",
     "532328": "元谋县",
     "532329": "武定县",
     "532331": "禄丰县(旧)",
     "532500": "红河哈尼族彝族自治州",
     "532501": "个旧市",
     "532502": "开远市",
     "532503": "蒙自市",
     "532504": "弥勒市",
     "532523": "屏边苗族自治县",
     "532524": "建水县",
     "532525": "石屏县",
     "532527": "泸西县",
     "532528": "元阳县",
     "532529": "红河县",
     "532530": "金平苗族瑶族傣族自治县",
     "532531": "绿春县",
     "532532": "河口瑶族自治县",
     "532600": "文山壮族苗族自治州",
     "532601": "文山市",
     "532622": "砚山县",
     "532623": "西畴县",
     "532624": "麻栗坡县",
     "532625": "马关县",
     "532626": "丘北县",
     "532627": "广南县",
     "532628": "富宁县",
     "532800": "西双版纳傣族自治州",
     "532801": "景洪市",
     "532822": "勐海县",
     "532823": "勐腊县",
     "532900": "大理白族自治州",
     "532901": "大理市",
     "532922": "漾濞彝族自治县",
     "532923": "祥云县",
     "532924": "宾川县",
     "532925": "弥渡县",
     "532926": "南涧彝族自治县",
     "532927": "巍山彝族回族自治县",
     "532928": "永平县",
     "532929": "云龙县",
     "532930": "洱源县",
     "532931": "剑川县",
     "532932": "鹤庆县",
     "533100": "德宏傣族景颇族自治州",
     "533102": "瑞丽市",
     "533103": "芒市",
     "533122": "梁河县",
     "533123": "盈江县",
     "533124": "陇川县",
     "533300": "怒江傈僳族自治州",
     "533301": "泸水市",
     "533323": "福贡县",
     "533324": "贡山独龙族怒族自治县",
     "533325": "兰坪白族普米族自治县",
     "533400": "迪庆藏族自治州",
     "533401": "香格里拉市",
     "533422": "德钦县",
     "533423": "维西傈僳族自治县",
     "540000": "西藏",
     "540100": "拉萨市",
     "540102": "城关区",
     "540103": "堆龙德庆区",
     "540104": "达孜区",
     "540121": "林周县",
     "540122": "当雄县",
     "540123": "尼木县",
     "540124": "曲水县",
     "540126": "达孜县(旧)",
     "540127": "墨竹工卡县",
     "540171": "格尔木藏青工业园区",
     "540172": "拉萨经济技术开发区",
     "540173": "西藏文化旅游创意园区",
     "540174": "达孜工业园区",
     "540200": "日喀则市",
     "540202": "桑珠孜区",
     "540221": "南木林县",
     "540222": "江孜县",
     "540223": "定日县",
     "540224": "萨迦县",
     "540225": "拉孜县",
     "540226": "昂仁县",
     "540227": "谢通门县",
     "540228": "白朗县",
     "540229": "仁布县",
     "540230": "康马县",
     "540231": "定结县",
     "540232": "仲巴县",
     "540233": "亚东县",
     "540234": "吉隆县",
     "540235": "聂拉木县",
     "540236": "萨嘎县",
     "540237": "岗巴县",
     "540300": "昌都市",
     "540302": "卡若区",
     "540321": "江达县",
     "540322": "贡觉县",
     "540323": "类乌齐县",
     "540324": "丁青县",
     "540325": "察雅县",
     "540326": "八宿县",
     "540327": "左贡县",
     "540328": "芒康县",
     "540329": "洛隆县",
     "540330": "边坝县",
     "540400": "林芝市",
     "540402": "巴宜区",
     "540421": "工布江达县",
     "540422": "米林县",
     "540423": "墨脱县",
     "540424": "波密县",
     "540425": "察隅县",
     "540426": "朗县",
     "540500": "山南市",
     "540502": "乃东区",
     "540521": "扎囊县",
     "540522": "贡嘎县",
     "540523": "桑日县",
     "540524": "琼结县",
     "540525": "曲松县",
     "540526": "措美县",
     "540527": "洛扎县",
     "540528": "加查县",
     "540529": "隆子县",
     "540530": "错那县",
     "540531": "浪卡子县",
     "540600": "那曲市",
     "540602": "色尼区",
     "540621": "嘉黎县",
     "540622": "比如县",
     "540623": "聂荣县",
     "540624": "安多县",
     "540625": "申扎县",
     "540626": "索县",
     "540627": "班戈县",
     "540628": "巴青县",
     "540629": "尼玛县",
     "540630": "双湖县",
     "542400": "那曲地区(旧)",
     "542421": "那曲县(旧)",
     "542422": "嘉黎县(旧)",
     "542423": "比如县(旧)",
     "542424": "聂荣县(旧)",
     "542425": "安多县(旧)",
     "542426": "申扎县(旧)",
     "542427": "索县(旧)",
     "542428": "班戈县(旧)",
     "542429": "巴青县(旧)",
     "542430": "尼玛县(旧)",
     "542431": "双湖县(旧)",
     "542500": "阿里地区",
     "542521": "普兰县",
     "542522": "札达县",
     "542523": "噶尔县",
     "542524": "日土县",
     "542525": "革吉县",
     "542526": "改则县",
     "542527": "措勤县",
     "610000": "陕西",
     "610100": "西安市",
     "610102": "新城区",
     "610103": "碑林区",
     "610104": "莲湖区",
     "610111": "灞桥区",
     "610112": "未央区",
     "610113": "雁塔区",
     "610114": "阎良区",
     "610115": "临潼区",
     "610116": "长安区",
     "610117": "高陵区",
     "610118": "鄠邑区",
     "610122": "蓝田县",
     "610124": "周至县",
     "610125": "鄠邑区(旧)",
     "610200": "铜川市",
     "610202": "王益区",
     "610203": "印台区",
     "610204": "耀州区",
     "610222": "宜君县",
     "610300": "宝鸡市",
     "610302": "渭滨区",
     "610303": "金台区",
     "610304": "陈仓区",
     "610305": "凤翔区",
     "610322": "凤翔县(旧)",
     "610323": "岐山县",
     "610324": "扶风县",
     "610326": "眉县",
     "610327": "陇县",
     "610328": "千阳县",
     "610329": "麟游县",
     "610330": "凤县",
     "610331": "太白县",
     "610400": "咸阳市",
     "610402": "秦都区",
     "610403": "杨陵区",
     "610404": "渭城区",
     "610422": "三原县",
     "610423": "泾阳县",
     "610424": "乾县",
     "610425": "礼泉县",
     "610426": "永寿县",
     "610427": "彬县(旧)",
     "610428": "长武县",
     "610429": "旬邑县",
     "610430": "淳化县",
     "610431": "武功县",
     "610481": "兴平市",
     "610482": "彬州市",
     "610500": "渭南市",
     "610502": "临渭区",
     "610503": "华州区",
     "610522": "潼关县",
     "610523": "大荔县",
     "610524": "合阳县",
     "610525": "澄城县",
     "610526": "蒲城县",
     "610527": "白水县",
     "610528": "富平县",
     "610581": "韩城市",
     "610582": "华阴市",
     "610600": "延安市",
     "610602": "宝塔区",
     "610603": "安塞区",
     "610621": "延长县",
     "610622": "延川县",
     "610623": "子长县(旧)",
     "610625": "志丹县",
     "610626": "吴起县",
     "610627": "甘泉县",
     "610628": "富县",
     "610629": "洛川县",
     "610630": "宜川县",
     "610631": "黄龙县",
     "610632": "黄陵县",
     "610681": "子长市",
     "610700": "汉中市",
     "610702": "汉台区",
     "610703": "南郑区",
     "610721": "南郑县(旧)",
     "610722": "城固县",
     "610723": "洋县",
     "610724": "西乡县",
     "610725": "勉县",
     "610726": "宁强县",
     "610727": "略阳县",
     "610728": "镇巴县",
     "610729": "留坝县",
     "610730": "佛坪县",
     "610800": "榆林市",
     "610802": "榆阳区",
     "610803": "横山区",
     "610821": "神木县(旧)",
     "610822": "府谷县",
     "610824": "靖边县",
     "610825": "定边县",
     "610826": "绥德县",
     "610827": "米脂县",
     "610828": "佳县",
     "610829": "吴堡县",
     "610830": "清涧县",
     "610831": "子洲县",
     "610881": "神木市",
     "610900": "安康市",
     "610902": "汉滨区",
     "610921": "汉阴县",
     "610922": "石泉县",
     "610923": "宁陕县",
     "610924": "紫阳县",
     "610925": "岚皋县",
     "610926": "平利县",
     "610927": "镇坪县",
     "610928": "旬阳县(旧)",
     "610929": "白河县",
     "610981": "旬阳市",
     "611000": "商洛市",
     "611002": "商州区",
     "611021": "洛南县",
     "611022": "丹凤县",
     "611023": "商南县",
     "611024": "山阳县",
     "611025": "镇安县",
     "611026": "柞水县",
     "620000": "甘肃",
     "620100": "兰州市",
     "620102": "城关区",
     "620103": "七里河区",
     "620104": "西固区",
     "620105": "安宁区",
     "620111": "红古区",
     "620121": "永登县",
     "620122": "皋兰县",
     "620123": "榆中县",
     "620171": "兰州新区",
     "620200": "嘉峪关市",
     "620300": "金昌市",
     "620302": "金川区",
     "620321": "永昌县",
     "620400": "白银市",
     "620402": "白银区",
     "620403": "平川区",
     "620421": "靖远县",
     "620422": "会宁县",
     "620423": "景泰县",
     "620500": "天水市",
     "620502": "秦州区",
     "620503": "麦积区",
     "620521": "清水县",
     "620522": "秦安县",
     "620523": "甘谷县",
     "620524": "武山县",
     "620525": "张家川回族自治县",
     "620600": "武威市",
     "620602": "凉州区",
     "620621": "民勤县",
     "620622": "古浪县",
     "620623": "天祝藏族自治县",
     "620700": "张掖市",
     "620702": "甘州区",
     "620721": "肃南裕固族自治县",
     "620722": "民乐县",
     "620723": "临泽县",
     "620724": "高台县",
     "620725": "山丹县",
     "620800": "平凉市",
     "620802": "崆峒区",
     "620821": "泾川县",
     "620822": "灵台县",
     "620823": "崇信县",
     "620824": "华亭县(旧)",
     "620825": "庄浪县",
     "620826": "静宁县",
     "620881": "华亭市",
     "620900": "酒泉市",
     "620902": "肃州区",
     "620921": "金塔县",
     "620922": "瓜州县",
     "620923": "肃北蒙古族自治县",
     "620924": "阿克塞哈萨克族自治县",
     "620981": "玉门市",
     "620982": "敦煌市",
     "621000": "庆阳市",
     "621002": "西峰区",
     "621021": "庆城县",
     "621022": "环县",
     "621023": "华池县",
     "621024": "合水县",
     "621025": "正宁县",
     "621026": "宁县",
     "621027": "镇原县",
     "621100": "定西市",
     "621102": "安定区",
     "621121": "通渭县",
     "621122": "陇西县",
     "621123": "渭源县",
     "621124": "临洮县",
     "621125": "漳县",
     "621126": "岷县",
     "621200": "陇南市",
     "621202": "武都区",
     "621221": "成县",
     "621222": "文县",
     "621223": "宕昌县",
     "621224": "康县",
     "621225": "西和县",
     "621226": "礼县",
     "621227": "徽县",
     "621228": "两当县",
     "622900": "临夏回族自治州",
     "622901": "临夏市",
     "622921": "临夏县",
     "622922": "康乐县",
     "622923": "永靖县",
     "622924": "广河县",
     "622925": "和政县",
     "622926": "东乡族自治县",
     "622927": "积石山保安族东乡族撒拉族自治县",
     "623000": "甘南藏族自治州",
     "623001": "合作市",
     "623021": "临潭县",
     "623022": "卓尼县",
     "623023": "舟曲县",
     "623024": "迭部县",
     "623025": "玛曲县",
     "623026": "碌曲县",
     "623027": "夏河县",
     "630000": "青海",
     "630100": "西宁市",
     "630102": "城东区",
     "630103": "城中区",
     "630104": "城西区",
     "630105": "城北区",
     "630106": "湟中区",
     "630121": "大通回族土族自治县",
     "630122": "湟中县(旧)",
     "630123": "湟源县",
     "630200": "海东市",
     "630202": "乐都区",
     "630203": "平安区",
     "630222": "民和回族土族自治县",
     "630223": "互助土族自治县",
     "630224": "化隆回族自治县",
     "630225": "循化撒拉族自治县",
     "632200": "海北藏族自治州",
     "632221": "门源回族自治县",
     "632222": "祁连县",
     "632223": "海晏县",
     "632224": "刚察县",
     "632300": "黄南藏族自治州",
     "632301": "同仁市",
     "632321": "同仁县(旧)",
     "632322": "尖扎县",
     "632323": "泽库县",
     "632324": "河南蒙古族自治县",
     "632500": "海南藏族自治州",
     "632521": "共和县",
     "632522": "同德县",
     "632523": "贵德县",
     "632524": "兴海县",
     "632525": "贵南县",
     "632600": "果洛藏族自治州",
     "632621": "玛沁县",
     "632622": "班玛县",
     "632623": "甘德县",
     "632624": "达日县",
     "632625": "久治县",
     "632626": "玛多县",
     "632700": "玉树藏族自治州",
     "632701": "玉树市",
     "632722": "杂多县",
     "632723": "称多县",
     "632724": "治多县",
     "632725": "囊谦县",
     "632726": "曲麻莱县",
     "632800": "海西蒙古族藏族自治州",
     "632801": "格尔木市",
     "632802": "德令哈市",
     "632803": "茫崖市",
     "632821": "乌兰县",
     "632822": "都兰县",
     "632823": "天峻县",
     "632857": "大柴旦行政委员会",
     "640000": "宁夏",
     "640100": "银川市",
     "640104": "兴庆区",
     "640105": "西夏区",
     "640106": "金凤区",
     "640121": "永宁县",
     "640122": "贺兰县",
     "640181": "灵武市",
     "640200": "石嘴山市",
     "640202": "大武口区",
     "640205": "惠农区",
     "640221": "平罗县",
     "640300": "吴忠市",
     "640302": "利通区",
     "640303": "红寺堡区",
     "640323": "盐池县",
     "640324": "同心县",
     "640381": "青铜峡市",
     "640400": "固原市",
     "640402": "原州区",
     "640422": "西吉县",
     "640423": "隆德县",
     "640424": "泾源县",
     "640425": "彭阳县",
     "640500": "中卫市",
     "640502": "沙坡头区",
     "640521": "中宁县",
     "640522": "海原县",
     "650000": "新疆",
     "650100": "乌鲁木齐市",
     "650102": "天山区",
     "650103": "沙依巴克区",
     "650104": "新市区",
     "650105": "水磨沟区",
     "650106": "头屯河区",
     "650107": "达坂城区",
     "650109": "米东区",
     "650121": "乌鲁木齐县",
     "650200": "克拉玛依市",
     "650202": "独山子区",
     "650203": "克拉玛依区",
     "650204": "白碱滩区",
     "650205": "乌尔禾区",
     "650400": "吐鲁番市",
     "650402": "高昌区",
     "650421": "鄯善县",
     "650422": "托克逊县",
     "650500": "哈密市",
     "650502": "伊州区",
     "650521": "巴里坤哈萨克自治县",
     "650522": "伊吾县",
     "652300": "昌吉回族自治州",
     "652301": "昌吉市",
     "652302": "阜康市",
     "652323": "呼图壁县",
     "652324": "玛纳斯县",
     "652325": "奇台县",
     "652327": "吉木萨尔县",
     "652328": "木垒哈萨克自治县",
     "652700": "博尔塔拉蒙古自治州",
     "652701": "博乐市",
     "652702": "阿拉山口市",
     "652722": "精河县",
     "652723": "温泉县",
     "652800": "巴音郭楞蒙古自治州",
     "652801": "库尔勒市",
     "652822": "轮台县",
     "652823": "尉犁县",
     "652824": "若羌县",
     "652825": "且末县",
     "652826": "焉耆回族自治县",
     "652827": "和静县",
     "652828": "和硕县",
     "652829": "博湖县",
     "652871": "库尔勒经济技术开发区",
     "652900": "阿克苏地区",
     "652901": "阿克苏市",
     "652902": "库车市",
     "652922": "温宿县",
     "652923": "库车县(旧)",
     "652924": "沙雅县",
     "652925": "新和县",
     "652926": "拜城县",
     "652927": "乌什县",
     "652928": "阿瓦提县",
     "652929": "柯坪县",
     "653000": "克孜勒苏柯尔克孜自治州",
     "653001": "阿图什市",
     "653022": "阿克陶县",
     "653023": "阿合奇县",
     "653024": "乌恰县",
     "653100": "喀什地区",
     "653101": "喀什市",
     "653121": "疏附县",
     "653122": "疏勒县",
     "653123": "英吉沙县",
     "653124": "泽普县",
     "653125": "莎车县",
     "653126": "叶城县",
     "653127": "麦盖提县",
     "653128": "岳普湖县",
     "653129": "伽师县",
     "653130": "巴楚县",
     "653131": "塔什库尔干塔吉克自治县",
     "653200": "和田地区",
     "653201": "和田市",
     "653221": "和田县",
     "653222": "墨玉县",
     "653223": "皮山县",
     "653224": "洛浦县",
     "653225": "策勒县",
     "653226": "于田县",
     "653227": "民丰县",
     "654000": "伊犁哈萨克自治州",
     "654002": "伊宁市",
     "654003": "奎屯市",
     "654004": "霍尔果斯市",
     "654021": "伊宁县",
     "654022": "察布查尔锡伯自治县",
     "654023": "霍城县",
     "654024": "巩留县",
     "654025": "新源县",
     "654026": "昭苏县",
     "654027": "特克斯县",
     "654028": "尼勒克县",
     "654200": "塔城地区",
     "654201": "塔城市",
     "654202": "乌苏市",
     "654203": "沙湾市",
     "654221": "额敏县",
     "654223": "沙湾县(旧)",
     "654224": "托里县",
     "654225": "裕民县",
     "654226": "和布克赛尔蒙古自治县",
     "654300": "阿勒泰地区",
     "654301": "阿勒泰市",
     "654321": "布尔津县",
     "654322": "富蕴县",
     "654323": "福海县",
     "654324": "哈巴河县",
     "654325": "青河县",
     "654326": "吉木乃县",
     "659001": "石河子市",
     "659002": "阿拉尔市",
     "659003": "图木舒克市",
     "659004": "五家渠市",
     "659005": "北屯市",
     "659006": "铁门关市",
     "659007": "双河市",
     "659008": "可克达拉市",
     "659009": "昆玉市",
     "659010": "胡杨河市",
     "659011": "新星市",
     "710000": "台湾",
     "710100": "台北市",
     "710101": "中正区",
     "710102": "大同区",
     "710103": "中山区",
     "710104": "万华区",
     "710105": "信义区",
     "710106": "松山区",
     "710107": "大安区",
     "710108": "南港区",
     "710109": "北投区",
     "710110": "内湖区",
     "710111": "士林区",
     "710112": "文山区",
     "710200": "新北市",
     "710201": "板桥区",
     "710202": "土城区",
     "710203": "新庄区",
     "710204": "新店区",
     "710205": "深坑区",
     "710206": "石碇区",
     "710207": "坪林区",
     "710208": "乌来区",
     "710209": "五股区",
     "710210": "八里区",
     "710211": "林口区",
     "710212": "淡水区",
     "710213": "中和区",
     "710214": "永和区",
     "710215": "三重区",
     "710216": "芦洲区",
     "710217": "泰山区",
     "710218": "树林区",
     "710219": "莺歌区",
     "710220": "三峡区",
     "710221": "汐止区",
     "710222": "金山区",
     "710223": "万里区",
     "710224": "三芝区",
     "710225": "石门区",
     "710226": "瑞芳区",
     "710227": "贡寮区",
     "710228": "双溪区",
     "710229": "平溪区",
     "710300": "桃园市",
     "710301": "桃园区",
     "710302": "中坜区",
     "710303": "平镇区",
     "710304": "八德区",
     "710305": "杨梅区",
     "710306": "芦竹区",
     "710307": "大溪区",
     "710308": "龙潭区",
     "710309": "龟山区",
     "710310": "大园区",
     "710311": "观音区",
     "710312": "新屋区",
     "710313": "复兴区",
     "710400": "台中市",
     "710401": "中区",
     "710402": "东区",
     "710403": "西区",
     "710404": "南区",
     "710405": "北区",
     "710406": "西屯区",
     "710407": "南屯区",
     "710408": "北屯区",
     "710409": "丰原区",
     "710410": "大里区",
     "710411": "太平区",
     "710412": "东势区",
     "710413": "大甲区",
     "710414": "清水区",
     "710415": "沙鹿区",
     "710416": "梧栖区",
     "710417": "后里区",
     "710418": "神冈区",
     "710419": "潭子区",
     "710420": "大雅区",
     "710421": "新小区",
     "710422": "石冈区",
     "710423": "外埔区",
     "710424": "大安区",
     "710425": "乌日区",
     "710426": "大肚区",
     "710427": "龙井区",
     "710428": "雾峰区",
     "710429": "和平区",
     "710500": "台南市",
     "710501": "中西区",
     "710502": "东区",
     "710503": "南区",
     "710504": "北区",
     "710505": "安平区",
     "710506": "安南区",
     "710507": "永康区",
     "710508": "归仁区",
     "710509": "新化区",
     "710510": "左镇区",
     "710511": "玉井区",
     "710512": "楠西区",
     "710513": "南化区",
     "710514": "仁德区",
     "710515": "关庙区",
     "710516": "龙崎区",
     "710517": "官田区",
     "710518": "麻豆区",
     "710519": "佳里区",
     "710520": "西港区",
     "710521": "七股区",
     "710522": "将军区",
     "710523": "学甲区",
     "710524": "北门区",
     "710525": "新营区",
     "710526": "后壁区",
     "710527": "白河区",
     "710528": "东山区",
     "710529": "六甲区",
     "710530": "下营区",
     "710531": "柳营区",
     "710532": "盐水区",
     "710533": "善化区",
     "710534": "大内区",
     "710535": "山上区",
     "710536": "新市区",
     "710537": "安定区",
     "710600": "高雄市",
     "710601": "楠梓区",
     "710602": "左营区",
     "710603": "鼓山区",
     "710604": "三民区",
     "710605": "盐埕区",
     "710606": "前金区",
     "710607": "新兴区",
     "710608": "苓雅区",
     "710609": "前镇区",
     "710610": "旗津区",
     "710611": "小港区",
     "710612": "凤山区",
     "710613": "大寮区",
     "710614": "鸟松区",
     "710615": "林园区",
     "710616": "仁武区",
     "710617": "大树区",
     "710618": "大社区",
     "710619": "冈山区",
     "710620": "路竹区",
     "710621": "桥头区",
     "710622": "梓官区",
     "710623": "弥陀区",
     "710624": "永安区",
     "710625": "燕巢区",
     "710626": "阿莲区",
     "710627": "茄萣区",
     "710628": "湖内区",
     "710629": "旗山区",
     "710630": "美浓区",
     "710631": "内门区",
     "710632": "杉林区",
     "710633": "甲仙区",
     "710634": "六龟区",
     "710635": "茂林区",
     "710636": "桃源区",
     "710637": "那玛夏区",
     "710700": "基隆市",
     "710701": "中正区",
     "710702": "七堵区",
     "710703": "暖暖区",
     "710704": "仁爱区",
     "710705": "中山区",
     "710706": "安乐区",
     "710707": "信义区",
     "710800": "新竹市",
     "710801": "东区",
     "710802": "北区",
     "710803": "香山区",
     "710900": "嘉义市",
     "710901": "东区",
     "710902": "西区",
     "719001": "宜兰县",
     "719002": "新竹县",
     "719003": "苗栗县",
     "719004": "彰化县",
     "719005": "南投县",
     "719006": "嘉义县",
     "719007": "云林县",
     "719008": "屏东县",
     "719009": "台东县",
     "719010": "花莲县",
     "719011": "澎湖县",
     "719012": "金门县",
     "719013": "连江县",
     "810000": "香港",
     "810101": "中西区",
     "810102": "湾仔区",
     "810103": "东区",
     "810104": "南区",
     "810105": "油尖旺区",
     "810106": "深水埗区",
     "810107": "九龙城区",
     "810108": "黄大仙区",
     "810109": "观塘区",
     "810110": "北区",
     "810111": "大埔区",
     "810112": "沙田区",
     "810113": "西贡区",
     "810114": "荃湾区",
     "810115": "屯门区",
     "810116": "元朗区",
     "810117": "葵青区",
     "810118": "离岛区",
     "820000": "澳门",
     "820101": "花地玛堂区",
     "820102": "圣安多尼堂区",
     "820103": "大堂区",
     "820104": "望德堂区",
     "820105": "风顺堂区",
     "820106": "嘉模堂区",
     "820107": "圣方济各堂区",
     "820108": "路氹城",
     "820109": "澳门新城"
    }
    

    错误码

    返回的错误码

    code 描述 备注
    100001 需要登录才能进行该操作
    100002 登录失效
    100003 用户权限不够,不能完成该操作
    100004 账户已过期
    100005 参数异常 缺少必要参数
    201010 无法创建过去开始的叫号面试
    201011 找不到可用的面试申请
    201012 面试开始后无法变更面试开始时间
    201013 无法将面试开始时间修改为过去的时间
    201014 面试开始后无法变更面试地点
    201015 无法删除候选人
    201016 面试开始后无法变更面试轮次
    201017 面试开始后无法修改简历类型
    201018 面试开始后无法删除已选房间
    201019 当前场地已经被删除,请选择其他场地
    201020 临时房间名称不能重名
    201021 您已经在 ${房间名字} 签到就座
    201022 面试官没有在房间中
    201023 面试官没有该轮次
    201024 该房间已经存在其他面试官
    201025 不能把候选人移入面试中房间
    201026 不能退出面试中的面试官
    201030 队列不存在
    201031 面试中的候选人不能更换面试官
    201032 候选人不在队列中
    201033 不能移动其他场次或轮次的候选人
    201040 反馈创建叫号面试失败
    201041 面试分组时间不能小于面试开始时间
    201042 当前叫号面试已经失效
    201043 现场申请职位不能为空
    201044 候选人不能为空
    201045 现场叫号面试状态不匹配
    201046 叫号面试现场申请时间不匹配
    201047 叫号面试允许现场申请的职位不匹配
    201048 本场叫号面试已存在相同职位下的申请
    201049 检查候选人申请的职位是否存在相同职位的申请,并且其申请流程在第一个面试流程之后
    201050 候选人其他职位正在处理中
    201051 面试官重复出现
    201052 多人面试数量设置异常
    201053 多人面试状态修改异常,只可以在面试当前之前进行修改
    201054 多人面试轮次获取异常,一个面试官只能存在一个轮次下
    201055 获取反馈异常,反馈数据异常反馈模版数量不可大于1
    201056 获取反馈异常,反馈数据异常
    201057 面试中的候选人不能移动
    201058 候选人或申请不存在
    201059 已签到的面试官不允许删除
    201060 候选人校验异常
    211010 与本面官已安排面试冲突
    211011 轮次名称不可以为空
    211012 轮次名称或英文名称不可以重复
    211013 pdf渲染失败
    211014 权重面试评价表模块计算类型必须全部是权重
    211015 权重总和不是100
    211016 权重表里的打分题,权重不能为空
    211017 缺少职位Id
    211018 找不到所选面试评价表,请刷新重试
    211019 找不到招聘模式
    211020 请确保打分题分值统一
    211021 找不到指定面试反馈信
    211022 最多可导出连续7天的面试
    211030 找不到符合条件的面试记录
    211031 面试官已填写反馈
    211032 候选人没有参加面试
    211033 无效的面试反馈
    211034 只有面试官才能填写面试反馈
    211037 面试反馈失败
    211041 没有绑定飞书的用户
    211090 评价模板有修改
    221001 预约面试不存在
    221002 预约面试不可取消
    221003 不可变更不可用场次的面试状态
    221004 该场次已有候选人预约,请移动全部候选人后再禁用
    221005 当前格子不存在
    221006 不可变更已取消或锁定的预约面试
    221007 只可修改状态为未预约和已预约的预约面试
    221008 预约面试已截止
    221009 只可修改状态为预约中的预约面试
    221010 修改次数已达到上限
    221011 预约面试状态不可预约
    221012 预约面试数据异常,缺少必要字段
    221013 当前无可选时间
    221014 当前组不存在
    221015 预约面试申请不存在
    221016 不可以移动候选人到禁用的场次
    221017 目标场次已满员
    221018 找不到归档原因
    221019 预约面试已锁定
    221020 服务调用异常
    221021 预约面试关联表数据异常
    221022 本次修改时间与已预约时间相同,无需变更
    221023 面试官异常
    221024 当前状态不能重新锁定预约面试
    300100 模版不存在
    300101 模版名称不能为空
    300102 名称长度不能超过{}个字符
    300103 系统中已经有同名模板,请更名后再试
    300104 该模板为默认模板,无法删除
    300105 未知模版类型
    300106 Office模版暂不支持报错快照
    300200 字段名称为空
    300201 字段类型为空
    300202 字段类型不合法
    300203 字段名称过长
    300204 字段名称不可重复
    300205 字段名称不存在
    300206 字段必审
    300207 薪资类型错误
    300208 字段值不合法
    300300 每个阶段都必须选择审批人
    300301 阶段审批人重复
    300302 所选用户不存在
    300303 用户没有操作部门的权限
    300304 Offer审批流程不存在
    300305 Offer审批流状态为空
    300306 此审批流没有审批节点
    300307 创建审批流日志失败
    300308 审批流ID为空
    300309 审批人列表为空
    300310 Offer审批进行中,不可修改
    300311 未在Offer审批状态中
    300312 Offer审批已进行,不可设置审批流程
    300313 Offer审批流模版不存在
    300314 Offer审批流模版ID为空
    300315 Offer审批进行中,不可取消
    300316 存在不合法的offer审批状态
    300317 accessToken为空
    300318 forawardAccessToken生产失败
    300319 Offer已审批
    300320 不支持的Offer审批阶段
    300321 审批人已审批完成
    300322 此用户不是该offer审批人
    300323 审批人已审批完成
    300400 参数错误
    300401 角色错误
    300402 用户错误
    300500 接口返回值错误 调用其他服务报错
    300501 用户错误 申请不存在
    300502 申请已归档
    300503 无效的地址
    300504 无效的职位级别
    300505 发送文本处理错误
    300506 申请ID必传
    300507 职位不存在
    300508 招聘模式错误
    300509 当前申请所在阶段有误
    300510 hc不可被关联
    300511 存在虚拟职位
    300512 更新入职日期失败
    300513 更新申请失败
    300514 已经更新过该申请
    300515 候选人不存在
    300516 候选人邮箱为空
    300517 候选人手机号为空
    300518 短信余量不足
    300519 创建操作记录失败
    300520 找不到归档人才库
    300600 Offer不存在
    300601 Offer不存在审批流程
    300602 OfferId为空
    300603 Offer附件获取URL失败
    300604 Offer创建人ID为空
    300605 Offer中职位信息为空
    300606 Offer状态错误
    300607 Offer接受状态不存在
    300608 Offer已接受
    300609 Offer发送记录已接受
    300610 删除Offer失败,请刷新后重试
    300611 Offer正在审批中,不能被删除
    300612 申请下已存在Offer
    300613 Offer发送记录不存在
    300614 Offer发送记录已处理或已失效
    300615 不允许编辑Offer详情
    300616 Offer创建失败
    300617 Offer审批未通过,不可发送
    300618 未开启外部系统创建Offer
    300619 Offer创建人不存在
    300620 该创建人没有创建offer权限
    300621 该用户没有发送offer权限
    300622 字段不能为空
    300800 kafka消费数据异常
    400009 后续操作失败
    400010 职位选择错误
    400011 职位不存在!
    400012 读取猎头公司设置失败!
    400013 获取配置信息失败
    400014 获取职位信息失败
    400015 获取渠道信息失败
    400016 清除候选人token失败
    400017 候选人处于保护期
    400018 职位已关闭
    400019 找不到猎头合同或合同已失效/禁用
    400020 获取猎头渠道信息失
    400021 候选人职位不统一
    400022 初筛阶段不存在
    500101 北森服务器异常
    500102 北森返回数据异常
    500103 未绑定北森服务
    500301 牛客服务器异常
    500302 牛客返回数据异常
    500303 未绑定牛客服务
    700010 候选人查重失败
    700011 获取候选人信息失败
    700012 获取配置信息失败
    700013 职位选择错误
    700014 职位不存在
    700015 找不到猎头合同或合同已失效/禁用
    700016 获取同一职位下候选人查重结果失败