# 招聘管理模块

# 招聘需求

# 获取招聘需求单据列表

# 接口描述

用于获取招聘需求单据列表

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/search/search
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    stSearch String (Query) Y Lookup Type. 可在 UDF Lookup 中找到。
    (Eg: reqReq ......)
    formatId long (Query) N Lookup Query 中的格式 ID
    (若未指定该参数,则使用默认格式)
    startRow int (Query) N 返回结果的开始行
    endRow int (Query) N 返回结果的结束行
    quickSearchStr String (Query) N 设定关键字查找数据
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("reqReq");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "stSearch": "reqReq",
        "size": 10,
        "stSearchDisplay": "招聘需求",
        "values": [
            {
                "code": "A1",
                "desc__lang": "A1",
                "reqDate": "2018-08-22",
                "reqReq.reqBy.employee.code": "00004",
                "reqReq.reqBy.employee.desc": "123413weibo122",
                "reqReq.dept.dept.desc__lang": "SZO",
                "reqReq.position.position.desc__lang": "人事部门-简体",
                "status": "Y",
                "iRev": 30,
                "lastModifyDate": "2019-09-25 20:42:19",
                "reqReq.lastModifyUid.simpleUser.desc__lang": "admin-SC",
                "id": 1,
                "st_desc": "A1",
                "st_id": 1,
                "st_code": "A1"
            },
          {......}
        ]
    }
    

# 新增招聘需求

# 接口描述

用于新增招聘需求记录

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/reqReq
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqReq
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/reqReq";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqReq");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "reqreq": {
            "values": [
                {
                	"code": "test001",
                    "desc": "description",
                    "reqDate": "2022-06-30",
                    "reqBy": 49,
                    "position": 2,
                    "vacancy": 1
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 99,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "编号重复(reqreq.code)",
                "msgCode": "core_101903"
            }
        ],
        "status": false
    }
    

# 读取招聘需求

# 接口描述

根据 ID 读取招聘需求记录详情

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/read/reqReq
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqReq
    id long (Query) Y 招聘需求单 ID,可参考获取招聘需求单据列表返回的 ID
    iRev long (Query) N 版本号,用于读取历史记录 / 已删除的记录
  3. 请求示例

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/reqReq";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqReq");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "data": {
            "reqreq": [
                {
                    "attachmentNo": 0,
                    "cur": 0,
                    "lastModifyUid": 4,
                    "code": "test001",
                    "useAccess": false,
                    "iRev": 1,
                    "jobReq": "",
                    "remark": "",
                    "sysJson": "",
                    "jobReq_en": "",
                    "viewCode": "reqReq",
                    "beId": 0,
                    "jobDesc_zh-CN": "",
                    "reqDate": 1656518400000,
                    "jobDesc_en": "",
                    "printCount": 0,
                    "useAccessBl": false,
                    "id": 99,
                    "statusModifyDate": 1655258606000,
                    "desc_en": "description",
                    "lastModifyDate": 1655258606000,
                    "createUid": 4,
                    "createDate": 1655258606000,
                    "budget": 0,
                    "desc_zh-CN": "",
                    "jobReq_zh-TW": "",
                    "reqBy": 49,
                    "lastApproveUid": 4,
                    "reqReqStatus": "open",
                    "dept": 0,
                    "jobDesc": "",
                    "useAccessWl": false,
                    "i18nField": "{\"desc_en\": \"description\", \"jobReq_en\": \"\", \"jobDesc_en\": \"\"}",
                    "desc_zh-TW": "",
                    "jobReq_zh-CN": "",
                    "jobDesc_zh-TW": "",
                    "position": 2,
                    "vacancy": 1,
                    "useAccessAutoCalc": false,
                    "status": "Y",
                    "desc": "description"
                }
            ]
        },
        "messages": [],
        "status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "找不到相关记录,记录可能已被删除或你没有访问权限",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# 保存招聘需求

# 接口描述

用于保存招聘需求单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/reqReq
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqReq
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/reqReq";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqReq");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "reqreq": {
            "values": [
                {
                	"id": 99,
                	"position": 3
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 99,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "存在无效数据(reqreq.position)",
                "msgCode": "core_143009"
            }
        ],
        "status": false
    }
    

# 删除招聘需求

# 接口描述

