ATS用户中心
所有文章
系统应用
简藏插件
职位 / 招聘需求
面试 / offer
渠道相关
候选人 / 人才库
招聘流程
用人经理端
操作手册
BI报表
简历接收邮箱绑定
内推管理
系统操作视频
基础说明
升级公告
常见问题
公开课
校招专栏
内推和门店
数据平台
亮点功能
热门活动
API文档
标准集成场景
最后更新于 2024/04/03   阅读数 759

1.0.0 Moka通用单点登录

1.1.0 业务内容描述

1、单点登录( Single Sign-On , 简称 SSO )一句话介绍:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

2、sso是多个相关但独立的软件系统访问控制的一个属性。通过使用该属性,用户登录与单个ID和密码来访问所连接的一个或多个系统,而不使用不同的用户名或密码,或在某些配置中无缝登录在每个系统上,它是比较流行的服务于企业业务整合的一种解决方案。总结一句话,SSO  使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。。

1.2.0 前置信息确认

1.确认企业登录的唯一标识:邮箱(推荐),工号,手机号。

2.企业提供登录地址url,通过配置生成密钥和偏移量给到企业

1.3.0 业务流程图

1.4.0 具体场景实现

请求示例如下

curl --location --request PUT 'https://api-staging003.mokahr.com/api/sso_setting/{orgId}?type=THIRD_SELF_RESEARCH' \

--header 'authorization: moka%20dun%2C%20moka%20dun%2C%20moka%20dunwan%20moka%20dun.' \

--header 'Content-Type: application/json' \

--data-raw '{

    "setting": {

        "ifNotGoRecommendWeb": false,

        "ifNoCheckAlreadyLogin": false,

        "createRole""",

        "ifEmailSsoLogin": true,

        "ssoIdType""email",

        "baseUrl""http://x.xx.xxx:",

        "returnUrl""",

        "getLogin": {

            "url""8080",

            "loginVerifyArr": [

                "token"

            ],

            "ifPcMokaGoLogin": true,

            "ifPcRecommendGoLogin": true,

            "ifMobileMokaGoLogin": true,

            "ifMobileRecommendGoLogin": true,

            "loginPcMokaVerifyMsg""",

            "loginPcRecommendVerifyMsg""",

            "loginMobileMokaVerifyMsg""",

            "loginMobileRecommendVerifyMsg""",

            "mapping": {},

            "fixed": {},

            "path": {

                "token""query.token"

            }

        },

        "getSsoId": {

            "getType"2,

            "http": {

                "url""/getSso"

            },

            "crypt": {

                "ifCheckTimeStamp": true,

                "ifJsonParse": true,

                "decryptType""aes-256-cbc-iv",

                "decryptKey""decryptKey",

                "decryptIv""decryptIv"

            },

            "mapping": {

                "clientId""appid",

                "thirdTokenId""openid",

                "encryptValue""token"

            },

            "fixed": {

                "method""get"

            },

            "path": {

                "encryptValue""query.token",

                "decryptRes""resBody.data",

                "ssoId""resBody.data.phone",

                "thirdEmail""resBody.data.email",

                "thirdPhone""resBody.data.phone",

                "thirdName""resBody.data.name",

                "thirdNumber""resBody.data.number"

            }

        }

    }

}'

注:根据具体企业修改相关的字段信息

2.0.0 组织架构信息同步

2.1.0 业务描述

用于双方系统组织架构信息保持一致,便于后续招聘系统数据分析,目前支持全量以及增量的组织架构数据同步。

2.2.0 前置信息确认

1、确认数据返回逻辑

  确认数据返回逻辑为全量返回,还是有对应的增量返回,比如修改,删除时接口返 回对应数据;

2、确定双方对应字段映射

需要根据企业对应系统的组织架构数据返回参数以及Moka Api接口入参确定好两者系统对应的字段映射关系;

3、技术侧实现

  基于以上数据返回逻辑以及映射关系确认后,企业方技术侧调用Moka Api接口实现对应组织架构同步;

2.3.0 业务流程图

 

 

2.4.0 具体场景实现

2.4.1 全量同步组织架构

一、场景说明

该场景适用于企业侧只有全量数据,没有用以区分新增以及删除部门的标识或接口;

