概要说明
鉴于 Moka OpenApi 接口调用方式统一性,以接口查询数据、事件订阅、待办消息四类集成方式,提供了通用调用方法的样例供参考,且对此方案其他详细场景持续迭代更新。
1 部门管理
1.1 业务描述
用于双方系统组织架构数据保持一致,便于后续多个系统流程统一,解决重复操作,目前支持全量以及增量的组织架构数据同步。
1.2 前置信息确认
1、确认数据唯一键对应逻辑
确认双方数据唯一键映射关系,如:组织 ID、组织编码等,用于更新、停用;
2、确定双方对应字段映射
需要根据 Moka OpenApi 接口返回参数格式及命名与第三方系统的组织架构数据参数做好字段映射关系;
3、技术侧实现
基于以上数据返回逻辑以及映射关系确认后,客户方技术侧调用 Moka OpenApi 接口实现对应组织架构同步;
1.3 具体场景实现
1 全量/批量同步部门
一、场景说明
该场景适用于调用 Moka People 部门全量、批量数据,部门根节点上级部门为空;
二、业务流程图
三、接口调用
A.请求示例
curl --location --request POST 'https://api.mokahr.com/api-platform/hcm/oapi/v1/org/department/batchData?apiCode=35a93d6823dd8dfb49b207df3854be96&entCode=6d671d5bb2fe56bfa24dd2589482e8e3&nonce=iwy4bl1w&timestamp=1654938519251&sign=RDs7aKHpPgoiKkNZ4rpLU7dl2Az9W%2F8JfZJx%2FVb4HyOQPF7ACjrVYeMEcphBuLUv811Z9L6Ct51g6zT59mtE%2B54DZxDvrVsdI8Q8mvNQxBTWEGKvmeRjX9nvAmdPRrLStAuZ%2BVTZHHJpAygBaHslLy5AVCBN7uDdS6%2B8%2Fi0Vt%2F0%3D' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic BASE64(apiKey)' \
--data-raw '{
"nodeUidList":[43243,34534,534543],
"nodeCodeList":[],
"effectDate":"",
"haveUsed":"",
"pageSize": 200,
"pageNum": 1,
}'
2
3
4
5
6
7
8
9
10
11
B.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-2
C.注意事项
1.请求方式:POST
2.请求频率:3 次/秒/企业, 60 次/分钟/企业
2
2 增量推送部门
一、场景说明
按照推送数据逻辑,分别推送新建、编辑以及停用接口实现双方数据同步一致;
二、业务流程图
三、对接概要
1、初次推送部门时,双方系统部门主数据数据必须保持一致,或者使用全量方式初始化;
2、按照创建推送数据 nodeUid,调用批量-组织数据接口获取详情后进行同步;
3、按照修改推送数据 nodeUid,调用批量-组织数据接口获取详情后进行同步;
4、按照停用推送数据 nodeUid,调用批量-组织数据接口获取详情后进行同步;
四、接口调用步骤
推送部门新建、编辑、停用
A.请求信息
地址:回调接口,由第三方提供
方式:GET
请求头:无
请求体:无
2
3
4
B.请求示例
https://第三方公网回调地址?apiCode=9db2672b8fb19d&modifyType=1&nodeUid=2870&sourceType=2&pwd=123&ts=1839287483264
C.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-157
D.注意事项
1.请求方式:GET
2.接收 nodeUid 后需要调用批量-组织数据接口获取组织详情信息
2
2 员工管理
2.1 业务内容描述
用于双方系统人员信息保持一致。
2.2 前置信息确认
1、确认数据的基本字段
员工 ID、工号、手机号、邮箱中用哪一个作为唯一信息映射标识?
2、确认字段关系映射
根据 Moka Api 接口的参数,做接口接收定义属性字段,做好字段关系映射。
2.3 具体场景实现
1 全量/批量同步人员
一、场景说明
该接口支持全量、批量查询且支持多种条件筛选。
二、业务流程图
三、接口调用
人事信息同步
A.请求示例
curl --location --request POST 'https://api.mokahr.com/api-platform/hcm/oapi/v1/batch/data?apiCode=35a93d6823dd8dfb49b207df3854be96&entCode=6d671d5bb2fe56bfa24dd2589482e8e3&nonce=iwy4bl1w&timestamp=1654938519251&sign=RDs7aKHpPgoiKkNZ4rpLU7dl2Az9W%2F8JfZJx%2FVb4HyOQPF7ACjrVYeMEcphBuLUv811Z9L6Ct51g6zT59mtE%2B54DZxDvrVsdI8Q8mvNQxBTWEGKvmeRjX9nvAmdPRrLStAuZ%2BVTZHHJpAygBaHslLy5AVCBN7uDdS6%2B8%2Fi0Vt%2F0%3D' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic BASE64(apiKey)' \
--data-raw '{
"uuidList": [],
"employeeNoList": [],
"telephoneList": [],
"officeEmailList": [
"ceshi@test.com"
],
"startDate": "",
"endDate": "",
"pageSize": 200,
"pageNum": 1
}'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
B.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-21
C.注意事项
1.请求方式:POST
2.请求频率:3 次/秒/企业, 60 次/分钟/企业
2
2 增量推送人员
一、场景说明
PP 系统中人员入职、调动、离职等实时同步到第三方系统,保持数据一致性;
二、业务流程图
三、对接概要
1.初次推送人员时,双方系统人员主数据数据必须保持一致,或者使用全量方式初始化;
2.按照入职推送数据 employeeId,调用员工任职数据接口获取详情后进行同步;
3.按照信息变更推送数据 employeeId,调用员工任职数据接口获取详情后进行同步;
4.按照离职推送数据 employeeId,调用员工任职数据接口获取详情后进行同步;
5.按照转正推送数据 employeeId,调用员工任职数据接口获取详情后进行同步;
四、接口调用
推送人员入职、信息变更、离职、转正等
A.请求信息
地址:回调接口,由第三方提供
方式:GET
请求头:无
请求体:无
2
3
4
B.请求示例
https://第三方公网回调地址?apiCode=9db2672b8fb19d&modifyType=1&employeeId=2870&sourceType=1&pwd=123&ts=1839287483264
C.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-136
D.注意事项
1.请求方式:GET
2.接收 nodeUid 后需要调用批量-组织数据接口获取组织详情信息
2
3 待办&消息
3.1 业务内容描述
通过多个业务信息系统的待办消息任务查询服务,将待办消息信息拉取出来再整合到一起,完成待办信息的集中展示,即待办统一管理中心
3.2 前置信息确认
确认数据的基本字段: 包含:ID,类型,标题,url 等
确认字段关系映射:
根据 Moka Api 事件接口的参数,做接口接收属性定义,做好字段关系映射。
3.3 具体场景实现
1 待办通知
一、场景说明
接收 People 系统中所发出的所有待办数据,其中待办数据中的 url 需要做单点登录处理,才可以支持在第三方系统点击办理时,免登录跳转到 People 指定审批页面
二、业务流程图
三、接口调用
A.请求信息
地址:回调接口,由第三方提供
方式:POST
请求头:无
请求体:RequestBody JSON 格式
2
3
4
B.请求示例
{
"flowTaskInsId": 425434,
"taskType": 1,
"editType": 2,
"taskStatus": 3,
"title": "出差审批",
"content": "我要出差了",
"taskEmployeeId": 4354544,
"createTime": 1839287483264,
"processInitiator": 545645,
"url": "https://www.mokahr.com" // 实现单点登录 请详见 3.3
}
2
3
4
5
6
7
8
9
10
11
12
C.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-182
D.注意事项
1.请求方式:POST
2.接收待办信息全部数据字段后进行发送或保存
2
2 消息通知
四、场景说明
接收 People 系统中所发出的所有消息通知信息发送或转发,注意:包含多种类型
五、业务流程图
六、接口调用
A.请求信息
地址:回调接口,由第三方提供
方式:POST
请求头:无
请求体:RequestBody JSON 格式
2
3
4
B.请求示例
标准消息为(文本)类型:
{
"userId": "userId1,userId2,userId3", //用户
"msgType": "text", //消息类型:文本
"msgId": "12312312787853", //消息 ID
"createTime": "1635769030", //消息创建时间
"elements": {
"title": "title", //消息标题
"content": "文本内容"//消息内容
}
}
标准消息为(图片,音频,视频)类型
{
"userId": "userId1,userId2,userId3", //用户
"msgType": "image", //消息类型:图片
"msgId": "12312312787853", //消息 ID
"createTime": "1635769030", //消息创建时间
"elements": {
"title": "title", //消息标题
"content": "普通文本标签", //图片 ID 或者 URL
"description": "描述信息" //图片或者音频的描述信息
}
}
标准消息为(card)类型
{
"userId": "userId1,userId2,userId3", //用户
"msgType": "card", //消息类型:card
"msgId": "12312312787853", //消息 ID
"createTime": "1635769030", //消息创建时间
"elements": {
"title": "title",
"content": "普通文本标签", //消息内容
"buttonList": [
{
"text": "查看详情 1",
"key": "button_key_1",
"url": "http://*******"
},
{
"text": "查看详情 2",
"key": "button_key_2",
"url": "http://*******"
}
]
}
}
标准消息为(markdown)类型
{
"userId": "userId1,userId2,userId3", //用户
"msgType": "markdown", //消息类型、markdown
"msgId": "12312312787853", //消息 ID
"createTime": "1635769030", //消息创建时间
"elements": {
"title": "title",
"content": "普通文本标签", //具体消息内容
"href": {
"url": "https://www.******.com",
"pcUrl": "https://www.******.com"
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
C.参数说明
详见: https://people.mokahr.com/docs/api/view/v1.html#-179
D.注意事项
1.请求方式:POST
2.接收消息通知全部数据字段后进行发送或保存
2