用于删除指定 ID 的招聘需求单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/delete/reqReq
    HTTP 请求方式 DELETE
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqReq
    id long (Query) Y 招聘需求单 ID,可参考获取招聘需求单据列表返回的 ID
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/reqReq";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqReq");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        delete.addHeader("authorization", access_token);
        delete.addHeader("client_id", ClientID);
    
        res = client.execute(delete);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        delete.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "messages": [],
        "status": true
    }
    
    {
        "messages": [
            {
                "msgDetail": "单据已被删除",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# 招聘活动

# 获取招聘活动单据列表

# 接口描述

用于获取招聘活动单据列表

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/search/search
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    stSearch String (Query) Y Lookup Type. 可在 UDF Lookup 中找到。
    (Eg: reqAct ......)
    formatId long (Query) N Lookup Query 中的格式 ID
    (若未指定该参数,则使用默认格式)
    startRow int (Query) N 返回结果的开始行
    endRow int (Query) N 返回结果的结束行
    quickSearchStr String (Query) N 设定关键字查找数据
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("reqAct");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "stSearch": "reqAct",
        "size": 10,
        "stSearchDisplay": "招聘活动",
        "values": [
            {
                "code": "18082701",
                "desc__lang": "HD1",
                "actDate": "2018-08-27",
                "reqAct.reqReqId.reqReq.code": "",
                "reqAct.dept.dept.desc__lang": "",
                "reqAct.position.position.desc__lang": "人事部门-简体",
                "reqAct.recruitChannelId.recruitChannel.desc__lang": "AAA",
                "actTitle": "",
                "status": "Y",
                "iRev": 2,
                "lastModifyDate": "2019-11-11 18:34:25",
                "reqAct.lastModifyUid.simpleUser.desc__lang": "admin-SC",
                "id": 24,
                "st_desc": "HD1",
                "st_id": 24,
                "st_code": "18082701"
            },
          {......}
        ]
    }
    

# 新增招聘活动

# 接口描述

用于新增招聘活动记录

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/reqAct
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqAct
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/reqAct";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqAct");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "reqact": {
            "values": [
                {
                	"code": "test001",
                    "desc": "description",
                    "pic": 49,
                    "position": 2,
                    "recruitChannelId": 1,
                    "remark": "111"
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 61,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "编号重复(reqact.code)",
                "msgCode": "core_101903"
            }
        ],
        "status": false
    }
    

# 读取招聘活动

# 接口描述

根据 ID 读取招聘活动记录详情

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/read/reqAct
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqAct
    id long (Query) Y 招聘活动单 ID,可参考获取招聘活动单据列表返回的 ID
    iRev long (Query) N 版本号,用于读取历史记录 / 已删除的记录
  3. 请求示例

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/reqAct";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqAct");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "data": {
            "reqact": [
                {
                    "attachmentNo": 0,
                    "lastModifyUid": 4,
                    "code": "test001",
                    "useAccess": false,
                    "iRev": 1,
                    "jobReq": "",
                    "remark": "111",
                    "retrieveEmailUnit": "hour",
                    "sysJson": "",
                    "pic": 49,
                    "jobReq_en": "",
                    "viewCode": "reqAct",
                    "actDate": 1655222400000,
                    "beId": 0,
                    "recruitSchedule": 0,
                    "retrieveEmailPeriod": 0,
                    "jobDesc_zh-CN": "",
                    "enSchRun": false,
                    "jobDesc_en": "",
                    "printCount": 0,
                    "useAccessBl": false,
                    "id": 61,
                    "recruitChannelId": 1,
                    "statusModifyDate": 1655261740000,
                    "desc_en": "description",
                    "lastModifyDate": 1655261740000,
                    "reqActStatus": "open",
                    "createUid": 4,
                    "createDate": 1655261740000,
                    "desc_zh-CN": "",
                    "jobReq_zh-TW": "",
                    "lastApproveUid": 0,
                    "jobNoticeId": 0,
                    "dept": 0,
                    "delDupResumeJobApp": false,
                    "jobDesc": "",
                    "useAccessWl": false,
                    "i18nField": "{\"desc_en\": \"description\", \"jobReq_en\": \"\", \"jobDesc_en\": \"\"}",
                    "desc_zh-TW": "",
                    "jobReq_zh-CN": "",
                    "actTitle": "",
                    "jobDesc_zh-TW": "",
                    "reqReqId": 0,
                    "position": 2,
                    "vacancy": 1,
                    "useAccessAutoCalc": false,
                    "status": "N",
                    "desc": "description"
                }
            ]
        },
        "messages": [],
        "status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "找不到相关记录,记录可能已被删除或你没有访问权限",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# 保存招聘活动