二、接口调用步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-32

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

 B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/departments' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[

    {

        "name": "总部-0001",

        "parent_code": "",

        "department_code": "BMTH00080",

        "type": 1,

        "sequence": 1

    },

    {

        "name": "技术部",

        "parent_code": "zongbu",

        "department_code": "js-001",

        "type": 1,

        "sequence": 2

    }]'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该请求方式为PUT请求

  • 同一父级部门下不能存在部门名称相同的子部门

  • 该接口为全量接口,接口逻辑自动判断新增,修改,删除逻辑,无需额外调用增量新增,修改以及删除合并接口;

  • 全量同步组织架构批量传参时,若接口报错,则所有数据都同步不成功;

  • 针对于自动判断新增,修改,删除逻辑举例说明:

  • 举例新增部门:第一次同步了A,B,C,D四个部门,想新增E部门;

     实现逻辑:调用全量同步组织架构接口,将A,B,C,D,E全部同步就好;如果此时只         在接口中传入E部门的话,相当于是标记删除了其他部门,只同步了E,所以需要         全部都同步;

  • 举例删除部门:第一次同步了A,B,C,D四个部门,想删除D部门;

     实现逻辑:调用全量同步组织架构接口,将A,B,C三个部门同步,D部门会被标记         删除;用全量同步接口相对于在删除部门时,减少了调用删除接口

  • 举例修改部门:第一次同步了A,B,C,D四个部门,需要修改C部门;

     实现逻辑:调用全量同步组织架构接口,同时传入A,B,C(修改后),D部门信             息,实现修改部门C的需求

2.4.2 增量同步组织架构

一、场景说明

按照确认数据返回逻辑确认好对应增量、修改、删除数据返回,分别调用全量、增量、更新以及删除及合并接口实现双方数据同步一致;

二、对接概要

1、初次同步组织架构时,调用全量同步接口同步现有组织信息(参考全量同步组织架构)

2、按照数据返回逻辑拉取到增量新增数据后,调用增量同步接口同步;

3、按照数据返回逻辑拉取到修改数据后,调用更新组织架构接口更新;

4、按照数据返回逻辑拉取到删除部门信息后,调用删除及合并接口删除合并Moka系统        已存在部门

三、接口调用步骤

增量同步步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-36

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/departments/sync/incremental' \

--header 'Authorization: Basicbase64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[

    {

        "department_code": "A301801",

        "name": "门店测试",

        "parent_code": "",

        "type":2,

        "sequence": 0

    },

    {

        "department_code": "A301802",

        "name": "003总部",

        "parent_code": "",

        "type":1,

        "sequence": 0

    }

]'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该接口为POST请求

  • 批量同步增量新增部门数据时,若接口报错,则所有部门都同步不成功

2.4.3 更新组织架构步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-39

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/departments' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[

    {

        "department_code": "xz-001",

        "name": "namenamename1221",

        "parent_code": "zongbu",

        "sequence": 0

    }]'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该请求为Post请求方式

  • 更新组织架构批量传入部门信息时,若接口报错则所有数据都不会被更新成功;

2.4.4 删除及合并组织架构步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-41

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request DELETE 'https://api-staging003.mokahr.com/api-platform/v1/departments' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "departments": [

        {

            "department_code": "A301801",

            "target_department_code": "cw-001"

        },

        {

            "department_code": "js-001-02"

        }

    ],

    "email": "zhaomeifeng@mokahr.com"

}'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该接口为DELETE请求方式

  • 调用删除及合并接口时,若接口报错,则所有数据都不会被标记删除或合并成功

3.0.0 用户信息同步

3.1.0 业务内容描述

     用于双方系统人员信息保持一致,目前有V1和V2两个版本。

3.2.0 前置信息确认

3.2.1确认数据的基本字段

     人员信息中工号、手机号、邮箱是否齐全?

    工号、手机号、邮箱中用哪一个作为唯一标识?

    确认好全量同步成什么角色?

    确认是否存在同步到Moka的用户手动调整角色后,下次更新不再更新部门信息的情况?

3.2.2确认字段关系映射

  根据企业接口中的返回的数据对应上Moka Api接口的入参,做好字段关系映射。

3.3.0 业务流程图

 

3.4.0 具体场景实现

3.4.1同步人事信息V1

一、场景说明

        该接口适用于工号、手机号、邮箱齐全的情况下使用。并且角色信息支持创建,不支持角色更新,如果更新则去对应的v2接口中。

二、对接概要

    1、用v1的接口要确保工号、手机号、邮箱齐全,并且这三者都要是唯一值。

    2、角色信息只有第一次创建时生效,后续继续传入,不会更新。

三、接口调用步骤

人事信息同步步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-46

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api.mokahr.com/api-platform/v1/users/syncInfo' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[{"email":"amer@ceshi.com","name":"AMER JAMIL SALAH ABU AL KALBAT","phone":"33730444934","number":"T2447","role":0,"departmentCode":["2326232"],"superiorEmail":"","deactivated":0,"thirdPartyId":"354433808","updateDepartment":true,"updateSuperiorEmail":false},{"email":"cindyevania@ceshi.com","name":"CINDY EVANIA CHARIS","phone":"36602079989","number":"T3328","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360706430","updateDepartment":true,"updateSuperiorEmail":false},{"email":"dohamy@ceshi.com","name":"DO HA MY","phone":"33328237385","number":"T3346","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360803993","updateDepartment":true,"updateSuperiorEmail":false}]'

