O2OA 平台 支持与外部系统的人员、组织数据同步。本篇介绍组织人员同步接口的调用方式与报文规范。外部系统可调用平台提供的同步服务,通过报文中的 action 参数区分新增、修改、删除等操作,人员与组织数据均以全量方式提交。文档给出服务地址、请求方式与内容类型,并逐项说明报文字段含义,包括基本信息、属性与所属部门或职务。
O2OA 允许用户自定义接口和代码逻辑,完成与第三方业务系统之间的数据同步,包括人员与组织的同步。本篇主要介绍组织人员同步接口的数据操作规范与报文结构。
本文档适用于组织与用户数据的同步场景。
用户信息包括 3 部分:基本信息、用户属性和所在部门。新增用户(add)或修改用户(update)时,需要列出该用户下的全量属性与所在部门,接口会根据报文中的部门信息对用户身份进行增删改。
组织信息包括 3 部分:基本信息、组织属性和组织职务。新增组织(add)或修改组织(update)时,需要列出该组织下的全量组织属性与组织职务,接口会同时根据报文对组织属性和组织职务进行增删改。
服务地址 | http://{centerserver}:20030/x_program_center/jaxrs/invoke/personSync/execute |
调用方式 | HTTP |
调用方法 | POST |
请求报文 Content-Type | application/json; charset=utf-8 |
响应报文 Content-Type |
本服务对应用户的增删改查操作,通过传请求报文的 action 参数进行对应的操作:
参数 | 执行操作 |
add | 新增用户 |
update | 修改用户 |
updatepwd | 修改密码 |
updateSuperior | 修改用户的汇报对象 |
delete | 删除用户 |
如:删除用户的请求报文为
{ "action": "delete", //删除用户 "flag" : "" //用户标志 }
|
用户信息包括3个部分:基本信息、用户属性和所在部门。新增用户,需列式该用户下的全量属性和所在部门。接口根据报文的用户所在部门对用户的身份进行新增。
请求报文
{ action : “add”, genderType : "m", //性别.男:m,女:f,未知:d signature : "", //个性签名 description :"", // 描述. name: "", //名称,可重名. employee: "", //工号,必填,不可重复. unique: "", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName: "", //识别名,系统自动填充,@P结尾. orderNumber: "", //排序号,升序排列,为空在最后 controllerList: "", //个人管理者.默认为创建者。 superior: "", //汇报对象. mail: "", //邮件地址. weixin: "", //微信号. qq: "",//QQ号. mobile: "", //必填,手机号. officePhone: "", //办公电话. boardDate: "", //入职时间. birthday: "", //生日. age: "", //年龄 dingdingId: "", //钉钉人员ID. dingdingHash: "" //钉钉人员哈希特征. attributeList : [//用户的其他属性,需全量列式 { name : "",//属性名称, value : "",//属性值,允许字符串或者数组 description : "" //属性描述 orderNumber: "" //排序号,升序排列,为空在最后 } ... ], unitList : [//用户所在部门,需全量列式 { flag: "",//组织标志位,可以为组织唯一编码 unique/组织的 distinguishedName/组织 id orderNumber: "",//在组织里的排序号,升序排列,为空在最后 description: "",//描述 duty : "",//用户的职务 position : ""//用户的岗位 } ... ] } |
属性 | 上级 | 类型 | 单值/多值 | 必填 | 说明 | 样例 |
action | string | single | true | 操作 | add | |
genderType | string | single | true | 性别.男:m,女:f,未知:d | m | |
signature | string | single | 个性签名。 | 香港移动 | ||
description | string | single | 描述。 | 香港移动 | ||
name | string | single | true | 名称,可重名。 | 张三 | |
employee | string | single | true | 工号,必填,不可重复。 | P0780 | |
unique | string | single | 唯一标识,不可重复,为空则使用自动填充值 | fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01 | ||
distinguishedName | string | single | 识别名,自动填充,@P 结尾。 | 张三@fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01@P | ||
orderNumber | number | single | 排序号,升序排列,为空在最后 | 1 | ||
controllerarray | array | multi | 个人管理者.默认为创建者。 | 83de86fc-60bc-4b4c-955c-1085915865a4 | ||
superior | string | single | 汇报对象。 可以为汇报对象的 distinguishedName、unique、employee、mobile。如果未找到汇报对象,不设置。 | P0180 | ||
string | single | 邮件地址。 | 1234567@qq.com | |||
weixin | string | single | 微信号。 | |||
string | single | QQ 号。 | 1234567 | |||
mobile | string | single | true | 必填,手机号。 | 13800000000 | |
officePhone | string | single | 办公电话。 | 0571-88888888 | ||
boarddate | date-string | single | 入职时间。 | 2015-02-02 | ||
birthday | date-string | single | 生日。 | 1995-10-12 | ||
age | number | single | 年龄 | 20 | ||
dingdingId | string | single | 钉钉人员 ID. | |||
dingdingHash | string | single | 钉钉人员哈希特征。 | |||
zhengwuDingdingId | string | single | 政务钉钉人员 ID. | 1000833324 | ||
zhengwuDingdingHash | string | single | 政务钉钉人员哈希特征。 | b388708eb84d6ae6328e03526a069ec864416a3b916ce22b8fb8bbfa3d84eb6b | ||
qiyeweixinId | string | single | 企业微信人员 ID. | |||
qiyeweixinHash | string | single | 企业微信人员哈希特征。 | |||
attributeList | array | multi | 其他人员属性列表 | |||
name | attributeList | string | single | 属性名称 | 级别 | |
description | attributeList | string | single | 属性描述 | 级别描述 | |
value | attributeList | string/array | multi | 属性值 | 1 / [ "1" ] | |
orderNumber | attributeList | string | single | 排序号,升序排列,为空在最后 | 18315158 | |
unitList | array | multi | 所在组织列表 | |||
flag | unitList | string | single | 组织标志位,可以为组织唯一编码 unique/组织的 distinguishedName/组织 id | "companyLeader/";公司管理层@9b45cb75-52f8-4e73-8470-4cdc78230b7d@U", | |
orderNumber | unitList | string | single | 用户在组织里的排序号升序排列,为空在最后 | 123 | |
description | unitList | string | single | 描述 | 公司管理层 | |
duty | unitList | string | single | 用户在该组织的职务 | 正职领导 | |
position | unitList | string | single | 用户在该组织的岗位 | 管理岗 |
响应报文
{ "data": { "value": { "id" : "", //如果成功,用户64位id "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
用户信息包括3个部分:基本信息、用户属性和所在部门。修改用户,需列式该用户下的全量属性和所在部门。接口根据报文的用户所在部门对用户的身份进行增删改。
请求报文
{ action : “update”, genderType : "m", //性别.男:m,女:f,未知:d signature : "", //个性签名 description :"", // 描述. name: "", //名称,可重名. employee: "", //工号,必填,不可重复. unique: "", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName: "", //识别名,系统自动填充,@P结尾. orderNumber: "", //排序号,升序排列,为空在最后 controllerList: "", //个人管理者.默认为创建者。 superior: "", //汇报对象. mail: "", //邮件地址. weixin: "", //微信号. qq: "",//QQ号. mobile: "", //必填,手机号. officePhone: "", //办公电话. boardDate: "", //入职时间. birthday: "", //生日. age: "", //年龄 dingdingId: "", //钉钉人员ID. dingdingHash: "" //钉钉人员哈希特征. attributeList : [//用户的其他属性 { name : "",//属性名称, value : "",//属性值,允许字符串或者数组 description : "" //属性描述 orderNumber: "" //排序号,升序排列,为空在最后 } ... ], unitList : [//用户所在部门 { flag: "",//组织唯一编码 unique/组织的 distinguishedName/组织 id orderNumber: "",//在组织里的排序号,升序排列,为空在最后 description: "",//描述 duty : "",//用户在该组织的职务 position : ""//用户在该组织的岗位 } ... ] }
|
属性 | 上级 | 类型 | 单值/多值 | 必填 | 说明 | 样例 |
action | string | single | true | 操作 | update | |
genderType | string | single | true | 性别.男:m,女:f,未知:d | m | |
signature | string | single | 个性签名。 | 香港移动 | ||
description | string | single | 描述。 | 香港移动 | ||
name | string | single | true | 名称,可重名。 | 张三 | |
employee | string | single | true | 工号,必填,不可重复。 | P0780 | |
unique | string | single | 唯一标识,不可重复,为空则使用自动填充值 | fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01 | ||
distinguishedName | string | single | 识别名,自动填充,@P 结尾。 | 张三@fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01@P | ||
orderNumber | number | single | 排序号,升序排列,为空在最后 | 1 | ||
controllerarray | array | multi | 个人管理者.默认为创建者。 | 83de86fc-60bc-4b4c-955c-1085915865a4 | ||
superior | string | single | 汇报对象。 可以为汇报对象的 distinguishedName、unique、employee、mobile。如果未找到汇报对象,不设置。 | P0180 | ||
string | single | 邮件地址。 | 1234567@qq.com | |||
weixin | string | single | 微信号。 | |||
string | single | QQ 号。 | 1234567 | |||
mobile | string | single | true | 必填,手机号。 | 13800000000 | |
officePhone | string | single | 办公电话。 | 0571-88888888 | ||
boarddate | date-string | single | 入职时间。 | 2015-02-02 | ||
birthday | date-string | single | 生日。 | 1995-10-12 | ||
age | number | single | 年龄 | 20 | ||
dingdingId | string | single | 钉钉人员 ID. | |||
dingdingHash | string | single | 钉钉人员哈希特征。 | |||
zhengwuDingdingId | string | single | 政务钉钉人员 ID. | |||
zhengwuDingdingHash | string | single | 政务钉钉人员哈希特征。 | |||
qiyeweixinId | string | single | 企业微信人员 ID. | |||
qiyeweixinHash | string | single | 企业微信人员哈希特征。 | |||
attributeList | array | multi | 其他人员属性列表 | |||
name | attributeList | string | single | 属性名称 | 级别 | |
description | attributeList | string | single | 属性描述 | 级别描述 | |
value | attributeList | string/array | multi | 属性值 | 1 / [ "1" ] | |
orderNumber | attributeList | string | single | 排序号,升序排列,为空在最后 | 18315158 | |
unitList | array | multi | 所在组织列表 | |||
flag | unitList | string | single | 组织标志位,可以为组织唯一编码 unique/组织的 distinguishedName/组织 id | "companyLeader/";公司管理层@9b45cb75-52f8-4e73-8470-4cdc78230b7d@U" | |
orderNumber | unitList | string | single | 用户在组织里的排序号升序排列,为空在最后 | 123 | |
description | unitList | string | single | 描述 | 公司管理层 | |
duty | unitList | string | single | 用户在该组织的职务 | 正职领导 | |
position | unitList | string | single | 用户在该组织的岗位 | 管理岗 |
响应报文
{ "data": { "value": { "id" : "", //如果成功,用户64位id "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
请求报文
{ action : "updatepwd", flag: "", //用户标志位 password: "" //新密码 }
|
说明:flag用来查找用户
可以为distinguishedName : "", //识别名,,@P结尾.
unique : "", //唯一标识,
employee: "", //工号,.
mobile: "", //,手机号.
Id : ""//个人数据库主键
响应报文
{ "data": { "value": { "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
请求报文
{ action : "updateSuperior", flag: "", //用户标志位 superior: "" //用户汇报对象 }
|
说明:flag用来查找用户
可以为distinguishedName : "", //识别名,,@P结尾.
unique : "", //唯一标识,
employee: "", //工号,.
mobile: "", //,手机号.
Id : ""//个人数据库主键
响应报文
{ "data": { "value": { "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
请求报文
{ action : "delete", flag: "", //用户标志位 }
|
说明:flag 用来查找用户
可以为distinguishedName : "", //识别名,,@P结尾.
unique : "", //唯一标识,
employee: "", //工号,.
mobile: "", //,手机号.
Id : ""//个人数据库主键
响应报文
{ "data": { "value": { "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
服务地址 | http://ahpp.zoneland.net:20030/x_program_center/jaxrs/invoke/unitAsync/execute |
调用方式 | HTTP |
调用方法 | POST |
请求报文 Content-Type | application/json; charset=utf-8 |
响应报文 Content-Type | application/json; charset=utf-8 |
本服务对应组织的增删改查操作,通过传请求报文的 action 参数进行对应的操作:
参数 | 执行操作 |
add | 新增组织 |
update | 修改组织 |
delete | 删除组织 |
如:删除组织的请求报文可以为
{ "action": "delete", //删除组织 "flag" : "" //组织标志 }
|
请求报文
{ "action":"add", "name":"", //名称,可以重名. "unique":"",//唯一标识,不可重复,为空则使用自动填充值 "distinguishedName":"", //识别名.以@U 结尾. "typeList":"", //组织类型. "description":"", //描述. "shortName":"", //组织简称。 "superior":"", //上级组织. "orderNumber":"", //排序号,升序排列,为空在最后 "controllerList":"", //组织的管理人员. "dingdingId":"", //钉钉部门 ID. "dingdingHash":"", //钉钉部门哈希特征. "qiyeweixinId":"", //企业微信人员 ID. "zhengwuDingdingId":"", //政务钉钉人员 ID. "zhengwuDingdingHash":"", //政务钉钉人员哈希特征. "qiyeweixinHash":"", //企业微信人员哈希特征. "attributeList" : [ //组织属性 { description:"", //描述. name:"", //名称,不可重名. unique:"", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName:"", //识别名,自动填充,@UA 结尾. orderNumber:"", //排序号,升序排列,为空在最后 value:"", //属性值,多值. } ... ], "dutyList" : [ //组织职务 { description:"", //描述. name:"", //名称,同一组织下不可重名. unique:"", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName:"", //识别名,自动填充,@UD 结尾. orderNumber:"", //排序号,升序排列,为空在最后 value:"", //组织职务身份成员,多值. } ... ] } |
属性 | 上级 | 类型 | 单值/多值 | 说明 | 样例 |
action | string | single | add | ||
name | string | single | 名称,可以重名。 | 技术支持 | |
unique | string | single | 唯一标识,不可重复,为空则使用自动填充值 | 1000263571 | |
distinguishedName | string | single | 识别名。如未填写系统会自动填充,以 @U 结尾。 | 技术支持@1000263571@U | |
typeList | array | multi | 组织类型。 | [ ";部门" ] | |
description | string | single | 描述。 | ||
shortName | string | single | 组织简称。 | ||
levelName | string | single | 显示的层级名。 | 安徽联通/技术支持 | |
superior | string | single | 上级组织标志位,可以为组织唯一编码 unique/组织的 distinguishedName/组织 id | "companyLeader/";公司管理层@9b45cb75-52f8-4e73-8470-4cdc78230b7d@U"/9d14f85a-27ba-4e02-b4ef-4ebfcf3f19c0 | |
orderNumber | number | single | 排序号,升序排列,为空在最后 | 20 | |
controllerList | array | multi | 组织的管理人员的.distinguishedName、unique、employee 或 mobile | ["138000000"] | |
dingdingId | string | single | 钉钉部门 ID. | ||
dingdingHash | string | single | 钉钉部门哈希特征。 | ||
qiyeweixinId | string | single | 企业微信人员 ID. | ||
zhengwuDingdingId | string | single | 政务钉钉人员 ID. | 1000263571 | |
zhengwuDingdingHash | string | single | 政务钉钉人员哈希特征。 | 8ecfc82b45c5d33be7f84599b265e4fffb56108c0f8f85bde7856e01521a7d0b | |
qiyeweixinHash | string | single | 企业微信人员哈希特征。 | ||
attributeList | array | single | 组织属性列表 | ||
name | attributeList | string | multi | 名称,不可重名。 | 组织属性 |
description | attributeList | string | single | 描述。 | |
distinguishedName | attributeList | string | single | 识别名,自动填充,@UA 结尾。 | 组织属性@e762a4df-44ce-418c-bb20-899558b49622@UA |
unique | attributeList | string | single | 唯一标识,不可重复,为空则使用自动填充值 | e762a4df-44ce-418c-bb20-899558b49622 |
value | attributeList | string/array | multi | 属性值,多值。 | [";组织属性值"] |
orderNumber | attributeList | string | single | 排序号,升序排列,为空在最后 | 112345 |
dutyList | array | multi | 组织职务 | ||
name | dutyList | string | single | 名称,同一组织下不可重名。 | 部门领导 |
description | dutyList | string | single | 描述。 | |
unique | dutyList | string | single | 唯一标识,不可重复,为空则使用自动填充值 | 7a1b7021-8812-4d18-9447-6b27ce7454ed |
distinguishedName | dutyList | string | single | 识别名,自动填充,@UD 结尾。 | 部门领导@7a1b7021-8812-4d18-9447-6b27ce7454ed@UD |
orderNumber | dutyList | string | single | 排序号,升序排列,为空在最后 | 排序号,升序排列,为空在最后 |
value | dutyList | aray | multi | 组织职务身份成员,多值。 可以是人员的.distinguishedName、unique、employee 或 mobile | [";张三@fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01@P","P0780","13800000000","fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01"] |
响应报文
{ "data": { "value": { "id" : "", //如果成功,组织64位id "distinguishedName: "", //如果成功,组织识别名 "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
请求报文
{ "action":" update", "name":"", //名称,可以重名. "unique":"",//唯一标识,不可重复,为空则使用自动填充值 "distinguishedName":"", //识别名.以@U 结尾. "typeList":"", //组织类型. "description":"", //描述. "shortName":"", //组织简称。 "superior":"", //上级组织. "orderNumber":"", //排序号,升序排列,为空在最后 "controllerList":"", //组织的管理人员. "dingdingId":"", //钉钉部门 ID. "dingdingHash":"", //钉钉部门哈希特征. "qiyeweixinId":"", //企业微信人员 ID. "zhengwuDingdingId":"", //政务钉钉人员 ID. "zhengwuDingdingHash":"", //政务钉钉人员哈希特征. "qiyeweixinHash":"", //企业微信人员哈希特征. "attributeList" : [ //组织属性 { description:"", //描述. name:"", //名称,不可重名. unique:"", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName:"", //识别名,自动填充,@UA 结尾. orderNumber:"", //排序号,升序排列,为空在最后 attributeList:"", //属性值,多值. } ... ], "dutyList" : [ //组织职务 { description:"", //描述. name:"", //名称,同一组织下不可重名. unique:"", //唯一标识,不可重复,为空则使用自动填充值 distinguishedName:"", //识别名,自动填充,@UD 结尾. orderNumber:"", //排序号,升序排列,为空在最后 identityList:"", //组织职务身份成员,多值. } ... ] } |
属性 | 上级 | 类型 | 单值/多值 | 说明 | 样例 |
action | string | single | update | ||
name | string | single | 名称,可以重名。 | 技术支持 | |
unique | string | single | 唯一标识,不可重复,为空则使用自动填充值 | 1000263571 | |
distinguishedName | string | single | 识别名.如果未空系统自动填充.以@U 结尾。 | 技术支持@1000263571@U | |
typeList | array | multi | 组织类型。 | [ ";部门" ] | |
description | string | single | 描述。 | ||
shortName | string | single | 组织简称。 | ||
levelName | string | single | 显示的层级名。 | 安徽联通/技术支持 | |
superior | string | single | 上级组织标志位,可以为组织唯一编码 unique/组织的 distinguishedName/组织 id | "companyLeader/";公司管理层@9b45cb75-52f8-4e73-8470-4cdc78230b7d@U"/9d14f85a-27ba-4e02-b4ef-4ebfcf3f19c0 | |
orderNumber | number | single | 排序号,升序排列,为空在最后 | 20 | |
controllerList | array | multi | 组织的管理人员的.distinguishedName、unique、employee 或 mobile | ["138000000"] | |
dingdingId | string | single | 钉钉部门 ID. | ||
dingdingHash | string | single | 钉钉部门哈希特征。 | ||
qiyeweixinId | string | single | 企业微信人员 ID. | ||
zhengwuDingdingId | string | single | 政务钉钉人员 ID. | 1000263571 | |
zhengwuDingdingHash | string | single | 政务钉钉人员哈希特征。 | 8ecfc82b45c5d33be7f84599b265e4fffb56108c0f8f85bde7856e01521a7d0b | |
qiyeweixinHash | string | single | 企业微信人员哈希特征。 | ||
attributeList | array | single | 组织属性列表 | ||
name | attributeList | string | multi | 名称,不可重名。 | 组织属性 |
description | attributeList | string | single | 描述。 | |
distinguishedName | attributeList | string | single | 识别名,自动填充,@UA 结尾。 | 组织属性@e762a4df-44ce-418c-bb20-899558b49622@UA |
unique | attributeList | string | single | 唯一标识,不可重复,为空则使用自动填充值 | e762a4df-44ce-418c-bb20-899558b49622 |
value | attributeList | string/array | multi | 属性值,多值。 | [";组织属性值"] |
orderNumber | attributeList | string | single | 排序号,升序排列,为空在最后 | 112345 |
dutyList | array | multi | 组织职务 | ||
name | dutyList | string | single | 名称,同一组织下不可重名。 | 部门领导 |
description | dutyList | string | single | 描述。 | |
unique | dutyList | string | single | 唯一标识,不可重复,为空则使用自动填充值 | 7a1b7021-8812-4d18-9447-6b27ce7454ed |
distinguishedName | dutyList | string | single | 识别名,自动填充,@UD 结尾。 | 部门领导@7a1b7021-8812-4d18-9447-6b27ce7454ed@UD |
orderNumber | dutyList | string | single | 排序号,升序排列,为空在最后 | 排序号,升序排列,为空在最后 |
value | dutyList | aray | multi | 组织职务身份成员,多值。 可以是人员的.distinguishedName、unique、employee 或 mobile | [";张三@fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01@P","P0780","13800000000","fb3ea7de-d54f-4679-8e9a-35cb1e6b3d01"] |
响应报文
{ "data": { "value": { "id" : "", //如果成功,组织64位id "distinguishedName: "", //如果成功,组织识别名 "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
请求报文
{ action : "delete", distinguishedName : "", //识别名,@P结尾. unique : "", //唯一标识 }
|
说明:distinguishedName、unique 用来查找组织,其中一项不为空即可
响应报文
{ "data": { "value": { "result" : "", //响应成功为 success, 失败为error "description": ""//响应结果描述 } } }
|
相关问题讨论
相关内容
上一篇:组织人员同步-自定义同步接口代码