# 接口描述

用于保存招聘活动单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/reqAct
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqAct
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/reqAct";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqAct");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "reqact": {
            "values": [
                {
                	"id": 61,
                	"pic": 6
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 61,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "存在无效数据(reqact.pic)",
                "msgCode": "core_143009"
            }
        ],
        "status": false
    }
    

# 删除招聘活动

# 接口描述

用于删除指定 ID 的招聘活动单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/delete/reqAct
    HTTP 请求方式 DELETE
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: reqAct
    id long (Query) Y 招聘活动单 ID,可参考获取招聘活动单据列表返回的 ID
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/reqAct";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("reqAct");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        delete.addHeader("authorization", access_token);
        delete.addHeader("client_id", ClientID);
    
        res = client.execute(delete);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        delete.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "messages": [],
        "status": true
    }
    
    {
        "messages": [
            {
                "msgDetail": "单据已被删除",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# 简历

# 获取简历单据列表

# 接口描述

用于获取简历单据列表

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/search/search
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    stSearch String (Query) Y Lookup Type. 可在 UDF Lookup 中找到。
    (Eg: resume ......)
    formatId long (Query) N Lookup Query 中的格式 ID
    (若未指定该参数,则使用默认格式)
    startRow int (Query) N 返回结果的开始行
    endRow int (Query) N 返回结果的结束行
    quickSearchStr String (Query) N 设定关键字查找数据
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("resume");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "stSearch": "resume",
        "size": 10,
        "stSearchDisplay": "简历",
        "values": [
            {
                "code": "000171",
                "desc__lang": "",
                "status": "Y",
                "iRev": 1,
                "lastModifyDate": "2018-11-06 17:17:17",
                "resume.lastModifyUid.simpleUser.desc__lang": "A003",
                "id": 35,
                "st_desc": "000171",
                "st_id": 35,
                "st_code": "000171"
            },
          {......}
        ]
    }
    

# 新增简历

# 接口描述

用于新增简历记录

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/resume
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: resume
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/resume";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("resume");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "resume": {
            "values": [
                {
                	"code": "test001",
                    "desc": "description",
                    "pic": 49,
                    "recruitChannelId": 1
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 5913,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "编号重复(resume.code)",
                "msgCode": "core_101903"
            }
        ],
        "status": false
    }
    

# 读取简历

# 接口描述

根据 ID 读取简历记录详情

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/read/resume
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: resume
    id long (Query) Y 简历单 ID,可参考获取简历单据列表返回的 ID
    iRev long (Query) N 版本号,用于读取历史记录 / 已删除的记录
  3. 请求示例

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/resume";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("resume");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "data": {
            "resume": [
                {
                    "lastModifyUid": 4,
                    "targetSalary": "",
                    "useAccess": false,
                    "healthcondiId": 0,
                    "heightcm": 0,
                    "sysJson": "",
                    "pic": 49,
                    "viewCode": "resume",
                    "talentPoolReason": "",
                    "beId": 0,
                    "mobileCountry": "",
                    "talentPoolBy": 0,
                    "school": 0,
                    "useAccessBl": false,
                    "tel": "",
                    "id": 63,
                    "recruitChannelId": 2,
                    "nonprofitInterest": 0,
                    "lastModifyDate": 1552443450000,
                    "createUid": 4,
                    "submitTimes": 0,
                    "lastApproveUid": 0,
                    "eduLevel": "",
                    "curTag": 0,
                    "udfinputdate": -2209017600000,
                    "curLocation": 0,
                    "i18nField": "{\"desc_en\": \"孙康\", \"desc_zh-CN\": \"孙康\"}",
                    "desc_zh-TW": "",
                    "udfcombo": "",
                    "status": "Y",
                    "desc": "孙康",
                    "attachmentNo": 0,
                    "code": "943050647",
                    "blackListedBy": 0,
                    "iRev": 1,
                    "remark": "",
                    "curCompany": 0,
                    "curIndustry": 0,
                    "printCount": 0,
                    "statusModifyDate": 1552443450000,
                    "desc_en": "孙康",
                    "email": "",
                    "weightkg": 0,
                    "createDate": 1552443450000,
                    "curTitle": 0,
                    "desc_zh-CN": "孙康",
                    "udfpasekpi": "",
                    "blackListReason": "",
                    "allowResubmitTimes": 0,
                    "mobile": "",
                    "useAccessWl": false,
                    "telCountry": "",
                    "blackListed": false,
                    "talentPool": false,
                    "udfpastpay": "",
                    "telArea": "",
                    "allowResubmit": false,
                    "bloodtypeId": 0,
                    "useAccessAutoCalc": false
                }
            ]
        },
        "messages": [],
        "status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "找不到相关记录,记录可能已被删除或你没有访问权限",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# 保存简历