注:根据具体企业修改相关的字段信息

C、 注意事项

  • 每一次请求的数据最大支持100条数据,超出将无法同步。

  • 接口的频率为1分钟80次,假如你有800人要同步。要分批次要同步10次。

  • 工号、手机号、邮箱齐全,并且这三者都要是唯一值,否侧同步失败。

  • 例如已有的用户信息为 :

     员工号:A001,手机号:1111,邮箱:111@qq.com

     员工号:B001,手机号:2222,邮箱:222@qq.com

     你想调接口去增加 员工号:C001,手机号:2222,邮箱:333@qq.com

    这种情况回提示手机号已存在的错误。

  • 例如已有的用户信息为 :

    员工号:A001,手机号:111,邮箱:111@qq.com

    员工号:B001,手机号:2222,邮箱:222@qq.com

    由于某些原因你把员工B001的手机号弄错了,B001的手机号正确是111,

    调接口去更新员工号:B001,修改手机号为111。这种情况系统回提示错误,手机号       在系统中重复,同步失败。正确的操作是要先把A001的手机号修改正确再同步B001      的数据。

离职人员账户禁用

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-46

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

Moka没有删除人员的接口,但账户可以禁用,把Deactivated字段赋值为1即可。

B、请求示例:

curl --location --request POST 'https://api.mokahr.com/api-platform/v1/users/syncInfo' \

--header 'Authorization: Basicbase64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[{"email":"amer@ceshi.com","name":"AMER JAMIL SALAH ABU AL KALBAT","phone":"33730444934","number":"T2447","role":0,"departmentCode":["2326232"],"superiorEmail":"","deactivated":0,"thirdPartyId":"354433808","updateDepartment":true,"updateSuperiorEmail":false},{"email":"cindyevania@ceshi.com","name":"CINDY EVANIA CHARIS","phone":"36602079989","number":"T3328","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360706430","updateDepartment":true,"updateSuperiorEmail":false},{"email":"dohamy@ceshi.com","name":"DO HA MY","phone":"33328237385","number":"T3346","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360803993","updateDepartment":true,"updateSuperiorEmail":false}]'

注:根据具体企业修改相关的字段信息

C、 注意事项

  • 每一次请求的数据最大支持100条数据,超出将无法同步。

  • 接口的频率为1分钟80次假如你有800人要同步,要分批次要同步10次。

  • 工号、手机号、邮箱齐全,并且这三者都要是唯一值,否侧同步失败。

3.4.2 同步人事信息V2

一、场景说明

    该接口适用于工号、手机号、邮箱不齐全的情况下使用。并且角色信息支持更新。

二、对接概要

    用v2的接口要确保工号、手机号、邮箱其中一个为唯一标识且所有人都有。从整体数据工号、手机号、邮箱都要唯一,不能存在重复的情况。

三、接口调用步骤

人员信息同步步骤

A、请求地址

接口文档地址:https://www.mokahr.com/docs/api/#-148

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api.mokahr.com/api-platform/v2/users/syncInfo' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{"usersInfo":[{"name":"摩小卡1","phone":"19025311101","number":"AD36794","roleId":79526,"departmentCode":[134437350],"deactivated":0,"thirdPartyId":"“”","uniqueType":"phone","updateDepartment":true,"autoActivated":1},{"name":"摩小卡2","phone":"10056969021","number":"AD34340","roleId":79526,"departmentCode":[134437350],"deactivated":0,"thirdPartyId":"“”","uniqueType":"phone","updateDepartment":true,"autoActivated":1}]}'

注:根据具体企业修改相关的字段信息

C、 注意事项

  • 每一次请求的数据最大支持100条数据,超出将无法同步。

  • 接口的频率为1分钟80次,假如你有800人要同步。要分批次要同步10次。

  • 工号、手机号、邮箱齐全,并且这三者都要是唯一值,否侧同步失败。

  • 例如已有的用户信息为 :

     员工号:A001,手机号:1111,邮箱:111@qq.com

     员工号:B001,手机号:2222,邮箱:222@qq.com

     你想调接口去增加 员工号:C001,手机号:2222,邮箱:333@qq.com

    这种情况回提示手机号已存在的错误。

  • 例如已有的用户信息为 :

    员工号:A001,手机号:111,邮箱:111@qq.com

    员工号:B001,手机号:2222,邮箱:222@qq.com

    由于某些原因你把员工B001的手机号弄错了,B001的手机号正确是111,

    调接口去更新员工号:B001,修改手机号为111。这种情况系统回提示错误,手机号       在系统中重复,同步失败。正确的操作是要先把A001的手机号修改正确再同步B001      的数据。

