如何通过API接口将人员信息同步到组织架构里面
更新时间: 2024-12-19 16:20:09
阅读 743
如何通过API接口将人员信息同步到组织架构中
组织架构同步接口
一、组织架构同步
注意事项:
如果部门已经被删除了,被删除了的部门的修改,不要放到 updatedOrgs 发给有数,但可以放到 deletedOrgs 发过来重复删除
部门负责人列表,目前只取第一个负责人,最好第一个元素是部门的主要负责人
如果部门或子部门下还有直属员工,或者部门下还有子部门,均无法删除部门
2023年1月10日 update:
deletedOrgCodes 中的部门,如果传了 forceDeleteOrg ,会递归的删除该部门下的所有部门,并冻结所有人员。
deletedOrgCodes 被删除的部门的应用项目,如果在 updatedOrgs 中有同样的 orgCode,会在添加的时候被恢复
[POST] /api/dash/orgStructure/syncOrg
输入:
{
"companyName": "xxx公司", // 可选字段,如果传了会更改公司名
"updatedOrgs": [{ // 新增或更新的部门
"orgCode": "xxx", // 部门编码,要保证全局唯一
"name": "部门名称",
"parentOrgCode": "上级部门编码", // 可选,如果不传,说明是一级部门
"orgAdminUniqueIds": ["account1", "account2"], // 部门负责人列表,目前只取第一个负责人
"description": "部门描述"
}],
"forceDeleteOrg": true, // 是否强制删除部门
"deletedOrgCodes": ["code1", "code2", "code3"] // 必传,需要删除的部门的编码,可以重复删除,如果不删除可以传一个空数组
}
二、人员和组织的关系同步
使用对外接口文档中的【用户批量导入接口】/api/dash/user/batchImport,在导入用户的过程中,把组织关系也同步过来。新增 userOrgs 字段,表示用户当前直属于哪些部门,以及在这些部门里的角色,因为有数目前只支持一个部门负责人,对于兼职领导,orgRole 先传 normal
{
"uniqueId": "xxx", // 用户账号
"phone": "xxxxx",// 手机号
"returnOrgFailedUsers": true,
//...
// 新增部门关系字段,说明这个用户属于哪些部门,以此为依据更新关系
"userOrgs": [{
"orgCode": "xxx", // 部门编码
"orgRole": "leader" // or "normal"
}]
}
案例:
{
"token": "167817564178376dcd64c0bebedc9b161bb8a",
"users": [{
"uniqueId": "wanglibing6@admin.com",
"userOrgs": [{
"orgCode": "4BnnSF6KcKnY",
"orgRole": "normal"
}]
}],
"returnOrgFailedUsers": true
}
注意:
第一次调用 [(部门A, leader)] ,会把这个用户加入部门A,且作为负责人
第二次调用 [(部门A, normal)],这个用户仍然在A,但不是负责人了
第一次调用 userOrgs 说这个用户在A部门
第二次调用 userOrgs 说这个用户在B,C部门
第三次调用 userOrgs 说这个用户在 E,F,G 部门
最终这个用户在 EFG 部门
11月3号更新
新增 returnOrgFailedUsers 字段,如果有用户的 org 没同步成功,返回报错信息
如果成功,返回 "ok"
文档反馈
以上内容对您是否有帮助?