# 接口描述

用于保存简历单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/resume
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: resume
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/resume";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("resume");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "resume": {
            "values": [
                {
                	"id": 63,
                	"pic": 6
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 63,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "存在无效数据(resume.pic)",
                "msgCode": "core_143009"
            }
        ],
        "status": false
    }
    

# 删除简历

# 接口描述

用于删除指定 ID 的简历单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/delete/resume
    HTTP 请求方式 DELETE
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: resume
    id long (Query) Y 简历单 ID,可参考获取简历单据列表返回的 ID
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/resume";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("resume");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        delete.addHeader("authorization", access_token);
        delete.addHeader("client_id", ClientID);
    
        res = client.execute(delete);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        delete.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "messages": [],
        "status": true
    }
    
    {
        "messages": [
            {
                "msgDetail": "单据已被删除",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# 应聘

# 获取应聘单据列表

# 接口描述

用于获取应聘单据列表

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/search/search
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    stSearch String (Query) Y Lookup Type. 可在 UDF Lookup 中找到。
    (Eg: jobApp ......)
    formatId long (Query) N Lookup Query 中的格式 ID
    (若未指定该参数,则使用默认格式)
    startRow int (Query) N 返回结果的开始行
    endRow int (Query) N 返回结果的结束行
    quickSearchStr String (Query) N 设定关键字查找数据
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("jobApp");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "stSearch": "jobApp",
        "size": 10,
        "stSearchDisplay": "应聘",
        "values": [
            {
                "code": "180820",
                "desc__lang": "180820",
                "jobApp.resumeId.resume.code": "M002",
                "appDate": "2018-08-20",
                "jobApp.reqActId.reqAct.code": "ARA_20180820185249",
                "jobApp.dept.dept.desc__lang": "",
                "jobApp.position.position.desc__lang": "",
                "jobApp.recruitChannelId.recruitChannel.desc__lang": "智联招聘-SC",
                "actTitle": "",
                "status": "Y",
                "iRev": 8,
                "lastModifyDate": "2019-12-13 18:38:41",
                "jobApp.lastModifyUid.simpleUser.desc__lang": "admin-SC",
                "id": 26,
                "st_desc": "180820",
                "st_id": 26,
                "st_code": "180820"
            },
          {......}
        ]
    }
    

# 新增应聘

# 接口描述

用于新增应聘记录

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/jobApp
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: jobApp
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/jobApp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("jobApp");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "jobapp": {
            "values": [
                {
                	"code": "test001",
                    "desc": "description",
                    "resumeId": 1,
                    "pic": 49,
                    "position": 1,
                    "recruitChannelId": 1
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 95,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "编号重复(jobapp.code)",
                "msgCode": "core_101903"
            }
        ],
        "status": false
    }
    

# 读取应聘

# 接口描述

根据 ID 读取应聘记录详情

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/read/jobApp
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: jobApp
    id long (Query) Y 应聘单 ID,可参考获取应聘单据列表返回的 ID
    iRev long (Query) N 版本号,用于读取历史记录 / 已删除的记录
  3. 请求示例

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/jobApp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("jobApp");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "data": {
            "jobassessresult": [
                {
                    "score": 0,
                    "hId": 63,
                    "assessItem": 1,
                    "assessType": 2,
                    "iRev": 3,
                    "id": 144,
                    "itemNo": ""
                },
                {......},
                {......},
                {......},
                {......}
            ],
            "jobassess": [
                {......},
                {......}
            ],
            "jobapp": [
                {
                    "blackListDate": -2209017600000,
                    "attachmentNo": 0,
                    "jobStatus": "inProgress",
                    "lastModifyUid": 4,
                    "code": "TS_201902151139125337",
                    "useAccess": false,
                    "iRev": 3,
                    "appDate": 1550160000000,
                    "remark": "",
                    "sysJson": "",
                    "pic": 49,
                    "jobOffer": false,
                    "jobActive": "passive",
                    "viewCode": "jobApp",
                    "beId": 0,
                    "refJobAppId": 0,
                    "resumeId": 3,
                    "printCount": 0,
                    "useAccessBl": false,
                    "id": 63,
                    "recruitChannelId": 4,
                    "statusModifyDate": 1550201983000,
                    "desc_en": "Automatically generated record",
                    "lastModifyDate": 1550201984000,
                    "createUid": 4,
                    "createDate": 1550201983000,
                    "desc_zh-CN": "自动生成记录",
                    "jobFailReason": 0,
                    "refReqActId": 0,
                    "blackListReason": "",
                    "lastApproveUid": 0,
                    "dept": 2,
                    "useAccessWl": false,
                    "offerStatus": "reject",
                    "blackListed": false,
                    "referral": false,
                    "i18nField": "{\"desc_en\": \"Automatically generated record\", \"desc_zh-CN\": \"自动生成记录\", \"desc_zh-TW\": \"自動生成記錄\"}",
                    "desc_zh-TW": "自動生成記錄",
                    "actTitle": "TEST-职位发布名称",
                    "position": 1,
                    "useAccessAutoCalc": false,
                    "reqActId": 12,
                    "status": "Y",
                    "desc": "自动生成记录"
                }
            ]
        },
        "messages": [],
        "status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "找不到相关记录,记录可能已被删除或你没有访问权限",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# 保存应聘

# 接口描述

用于保存应聘单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/save/jobApp
    HTTP 请求方式 PUT
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: jobApp
    entity String (Body) Y JSON (可参考请求示例中的相关参数)
  3. 请求示例

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/jobApp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("jobApp");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        put.addHeader("authorization", access_token);
        put.addHeader("client_id", ClientID);
    
        StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
        entity.setContentEncoding("UTF-8");
        put.setEntity(entity);
    
        res = client.execute(put);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            if (json != null) {
                recordId = json.getLongValue("recordId");
            }
    
            System.out.println(json);
        }
    
        put.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    

    其中 Entity 的 JSON 格式如下:

    {
        "jobapp": {
            "values": [
                {
                	"id": 63,
                	"pic": 6
                }
            ]
        }
    }
    
  4. 返回示例

    {
        "recordId": 63,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "存在无效数据(jobapp.pic)",
                "msgCode": "core_143009"
            },
            {
                "msgDetail": "输入值超出字段的最大长度(jobapp.code)",
                "msgCode": "core_101921"
            }
        ],
        "status": false
    }
    