离职人员账户禁用

A、请求地址

接口文档地址:https://www.mokahr.com/docs/api/#-148

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

Moka没有删除人员的接口,账户可以禁用,把Deactivated字段赋值为1即可。

B、请求示例

curl --location --request POST 'https://api.mokahr.com/api-platform/v2/users/syncInfo' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{"usersInfo":[{"name":"摩小卡1","phone":"19025311101","number":"AD36794","roleId":79526,"departmentCode":[134437350],"deactivated":0,"thirdPartyId":"“”","uniqueType":"phone","updateDepartment":true,"autoActivated":1},{"name":"摩小卡2","phone":"10056969021","number":"AD34340","roleId":79526,"departmentCode":[134437350],"deactivated":0,"thirdPartyId":"“”","uniqueType":"phone","updateDepartment":true,"autoActivated":1}]}

注:根据具体企业修改相关的字段信息

C、 注意事项

  • 工号、手机号、邮箱需要确认其中一个是唯一标识,且必须所有人都有

  • 其余两个也要唯一值,但可以为空

4.0.0 招聘需求信息同步

4.1.0 业务内容描述

目的是将双方系统中招聘需求保持一致,利于分析后续招聘系统数据分析;

4.2.0 前置信息确认

1、确认数据返回逻辑

  确认企业侧招聘需求数据返回逻辑;招聘需求是否涉及更新,取消,删除等操作;

2、确定双方对应字段映射

  需要根据企业对应招聘需求数据返回参以及moka api接口入参确定好对应的字段映射关系;

3、技术侧实现

     基于以上数据返回逻辑以及映射关系确认好后,技术侧调用接口实现对应需求新增,修改,删除等操作;

4.3.0 业务流程图

4.4.0 具体场景实现

一、场景说明

适用于新增,修改,删除对应招聘需求;

二、对接概要

      1、初次同步招聘需求至moka系统,需调用新建招聘需求接口

      2、涉及修改,取消招聘需求时,则需调用更新招聘需求接口

      3、若企业侧将已同步至moka系统的原招聘需求已删除,则可调用更新接口将该需求状态更新成已取消,或调用删除接口删除招聘需求

三、接口调用步骤

4.4.1 招聘信息同步步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-55

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/headcount?currentHireMode=1' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US' \

--data-raw '{

    "number": "hc_automan001",

    "jobName": "hcName001",

    "needNumber": 1,

    "startDate": "2022-10-12T00:00:00.000Z",

    "education": "本科",

    "departmentCode": "abc0001"

}'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 请求方式为Post

  • 不支持批量创建

  • 招聘模式为社招,请求地址中需入参currentHireMode=1

  • departmentCode必须是已经在moka同步过的部门,否则接口会报错【没找到department_code对应的部门】

  • number为全局唯一,如果重复传入同一个值会报错【HC编号重复】

4.4.2 更新招聘信息步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-57

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/headcount/200159412' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US' \

--data-raw ' {

    "jobName": "测试hc",

    "needNumber": 20,

    "status": canceled

  }'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该请求为Put请求方式

  • 更新字段需提前确认清楚

  • 该接口不支持批量更新

4.4.3 删除招聘需求步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-59

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request DELETE 'https://api-staging003.mokahr.com/api-platform/v1/headcount/hcid' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US'

注:根据具体企业修改相关的字段信息

C、注意事项

  • 该请求为DELETE方式

  • 该接口不支持批量删除

5.0.0 职位信息同步

5.1.0 业务内容描述

      目的是将企业系统的发布职位同步到招聘系统保持一致,利于分析后续招聘系统中候选人入职信息的写入

5.2.0 前置信息确认

1、职级的创建

2、职能的绑定

3、职位和招聘需求的关联

5.3.0 业务流程图

5.4.0 具体场景实现

一、场景说明

将三方系统HR创建的职位发布招聘官网

二、对接概要

1、职级的获取

2、职能的获取

三、各场景调用步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-59

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request GET 'https://api-staging003.mokahr.com/api-platform/v1/job_ranks' \

--header 'Authorization: Basic base64(apiKey:)'

 

B、请求示例

curl --location --request POST 'https://api.mokahr.com/api-platform/v1/users/syncInfo' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '[{"email":"amer@ceshi.com","name":"AMER JAMIL SALAH ABU AL KALBAT","phone":"33730444934","number":"T2447","role":0,"departmentCode":["2326232"],"superiorEmail":"","deactivated":0,"thirdPartyId":"354433808","updateDepartment":true,"updateSuperiorEmail":false},{"email":"cindyevania@ceshi.com","name":"CINDY EVANIA CHARIS","phone":"36602079989","number":"T3328","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360706430","updateDepartment":true,"updateSuperiorEmail":false},{"email":"dohamy@ceshi.com","name":"DO HA MY","phone":"33328237385","number":"T3346","role":0,"departmentCode":["2745394"],"superiorEmail":"","deactivated":0,"thirdPartyId":"360803993","updateDepartment":true,"updateSuperiorEmail":false}]'

注:根据具体企业修改相关的字段信息

C、获取职能

curl --location --request GET 'https://api-staging003.mokahr.com/api-platform/v1/jobs-groupedby-zhineng/implgrouppublic?mode=social' \

--header 'Authorization: Basic base64(apiKey:)'

D、创建职位

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/jobs?currentHireMode=1' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "title": "API测试+同时发布到招聘官网2",

    "status": "open",

    "commitment": "其它",

    "departmentCode": "110",

    "minSalary": 20,

    "maxSalary": 50,

    "education": "本科",

    "managerEmail": "ceshi@ceshi.com",

    "hrAssistantEmails": [

        "ceshi@ceshi.com"

    ],

    "hiringManagerEmails": [

        "ceshi@ceshi.com"

    ],

    "interviewerEmails": [

        "ceshi@ceshi.com"

    ],

    "jobRankIds": 1,

    "finishedAt": "2020-04-15 00:00:00",

    "siteIds":["200001624"]

}'

注:根据具体企业修改相关的字段信息

E、更新职位【与创建职位的参数一致,注意职位性质有一个是(其它)】

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/jobs/jobid' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "title": "API测试+同时发布到招聘官网3",

    "status": "open",

    "commitment": "其它",

    "departmentCode": "110",

    "minSalary": 20,

    "maxSalary": 50,

    "education": "本科",

    "managerEmail": "ceshi@ceshi.com",

    "hrAssistantEmails": [

        "ceshio@ceshio.com"

    ],

    "hiringManagerEmails": [

        "ceshi@ceshi.com"

    ],

    "interviewerEmails": [

        "ceshi@ceshi.com"

    ],

    "jobRankIds": 1,

    "finishedAt": "2020-04-15 00:00:00",

    "siteIds":["200001624"]

}'

注:根据具体企业修改相关的字段信息

C、注意事项

工作地点和职位级别这两个字段需要的是id,需要通过获取企业职位级别接口和获取企业工作地点接口来获取id。

6.0.0 Offer信息同步

6.1.0 业务内容描述

在Moka系统中创建Offer信息,并且支持更新已经创建的Offer信息,便于后续将Offer同步给三方

6.2.0 前置信息确认

1、确认是系统字段还是自定义字段。

2、创建人的邮箱需要在系统存在

3、如果字段涉及码值,需要企业按照码值匹配

6.3.0 业务流程图

 

6.4.0 具体场景实现

一、场景说明

在Moka系统中创建Offer信息

二、对接概要

双方接口的字段映射关系要确认清楚

三、各场景调用步骤

6.4.1 创建Offer步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#offer

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/create-offer' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "applicationId": 候选人id

    "checkinDate": "2022-05-09",

    "locationId": 工作地点的id

    "contactUserName": "摩小卡",

    "contactPhone": "15945670038",

    "creatorEmail": "ceshi@ceshi.com",

    "contactEmail": "ceshi@ceshi.com",

    "hcId": hcId,

    "jobRankId": 职位级别的id,

    "departmentCode": 组织架构的编码,

    "isCreateOfferAttachment": true,

    "customFields": [

        {

            "name": "入职时间",

            "value": "2022-05-09"

        },

        {

            "name": "月薪总额(元/月)-税前",

            "value": "12000"

        },

        {

            "name": "月薪总额(元/月)税前",

            "value": "12000"

        },

        {

            "name": "劳动合同签约工资数(元)",

            "value": "4000"

        },

        {

            "name": "公积金(公司承担部分)(元/月)",

            "value": "1000"

        },

        {

            "name": "劳动合同期限(年)",

            "value": "5"

        },

        {

            "name": "常驻工作地",

            "value": "杭州"

        },

        {

            "name": "直接上级",

            "value": "李彦峰"

        },

        {

            "name": "月基本工资(元/月)",

            "value": "4000"

        },

        {

            "name": "岗位津贴(元/月)",

            "value": "8000"

        },

        {

            "name": "餐贴+下午茶补贴(元/天)-base杭州",

            "value": "16"

        },

        {

            "name": "餐补(元/天)",

            "value": "16"

        },

        {

            "name": "月度津贴(税前)",

            "value": "0"

        },

        {

            "name": "年底津贴(税前)",

            "value": "0"

        },

        {

            "name": "试用期月薪比例(%)",

            "value": "100"

        },

        {

            "name": "岗位名称",

            "value": "前端开发岗"

        },

        {

            "name": "年终奖描述",

            "value": "月薪总额(税前)*3.0,"

        },

        {

            "name": "保密补贴(元/月)-base杭州",

            "value": "30"

        },

        {

            "name": "奖金浮动月份(月数)",

            "value": "3.0"

        },

        {

            "name": "工作时间",

            "value": "弹性工作时间:9:00—18:00"

        },

        {

            "name": "联系人",

            "value": "摩小卡1"

        },

        {

            "name": "试用期(X月)",

            "value": "6"

        },

        {

            "name": "联系方式",

            "value": "159xxxxxxxx"

        },

        {

            "name": "offer模板选择",

            "value": "offer模板-总部(常驻工作地为杭州的总部员工)"

        },

        {

            "name": "劳动合同签约工资数(元)",

            "value": "4000"

        }

    ]

}'