# 删除应聘

# 接口描述

用于删除指定 ID 的应聘单

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/root/api/delete/jobApp
    HTTP 请求方式 DELETE
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    menuCode String (Query) Y 可在 Data Dictionary 中找到
    Eg: jobApp
    id long (Query) Y 应聘单 ID,可参考获取应聘单据列表返回的 ID
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/jobApp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("jobApp");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        delete.addHeader("authorization", access_token);
        delete.addHeader("client_id", ClientID);
    
        res = client.execute(delete);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        delete.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "messages": [],
        "status": true
    }
    
    {
        "messages": [
            {
                "msgDetail": "单据已被删除",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# 读取 EBI 数据

# 招聘需求报告

# 接口描述

用于按照指定 EBI 格式读取 [招聘需求报告] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "T1_A_reqBy_desc__lang": "123413weibo122",
                "T1_A_reqDate": "2018/08/22",
                "M18ReservedCol_dataIndex": 1,
                "T1_A_id": "1",
                "T1_A_vacancy": "1",
                "T1_A_code": "A1"
            }
        ]
    }
    

    REQREQ_EBI

# 招聘活动报告

# 接口描述

用于按照指定 EBI 格式读取 [招聘活动报告] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "T1_A_actTitle": "人事管理专员",
                "T1_A_desc": "A1-1",
                "MAIN_onBoardNum": "0",
                "M18ReservedCol_dataIndex": 1,
                "MAIN_jobAppNum": "4",
                "T1_A_actDate": "2018/07/27",
                "MAIN_offerMadeNum": "2",
                "MAIN_offerRejectedNum": "0",
                "T1_A_id": "11",
                "T1_A_reqActStatus": "关闭",
                "MAIN_offerAcceptedNum": "2",
                "MAIN_lastJobAppDate": "2019/02/15",
                "T1_A_vacancy": "5",
                "T1_A_code": "A101-1"
            }
        ]
    }
    

    REQACT_EBI