注:根据具体企业修改相关的字段信息

C、 注意事项

  • 创建时,创建人必须是Moka已有的账号

6.4.2 更新Offer信息步骤

A、接口文档地址

接口文档地址: https://www.mokahr.com/docs/api/#offer-2

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/api-platform/v1/offers/offerFields/update' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "applicationId": "候选人的id",

    "operatorName": "摩小卡",

    "orgId": "orgid",

    "fields": [

        {

            "name": "预计入职时间",

            "value": "2022-04-08"

        },

        {

            "name": "职位级别",

            "value": "410031150"

        },

        {

            "name": "入职部门",

            "value": "200563151"

        },curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/offer/status?applicationId=候选人的申请id&accepted=1' \

--header 'Authorization: Basic base64(apiKey:)'

        {

            "name": "实际入职职位",

            "value": "奢侈品HRBP经理"

        }

    ]

}'

注:根据具体企业修改相关的字段信息base64(apiKey:)

C 、注意事项

  • 更新offer的信息时系统字段只能传id

6.4.3 接收/拒绝Offer信息步骤

A、接口文档地址

接口文档地址: https://www.mokahr.com/docs/api/#offer-6

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/offer/status?applicationId=候选人的申请id&accepted=1' \

--header 'Authorization: Basic base64(apiKey:)'

注:根据具体企业修改相关的字段信息

C 、注意事项

  • 需要Offer存在

7.0.0 入离转正状态信息同步

7.1.0 业务内容描述

用于候选人入职状态回传,保持双方候选人入职状态一致;利于招聘系统分析数据。

7.2.0 前置信息确认

         暂无

7.3.0  业务流程图

 

     

7.4.0 具体场景实现

一、场景说明

同步候选人入职,离职,转正状态到Moka系统。

二、对接概要

      暂无

三、各场景调用步骤

7.4.1 入职状态同步步骤

A、请求地址

接口文档地址:https://www.mokahr.com/docs/api/#-153

测试环境请求域名:  https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/applications/{applicationid}/hired' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US' \

--data-raw '{

    "hcId": 200168611,

    "hiredAt": "2022-06-06T16:00:00.000Z",

    "probation": 3

}'

注:根据具体企业修改相关的字段信息

C、字段Mapping

XX字段名称

字段描述

字段类型

是否必填

备注

Moka字段名称

Moka接口字段名称

备注

 

 

 

 

 

该候选人对应职位的对应headcount id

hcId

 

 

 

 

 

 

实际入职时间

hiredAt

 

 

 

 

 

 

试用期

probation

可选值0-6,0为无试用期,1-6对应几个月试用期

D、注意事项

  • hcId为岗位绑定的hcId

7.4.2 转正状态同步步骤

A、请求地址

接口文档地址:https://www.mokahr.com/docs/api/#-155

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/applications/{applicationid}/corrected' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US' \

--data-raw '{

    "status": 1,

    "correctedAt": "2022-08-06T16:00:00.000Z"

}'

注:根据具体企业修改相关的字段信息

 

C、字段Mapping

XX字段名称

字段描述

字段类型

是否必填

备注

Moka字段名称

Moka接口字段名称

备注

 

 

 

 

 

更新的转正状态;1:转正 0:未转正

status

 

 

 

 

 

 

实际转正时间

correctedAt

 

 

 

D、注意事项

暂无

7.4.3 离职状态同步步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-157

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例

curl --location --request PUT 'https://api-staging003.mokahr.com/api-platform/v1/applications/{applicationid}/resign' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--header 'Cookie: connect.sid=s%3Aqp4q3p3f0TWGrNswXYgtjW7sWFghOJ57.sQYKcSsP1MLP4wLK4CaRK%2F4S8bRk2zEC8ZZNSdno0wo; locale=en-US' \

--data-raw '{

    "detail": "消化不好",

    "time": "2022-05-27T16:00:00.000Z",

    "reason":1

}'

注:根据具体企业修改相关的字段信息

 

C、字段Mapping

XX字段名称

字段描述

字段类型

是否必填

备注

Moka字段名称

Moka接口字段名称

备注

 

 

 

 

 

离职类型

type

 

 

 

 

 

 

离职原因

detail

 

 

 

 

 

 

离职时间

time

 

 

 

 

 

 

操作人的邮箱

email

 

 

 

 

 

 

操作人有权限的人才库ID

talentPoolId

 

 

 

 

 

 

是否回写离职信息

isResignWriteJob

 

 

 

 

 

 

离职职位

resignJobName

 

 

 

 

 

 

离职部门

resignDepartment

 

 

 

 

 

 

离职原因

reason

 

 

 

 

 

 

离职职类

resignJobType

 

D 、注意事项

接口文档中的Type不需要传入,否则接口会报错

8.0.0 导入EHR信息同步

8.1.0 业务内容描述

将候选人信息推送到企业系统,推送候选人信息目前在Moka中是由导入EHR"按钮点击触

8.2.0 前置信息确认

1、确认导入EHR接口地址

需企业提供一个没有鉴权,Post请求 Body接收参数的接口(支持Rest,Soap接口规则)

如果企业提供接口必须有鉴权,变通方案用IPass平台透传实现,属于定制交付。

2、确认企业是否需要导入成功后跳转页面

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

3、确定数据是否需要加密

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

4、确认字段关系映射

确认企业业务系统需要的字段在我们标准数据结构中是否存在,不存在的字段通过添加自定义字段是否满足。

 

3.7.3 业务流程图

 

8.3.0 具体场景实现

一、场景说明

Offer阶段手动触发导入ehr推送候选人信息到企业OA做offer审批,审批结束回传审批状态到Moka,候选人流转到待入职阶段。邀请候选人更新个人信息,再次触发导入ehr,推送最新候选人数据到OA做入职审批操作,操作完成同步入职状态回Moka。

二、对接概要

1、企业需要提供两个导入ehr接口(一个offer导入用,一个待入职导入用)

2、与您企业对接的客户成功经理协助配置

3、确认是否开启导入EHR按钮

4、确认是否选择公共推送

5、必须生成EHR密钥(签名用)

6、如果数据加密,秘钥IV必须生成

三、各场景调用步骤

8.3.1 导入Ehr信息同步步骤

A、请求地址

企业提供请求地址

B、请求示例

第一步 与您企业对接的客户成功经理协助配置

第二步 页面按钮触发测试

 

C 、注意事项

  • 详细跟企业讲一下自定义字段的取法(多段教育经历区分,工作经历,自定义模块)

9.0.0 面试信息同步

9.1.0 业务内容描述

用于推送面试信息同步到企业对接系统。

9.2.0 前置信息确认

暂无

9.3.0 业务流程图

 

9.4.0 具体场景实现

一、场景说明

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

二、对接概要

面试信息创建、修改、删除调用的是同一接口地址

三、各场景调用步骤

9.4.1 面试信息步骤

A、请求地址

企业提供信息同步地址

B、请求示例

curl --location --request POST 'https://api-staging003.mokahr.com/inner/api-platform/interface/createThirdPartyConfigInfo' \

--header 'authCode: authCode' \

--header 'Authorization: Basic base64(apiKey:)' \

--header 'Content-Type: application/json' \

--data-raw '{

    "org_id": "tongdun",

    "third_type": "4",

    "name": "同盾科技",

    "rest_info": "{\"baseUrl\":\"https://ceshi-test.cn\",\"syncInterviewsUrl\":\"/moka/callback\"}",

    "rest_headers": "{\"content-type\": \"application/json;charset=utf-8\"}",

    "config_info": "{\"secretKey\":\"secretKey\",\"needEncrypt\":false}"

}'

注:根据具体企业修改相关的字段信息

C 、注意事项

  • Postman里的参数仔细检查

10.0.0 Moka通用单点登录

10.1.0 业务内容描述

1、单点登录( Single Sign-On , 简称 SSO )一句话介绍:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