# 应聘报告

# 接口描述

用于按照指定 EBI 格式读取 [应聘报告] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "T1_A_actTitle": "人事管理专员",
                "T1_A_jobOffer": "是",
                "T1_A_offerStatus": "接受",
                "M18ReservedCol_dataIndex": 1,
                "T1_A_appDate": "2018/07/27",
                "T1_A_id": "14",
                "T1_A_jobStatus": "取消",
                "T1_A_desc__lang": "A1-JA1-简体",
                "T1_A_referral": "否",
                "T1_A_code": "A1-JA1"
            }
        ]
    }
    

    JOBAPP_EBI

# 应聘评估报告

# 接口描述

用于按照指定 EBI 格式读取 [应聘评估报告] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
    1. 请求示例
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  3. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "MAIN_assessTypeDesc": "工作经验类",
                "MAIN_assessResult": "通过",
                "M18ReservedCol_dataIndex": 1,
                "T1_A_id": "14",
                "MAIN_assessItemDesc": "评估项S1",
                "MAIN_applicantName": "罗芳-SC",
                "T1_A_code": "A1-JA1"
            }
        ]
    }
    

    JOBASSESS_EBI

# 招聘活动费用报告

# 接口描述

用于按照指定 EBI 格式读取 [招聘活动费用报告] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 9,
        "rows": [
            {
                "MAIN_actDate": "2018/07/28",
                "MAIN_actAmt": "800,000,000.00",
                "M18ReservedCol_dataIndex": 1,
                "MAIN_sym": "RMB",
                "T1_A_id": "13",
                "MAIN_desc": "场地费用",
                "T1_A_code": "A201"
            }
        ]
    }
    

    ACTEXPENSE_EBI

# 简历列表

# 接口描述

用于按照指定 EBI 格式读取 [简历列表] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "T1_A_school_desc__lang": "广州大学",
                "M18ReservedCol_dataIndex": 1,
                "T1_A_id": "1",
                "T1_A_tel": "88888888",
                "T1_A_desc__lang": "",
                "T1_A_code": "AA"
            }
        ]
    }
    

    RESUME_EBI

# 简历备忘列表

# 接口描述

用于按照指定 EBI 格式读取 [简历备忘列表] EBI,并返回数据

# 接口调用说明

  1. 请求说明

    URL http://[server]/jsf/rfws/ebiWidget/loadReport
    HTTP 请求方式 GET
    编码类型 UTF-8
  2. URL 参数

    参数 类型 必填 说明
    authorization String (Header) Y 通过 OAuth 获取的 Access Token
    client_id String (Header) Y M18 授权应用列表中的 Client ID
    formatId long (Query) Y 通过 EBI 接口获得
    offset int (Query) N 返回结果的开始行
    rows int (Query) N 返回结果行数
  3. 请求示例

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
    
            System.out.println(json);
        }
    
        get.releaseConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (res != null) {
                res.close();
            }
            if (client != null) {
                client.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    
  4. 返回示例

    {
        "size": 10,
        "rows": [
            {
                "MAIN_content": "加入黑名单-<p>测试加入黑名单</p>",
                "MAIN_recordDate": "2018/07/27 18:51:46",
                "T3_A_id": "49",
                "M18ReservedCol_dataIndex": 1,
                "T1_A_id": "4",
                "T1_A_code": "DD",
                "T3_A_code": "00006"
            }
        ]
    }
    

    RESUMENOTE_EBI