2、sso是多个相关但独立的软件系统访问控制的一个属性。通过使用该属性,用户登录与单个ID和密码来访问所连接的一个或多个系统,而不使用不同的用户名或密码,或在某些配置中无缝登录在每个系统上,它是比较流行的服务于企业业务整合的一种解决方案。总结一句话,SSO  使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。。

10.2.0 前置信息确认

10.3.0 业务流程图

11.0.0 招聘官网

11.1.0 业务内容描述

企业根据职位投递候选人简历到moka

11.2.0 前置信息确认

需要确认职位是否已经发布到招聘官网上

11.3.0 业务流程图

11.4.0 具体场景实现

一、场景说明

企业根据职位投递候选人简历到moka

二、对接概要

1.需要确认职位是否已经发布到招聘官网上

2.跟企业沟通确认候选人字段映射

3.是否内推,招聘模式为社招还是校招

4.请求方式有两种

(1)json格式,正常信息同步

(2)(multipart/form-data方式),可以上传附件

三、各场景调用步骤

A、请求地址

接口文档地址: https://www.mokahr.com/docs/api/#-14

测试环境请求域名: https://api-staging003.mokahr.com

正式环境请求域名: https://api.mokahr.com

B、请求示例(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": "ceshi@ceshi.com",

"gender": "男",

"phone": "18612345678",

"lastCompany": "Moka公司",

"lastSpeciality": "计算机",

"academicDegree": "本科"

},

"educationInfo":

[

{

"school": "北京大学",

"startDate": "2014-09",

"endDate": "2017-06",

"speciality": "软件工程",

"academicDegree": "本科"

}

],

"experienceInfo":

[

{

"company": "Moka公司",

"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": "Moka公司",

"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"

}

}'

注:根据具体企业修改相关的字段信息

请求示例(from-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":"Moka公司", "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": "ceshi@ceshi.com","name": "摩小卡","phone":"186xxxxxxxx","employeeId":"1"}' \

-F 'resume=@/path/to/resume/摩小卡.pdf' \

-F 'attachments=@/path/to/attachments/attach1.txt' \

-F 'attachments=@/path/to/attachments/attach2.txt'

 

C 、注意事项

  • Postman里的参数仔细检查
    要区分自定义字段和自定义模块的区别

 

未能解决您的问题?请联系
本篇目录

1.0.0 Moka通用单点登录

1.1.0 业务内容描述

1.2.0 前置信息确认

1.3.0 业务流程图

1.4.0 具体场景实现

2.0.0 组织架构信息同步

2.1.0 业务描述

2.2.0 前置信息确认

2.3.0 业务流程图

2.4.0 具体场景实现

2.4.1 全量同步组织架构

2.4.2 增量同步组织架构

2.4.3 更新组织架构步骤

2.4.4 删除及合并组织架构步骤

3.0.0 用户信息同步

3.1.0 业务内容描述

3.2.0 前置信息确认

3.2.1确认数据的基本字段

3.2.2确认字段关系映射

3.3.0 业务流程图

3.4.0 具体场景实现

3.4.1同步人事信息V1

3.4.2 同步人事信息V2

4.0.0 招聘需求信息同步

4.1.0 业务内容描述

4.2.0 前置信息确认

4.3.0 业务流程图

4.4.0 具体场景实现

4.4.1 招聘信息同步步骤

4.4.2 更新招聘信息步骤

4.4.3 删除招聘需求步骤

5.0.0 职位信息同步

5.1.0 业务内容描述

5.2.0 前置信息确认

5.3.0 业务流程图

5.4.0 具体场景实现

6.0.0 Offer信息同步

6.1.0 业务内容描述

6.2.0 前置信息确认

6.3.0 业务流程图

6.4.0 具体场景实现

6.4.1 创建Offer步骤

6.4.2 更新Offer信息步骤

6.4.3 接收/拒绝Offer信息步骤

7.0.0 入离转正状态信息同步

7.1.0 业务内容描述

7.2.0 前置信息确认

7.3.0  业务流程图

7.4.0 具体场景实现

7.4.1 入职状态同步步骤

7.4.2 转正状态同步步骤

7.4.3 离职状态同步步骤

8.0.0 导入EHR信息同步

8.1.0 业务内容描述

8.2.0 前置信息确认

8.3.0 具体场景实现

8.3.1 导入Ehr信息同步步骤

9.0.0 面试信息同步

9.1.0 业务内容描述

9.2.0 前置信息确认

9.3.0 业务流程图

9.4.0 具体场景实现

9.4.1 面试信息步骤

10.0.0 Moka通用单点登录

10.1.0 业务内容描述

10.2.0 前置信息确认

10.3.0 业务流程图

11.0.0 招聘官网

11.1.0 业务内容描述

11.2.0 前置信息确认

11.3.0 业务流程图

11.4.0 具体场景实现