这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

V8同步至三方系统

集成模式

1 - COP提供增量查询OpenAPI(推荐)

COP提供增量查询OpenAPI,由三方异构系统定时调用OpenAPI,完成组织同步模式。

1、概述

COP提供增量查询OpenAPI,由三方异构系统定时调用OpenAPI,完成组织同步模式。

2、优缺点

a. 优点

  • COP集成压力小;

b. 缺点

  • 三方系统需要有一定的研发能力,按照COP平台接口要求完成接口调用和字段映射;
  • 数据时效性差,依赖定时拉取时间间隔。

3、集成配置步骤

序号 步骤名称 责任方 使用场景
1 提供组织增量查询接口规范和文档 致远 必须,包含接口定义、签名规则、字段来源等信息
2 API启用 致远 必须,只有启用的API才可以正常进行授权访问
3 新建接入应用 致远 必须,负责分配AppKey和APPSecret、配置访问授权、访问白名单等配置页
4 启用接入应用 致远 必须,未启用的接入应用,访问时会提示接入应用未启用
5 分配APPKey和APPSecret 致远 必须,接口签名核心字段
6 API授权 致远 必须,只有添加权限的额API接口才可以正常访问
7 导出接口文档 致远 非必须,导出所有已经启用的API手册
8 配置访问限流 致远 非必须,根据服务器资源性能,可以配置指定时间段内调用上线
9 配置访问白名单 致远 非必须,开启后,访问白名单之后的API请求将会被拦截
10 调用测试 三方系统 必须,根据平台提供的接口文档和必须字段,使用postmen等工具直接调用,验证网络连通性和信息准确性

4、接口目录

API分类 API名称 接口描述
组织信息查询/维护 根据条件分页查询组织详情 组织(机构+部门)
组织信息同步(基于编码) 根据组织编码查询组织详情 组织详情(机构+部门)
岗位信息查询/维护 根据条件分页查询岗位 岗位
职务信息查询/维护 根据条件分页查询职务 职务
职级信息查询/维护 根据条件分页查询职级 职级
人员信息查询/维护 根据条件查询人员信息 人员详情
人员及任职信息同步(基于编码) 分页查询组织下人员 人员&任职

4.1、接口文档在线查看位置

1720490441002

4.2、接口签名

4.2.1、请求头(Header)

参数名称 是否必填 参数说明
app-key true 应用的唯一标识,创建接入应用后生成,可在应用基础信息页面获得。
示例:d43b0b442cf34076a2c4af6bb8928afb
sign-type true 固定值:MD5
sign true 签名,字符串“AppSecret+请求体的JSON字符串+AppSecret”的MD5值(MD5值忽略大小写)
AppSecret,为应用的秘钥,创建接入应用后生成,可在应用基础信息页面获得。
示例:154fa5bc7e294deda68a15559b07c845请求体的JSON字符串,
需要将请求体中的请求参数转换为JSON字符串。
Accept-Language false 语种:用以设置开放平台OpenAPI运行时上下文的语种参数。
枚举项可选值列表:zh-CN(简体中文),
zh-TW(繁体中文),
en(英文),
其他枚举项请参照平台语种列表。

4.2.2、签名示例(sign)

String secret = "154fa5bc7e294deda68a15559b07c845";
String body = "{"name": "张三", "age": 35, "company": {"name": "致远", "address": "北京"}";
String sign = Md5(secret + body + secret); // 结果是 01a8795a7fe6dda23aaec40de3d301b7;

5、接口清单

5.1、根据条件分页查询组织详情

请求地址

【接口请求地址前缀】/organization/base/unit/selectPageByConditions

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
pageInfo TRUE PageInfo 分页
pageNumber pageInfo TRUE int32 当前页数
pageSize pageInfo TRUE int32 每页记录数
pages pageInfo TRUE int32 总页数
total pageInfo TRUE int32 总记录数
needTotal pageInfo TRUE boolean 是否需要查询总记录数
params TRUE map 条件
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:ASC(ASC),DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime

请求参数示例

{
  "requestId": 1693208244841,
  "pageInfo": {
    "total": 0,
    "needTotal": "true",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
  "params": { "institutionId": -8572075675821718340},
  "timestamp": 1705902274910
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data PageData 组织信息详情分页列表
pageInfo data PageInfo 分页参数对象
pageNumber pageInfo int32 当前页数
pageSize pageInfo int32 每页记录数
pages pageInfo int32 总页数
total pageInfo int32 总记录数
needTotal pageInfo boolean 是否需要查询总记录数
content data array[OrgUnitDto] 数据集对象
id content int64 组织ID,新建时不必填,修改时必填
institutionId content int64 组织所属机构id。
如果是部门,就是所属机构id;
如果是机构,就是自己id(不作为入参保存)
name content string 组织名称
mnemonic content string 助记符
fullName content string 组织的全路径名称
shortName content string 组织简称
logo content string 图标
code content string 组织编号
type content enum 组织类型。
枚举项可选值列表:
NONE(空),
INSTITUTION(机构),
DEPARTMENT(部门),
OUTSIDE_INSTITUTION(外部(编外)单位),
OUTSIDE_DEPARTMENT(外部(编外)部门),
typeName content string 组织类型名称
parentId content int64 上级组织id
parentName content string 上级组织名称
parentCode content string 上级组织编号
parentUnit content OrgUnitDto 上级组织
firstLevelDepartment content OrgUnitDto 一级部门
parentUnitIdCode content string 上级组织ID(参照使用)(编号)
firstLevelDepartmentIdCode content string 一级部门ID(参照使用)(编号)
effectiveTime content date 生效日期,毫秒时间戳
invalidTime content date 失效日期,毫秒时间戳
path content string 全路径
orgLevel content int32 机构层级
sortId content int32 排序号
isEnable content boolean 状态
description content string 备注
authUserIds content string 授权用户ID集合,
只保存有效人员的id,过滤掉不符合的id
authUserNames content string 授权用户名称集合
businessId content int64 多维组织
orgUnitMetadataDto content OrgUnitMetadataDto 扩展字段
orgId orgUnitMetadataDto int64 组织id
createTime orgUnitMetadataDto date 创建时间,毫秒时间戳
updateTime orgUnitMetadataDto date 更新时间,毫秒时间戳
id orgUnitMetadataDto int64 字段ID
businessId orgUnitMetadataDto int64 业务组织id
createTime content date 创建时间
updateTime content date 更新时间
address content string 地址
officeNumber content string 电话
tax content string 税号
bankAccount content string 银行账号
bank content string 开户银行
isLegalEntity content boolean 是否法人实体
socialCreditCode content string 统一社会信用代码
legalPersonName content string 法定代表人姓名
legalCertificateNumber content string 法定代表人身份证号码
legalPhoneNumber content string 法定代表人手机号号码
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "pageInfo": {
            "pageNumber": 1,
            "pageSize": 20,
            "pages": 1,
            "total": 1,
            "needTotal": true
        },
        "content": [
            {
                "validate": true,
                "id": "-8572075675821718340",
                "institutionId": "-8572075675821718340",
                "name": "集成演示",
                "mnemonic": "jichengyanshi",
                "fullName": null,
                "shortName": "集成演示",
                "logo": null,
                "code": "aa202401190001",
                "type": "INSTITUTION",
                "typeName": null,
                "parentId": "-1730833917365171641",
                "parentName": null,
                "parentCode": "group",
                "parentUnit": null,
                "firstLevelDepartment": null,
                "parentUnitId": null,
                "firstLevelDepartmentId": null,
                "effectiveTime": 1705593600000,
                "invalidTime": 253402271999000,
                "path": "-1730833917365171641.-8572075675821718340",
                "orgLevel": 2,
                "sortId": 50500,
                "isEnable": true,
                "description": null,
                "authUserIds": null,
                "authUserNames": null,
                "businessId": "-5038278851089511626",
                "orgUnitMetadataDto": {
                    "validate": true,
                    "orgId": "-8572075675821718340",
                    "createTime": 1705658364820,
                    "updateTime": 1705658364820,
                    "id": "-468981164249889576",
                    "businessId": "-5038278851089511626"
                },
                "createTime": 1705658364723,
                "updateTime": 1705658364723,
                "address": null,
                "officeNumber": null,
                "tax": null,
                "bankAccount": null,
                "bank": null,
                "isLegalEntity": false,
                "socialCreditCode": null,
                "legalPersonName": null,
                "legalCertificateNumber": null,
                "legalPhoneNumber": null,
                "upperName1": "集成演示",
                "upperName2": "集成演示",
                "upperName3": "集成演示",
                "upperName4": "集成演示",
                "upperName5": "集成演示",
                "upperName6": "集成演示",
                "upperName7": "集成演示"
            }
        ]
    }
}

5.2、根据组织编码查询组织详情

请求地址

【接口请求地址前缀】/organization/unit/code

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
data TRUE SearchUnitConditionApiDto 请求参数数据
codes data TRUE array[string] 组织编码
includeDisable data TRUE boolean 是否包含失效组织,默认不包含
effectiveTime data TRUE string 查询某个时间点时生效的组织,缺省为系统当前时间,
includeDisable为true的时候该字段不生效

请求参数示例

{
  "data": {
    "codes": [
      "aa202401190001"
    ],
    "effectiveTime": "2021-12-30",
    "includeDisable": "true"
  },
  "requestId":1705902274910,
  "notifyUrl": "",
  "timestamp":1705902274910
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data ListData 组织详情
content data array[OrgUnitDataDto] 数据集对象
name content string 组织名称
shortName content string 组织简称
code content string 组织编号
type content enum 组织类型。
枚举项可选值列表:
NONE(空),
INSTITUTION(机构),
DEPARTMENT(部门),
OUTSIDE_INSTITUTION(外部(编外)单位),
OUTSIDE_DEPARTMENT(外部(编外)部门),
parentCode content string 父组织Code,根节点不填
effectiveTime content string 生效日期
invalidTime content string 失效日期
sortId content int32 排序号
isEnable content boolean 状态
description content string 备注
metadataList content array[OrgMetadataValueDataDto] 自定义扩展属性数据
k metadataList string 扩展字段的名称
v metadataList string 扩展字段的的值
address content string 地址
officeNumber content string 电话
tax content string 税号
bankAccount content string 银行账号
bank content string 开户银行
isLegalEntity content boolean 是否法人实体
socialCreditCode content string 统一社会信用代码
legalPersonName content string 法定代表人姓名
legalCertificateNumber content string 法定代表人身份证号码
legalPhoneNumber content string 法定代表人手机号号码
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "content": [
            {
                "validate": true,
                "name": "集成演示",
                "shortName": "集成演示",
                "code": "aa202401190001",
                "type": "INSTITUTION",
                "parentCode": "group",
                "effectiveTime": "2024-01-19",
                "invalidTime": "9999-12-31",
                "sortId": 50500,
                "isEnable": true,
                "description": null,
                "businessId": "-5038278851089511626",
                "metadataList": [],
                "address": null,
                "officeNumber": null,
                "tax": null,
                "bankAccount": null,
                "bank": null,
                "isLegalEntity": false,
                "socialCreditCode": null,
                "legalPersonName": null,
                "legalCertificateNumber": null,
                "legalPhoneNumber": null,
                "createTime": 1705658364723,
                "updateTime": 1705658364723
            }
        ]
    }
}

5.3、根据条件分页查询岗位

请求地址

【接口请求地址前缀】/organization/base/post/selectPageByConditions

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
pageInfo TRUE PageInfo 分页
pageNumber pageInfo TRUE int32 当前页数
pageSize pageInfo TRUE int32 每页记录数
pages pageInfo TRUE int32 总页数
total pageInfo TRUE int32 总记录数
needTotal pageInfo TRUE boolean 是否需要查询总记录数
params TRUE map 条件
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:ASC(ASC),DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime

请求参数示例

{
  "requestId": 1705902275548,
  "pageInfo": {
    "total": 0,
    "needTotal": "false",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
  "params": {"isEnable":"true"},
  "timestamp": 1705902275548
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data PageData 岗位详情分页列表
pageInfo data PageInfo 分页参数对象
pageNumber pageInfo int32 当前页数
pageSize pageInfo int32 每页记录数
pages pageInfo int32 总页数
total pageInfo int32 总记录数
needTotal pageInfo boolean 是否需要查询总记录数
content data array[OrgPostDto] 数据集对象
id content int64 岗位ID
name content string 岗位名称
code content string 编号
type content int64 岗位分类的枚举id值
typeName content string 岗位分类的枚举名称
orgId content int64 所属组织
orgName content string 所属组织对应名称
category content enum 岗位分类。
枚举项可选值列表:
NONE(空),
BENCH_MARK(基准岗),
SELF_BUILT(自用岗),
masterOrgId content int64 来源组织id
masterOrgName content string 来源名称
masterPostId content int64 来源岗位id
masterName content string 基准岗名称
issuedRule content enum 使用范围。
枚举项可选值列表:
NONE(没有范围),
INSTITUTION(本机构),
INSTITUTIONS(本机构及下级机构),
ONLY_CHILDREN(仅下级机构),
SPECIFY_INSTITUTION(指定机构),
SPECIFY_INSTITUTIONS(指定机构及下级机构),
businessId content int64 所属业务线id
sortId content int32 排序号
isEnable content boolean 启用状态
description content string 备注
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "pageInfo": {
            "pageNumber": 1,
            "pageSize": 20,
            "pages": 0,
            "total": 0,
            "needTotal": false
        },
        "content": [
            {
                "validate": true,
                "id": "-5045874864559469310",
                "name": "岗位1",
                "code": "P202110280001",
                "type": "-4620025823759349735",
                "typeName": null,
                "orgId": "-1730833917365171641",
                "orgName": "致远互联",
                "category": "SELF_BUILT",
                "masterOrgId": "-1",
                "masterOrgName": "",
                "masterPostId": "-1",
                "masterName": "",
                "issuedRule": "NONE",
                "businessId": "158912402929426432",
                "sortId": 60,
                "isEnable": true,
                "description": "",
                "createTime": 1635385247000,
                "updateTime": 1635385247000
            },
            {
                "validate": true,
                "id": "7568497936381004239",
                "name": "dx岗位",
                "code": "xwAMtn29yK",
                "type": "6541964214010466245",
                "typeName": "技术类",
                "orgId": "-2740929138088457741",
                "orgName": "dx的机构1",
                "category": "BENCH_MARK",
                "masterOrgId": "-1730833917365171641",
                "masterOrgName": "",
                "masterPostId": "2693847020086313280",
                "masterName": "",
                "issuedRule": "NONE",
                "businessId": "158912402929426432",
                "sortId": 70,
                "isEnable": true,
                "description": "",
                "createTime": 1635386908000,
                "updateTime": 1703161499014
            }
        ]
    }
}

5.4、根据条件分页查询职务

请求地址

【接口请求地址前缀】/organization/base/job/selectPageByConditions

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
pageInfo TRUE PageInfo 分页
pageNumber pageInfo TRUE int32 当前页数
pageSize pageInfo TRUE int32 每页记录数
pages pageInfo TRUE int32 总页数
total pageInfo TRUE int32 总记录数
needTotal pageInfo TRUE boolean 是否需要查询总记录数
params TRUE map 条件
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:ASC(ASC),DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime

请求参数示例

{
  "requestId": "-3185185534174541324",
  "pageInfo": {
    "total": 0,
    "needTotal": "false",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
   "params": {"isEnable":"true"},
  "timestamp": {{timestamp}}
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data PageData 职务详情分页列表
pageInfo data PageInfo 分页参数对象
pageNumber pageInfo int32 当前页数
pageSize pageInfo int32 每页记录数
pages pageInfo int32 总页数
total pageInfo int32 总记录数
needTotal pageInfo boolean 是否需要查询总记录数
content data array[OrgJobDto] 数据集对象
id content int64 职务主表id
name content string 职务名称
code content string 编号
orgId content int64 组织id
businessId content int64 所属业务线id
category content enum 职务类型。枚举项可选值列表:
NONE(空),
BENCH_MARK(基准岗),
SELF_BUILT(自用岗),
masterOrgId content int64 来源组织id
masterOrgName content string 来源名称
masterJobId content int64 来源职务id
masterName content string 基准职务名称
issuedRule content enum 使用范围。枚举项可选值列表:
NONE(没有范围),
INSTITUTION(本机构),
INSTITUTIONS(本机构及下级机构),
ONLY_CHILDREN(仅下级机构),
SPECIFY_INSTITUTION(指定机构),
SPECIFY_INSTITUTIONS(指定机构及下级机构),
orgName content string 组织id对应的名称(不作为入参保存)
sortId content int32 排序号
isEnable content boolean 启用状态
description content string 备注
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "pageInfo": {
            "pageNumber": 1,
            "pageSize": 20,
            "pages": 0,
            "total": 0,
            "needTotal": false
        },
        "content": [
            {
                "validate": true,
                "id": "-1834341499691513847",
                "name": "PFJOB_1635933769253",
                "code": "PFJOB_1635933769253",
                "orgId": "-791902958315615749",
                "businessId": "158912402929426432",
                "category": "SELF_BUILT",
                "masterOrgId": "-1",
                "masterOrgName": "",
                "masterJobId": "-1",
                "masterName": "",
                "issuedRule": "NONE",
                "orgName": "",
                "sortId": 1,
                "isEnable": true,
                "description": "联系地址:北坞村路静芯园",
                "createTime": 1635933764000,
                "updateTime": 1635933770000
            },
            {
                "validate": true,
                "id": "-5262676242410946209",
                "name": "PFJOB_1635933767443",
                "code": "PFJOB_1635933767443",
                "orgId": "-8474839543092329115",
                "businessId": "158912402929426432",
                "category": "SELF_BUILT",
                "masterOrgId": "-1",
                "masterOrgName": "",
                "masterJobId": "-1",
                "masterName": "",
                "issuedRule": "NONE",
                "orgName": "",
                "sortId": 1,
                "isEnable": true,
                "description": "联系地址:北坞村路静芯园",
                "createTime": 1635933767000,
                "updateTime": 1635933767000
            }
        ]
    }
}

5.5、根据条件分页查询职级

请求地址

【接口请求地址前缀】/organization/base/level/selectPageByConditions

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
pageInfo TRUE PageInfo 分页
pageNumber pageInfo TRUE int32 当前页数
pageSize pageInfo TRUE int32 每页记录数
pages pageInfo TRUE int32 总页数
total pageInfo TRUE int32 总记录数
needTotal pageInfo TRUE boolean 是否需要查询总记录数
params TRUE map 条件
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:
ASC(ASC),
DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime

请求参数示例

{
  "requestId": "6230484731964183507",
  "pageInfo": {
    "total": 0,
    "needTotal": "false",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
  "params": {"isEnable":"true"},
  "timestamp":1705902275451
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data PageData 职级详情分页列表
pageInfo data PageInfo 分页参数对象
pageNumber pageInfo int32 当前页数
pageSize pageInfo int32 每页记录数
pages pageInfo int32 总页数
total pageInfo int32 总记录数
needTotal pageInfo boolean 是否需要查询总记录数
content data array[OrgLevelDto] 数据集对象
id content int64 职级ID
name content string 职级名称
code content string 编号
businessId content int64 所属业务线id
orgId content int64 组织id
levelSort content int32 序号
isEnable content boolean 启用状态
description content string 备注
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "pageInfo": {
            "pageNumber": 1,
            "pageSize": 20,
            "pages": 0,
            "total": 0,
            "needTotal": false
        },
        "content": [
            {
                "validate": true,
                "id": "9029437603602253763",
                "name": "测试职级",
                "code": "L202110270001",
                "businessId": "158912402929426432",
                "orgId": "-1730833917365171641",
                "levelSort": 10,
                "isEnable": true,
                "description": "",
                "createTime": 1635329898000,
                "updateTime": 1635329898000
            }
        ]
    }
}

5.6、根据条件查询人员信息

请求地址

【接口请求地址前缀】/organization/base/member/selectListByConditions

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;
最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,表示使用异步方式调用开放API,
执行结果将通过此URL异步通知调用者。
params TRUE map 条件
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:
ASC(ASC),
DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime

请求参数示例

{
  "requestId": "-6815387152900730785",
  "pageInfo": {
    "total": 0,
    "needTotal": "false",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
  "params": {
    "code": "aa202401190001",
    "memberType": "MEMBER"
  },
  "timestamp": 1705902274312
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data ListData 人员详情列表
content data array[OrgMemberDto] 数据集对象
id content int64 人员id,新建时不必填,修改时必填
thirdId content string 第三方唯一标识
name content string 姓名
defaultName content string 默认语种姓名
mnemonic content string 助记符
code content string 编号
image content string 头像id
gender content enum 性别。枚举项可选值列表:
NONE(空),
MALE(男),
FEMALE(女),
UN_KNOW(未知),
birthday content date 出生日期
phoneNumber content string 手机号码
officeNumber content string 工作电话
email content string 邮箱
effectiveTime content date 生效日期,毫秒时间戳
invalidTime content date 失效日期,毫秒时间戳
sortId content int32 排序号
isEnable content boolean 状态
description content string 备注
orgMemberPostDtoList content array[OrgMemberPostDto] 人员所有任职信息
id orgMemberPostDtoList int64 任职信息id
businessId orgMemberPostDtoList int64 业务组织id(缺省行政组织)
businessName orgMemberPostDtoList string 业务组织名称(缺省行政组织)
memberIdCode orgMemberPostDtoList string 人员id(编号)
memberName orgMemberPostDtoList string 人员名称
memberCode orgMemberPostDtoList string 人员编号
main orgMemberPostDtoList boolean 是否主岗
orgIdCode orgMemberPostDtoList string 所属组织(编号)
orgName orgMemberPostDtoList string 所属组织名称
orgCode orgMemberPostDtoList string 所属组织编号
fullName orgMemberPostDtoList string 组织全路径名称
path orgMemberPostDtoList string path
institutionIdCode orgMemberPostDtoList string 组织所属机构(编号)
institutionName orgMemberPostDtoList string 组织所属机构名称
institutionCode orgMemberPostDtoList string 组织所属机构编号
postIdCode orgMemberPostDtoList string 岗位(编号)
postName orgMemberPostDtoList string 岗位名称
postCode orgMemberPostDtoList string 岗位编号
levelIdCode orgMemberPostDtoList string 职级(编号)
levelName orgMemberPostDtoList string 职级名称
levelCode orgMemberPostDtoList string 职级编号
jobId orgMemberPostDtoList int64 职务
jobName orgMemberPostDtoList string 职务名称
jobCode orgMemberPostDtoList string 职务编号
effectiveTime orgMemberPostDtoList date 生效日期,毫秒时间戳
invalidTime orgMemberPostDtoList date 失效日期,毫秒时间戳
sortId orgMemberPostDtoList int32 排序号
topSortId orgMemberPostDtoList int32 优先排序顺序
isEnable orgMemberPostDtoList boolean 状态
effective orgMemberPostDtoList boolean 生效状态
edit orgMemberPostDtoList boolean 是否可编辑
createTime orgMemberPostDtoList date 创建时间,毫秒时间戳
updateTime orgMemberPostDtoList date 更新时间,毫秒时间戳
type orgMemberPostDtoList enum 账号类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
EXTERNAL_MEMBER(外部联系人),
memberType orgMemberPostDtoList enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
outsideInstitutionId orgMemberPostDtoList int64 人员所在外部单位
mainMemberPost content OrgMemberPostDto 人员主岗任职信息
id mainMemberPost int64 任职信息id
businessId mainMemberPost int64 业务组织id(缺省行政组织)
businessName mainMemberPost string 业务组织名称(缺省行政组织)
memberIdCode mainMemberPost string 人员id(编号)
memberName mainMemberPost string 人员名称
memberCode mainMemberPost string 人员编号
main mainMemberPost boolean 是否主岗
orgIdCode mainMemberPost string 所属组织(编号)
orgName mainMemberPost string 所属组织名称
orgCode mainMemberPost string 所属组织编号
fullName mainMemberPost string 组织全路径名称
path mainMemberPost string path
institutionIdCode mainMemberPost string 组织所属机构(编号)
institutionName mainMemberPost string 组织所属机构名称
institutionCode mainMemberPost string 组织所属机构编号
postIdCode mainMemberPost string 岗位(编号)
postName mainMemberPost string 岗位名称
postCode mainMemberPost string 岗位编号
levelIdCode mainMemberPost string 职级(编号)
levelName mainMemberPost string 职级名称
levelCode mainMemberPost string 职级编号
jobId mainMemberPost int64 职务
jobName mainMemberPost string 职务名称
jobCode mainMemberPost string 职务编号
effectiveTime mainMemberPost date 生效日期,毫秒时间戳
invalidTime mainMemberPost date 失效日期,毫秒时间戳
sortId mainMemberPost int32 排序号
topSortId mainMemberPost int32 优先排序顺序
isEnable mainMemberPost boolean 状态
effective mainMemberPost boolean 生效状态
edit mainMemberPost boolean 是否可编辑
createTime mainMemberPost date 创建时间,毫秒时间戳
updateTime mainMemberPost date 更新时间,毫秒时间戳
type mainMemberPost enum 账号类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
EXTERNAL_MEMBER(外部联系人),
memberType mainMemberPost enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
outsideInstitutionId mainMemberPost int64 人员所在外部单位
mainMemberPostId content int64 人员主岗任职Id信息
orgMemberMetadataDto content OrgMemberMetadataDto 扩展字段
memberId orgMemberMetadataDto int64 人员id
createTime orgMemberMetadataDto date 创建时间,毫秒时间戳
updateTime orgMemberMetadataDto date 更新时间,毫秒时间戳
id orgMemberMetadataDto int64 字段ID
businessId orgMemberMetadataDto int64 业务组织id
loginName content string 用户名
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
certificateType content int64 证件类型
certificateNumber content string 证件号码
entryDate content date 入职日期
bankAccount content string 银行账号
bank content string 开户银行
bankOutlets content string 开户网点
memberType content enum 人员类型。
枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
pinyinShort content string 简拼
nickName content string 昵称
orgName content string 主部门名称
postName content string 主岗位名称
jobName content string 主职务名称
levelName content string 主职级名称
naturalMemberType content int64 外部个人用户类型
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "content": [
            {
                "validate": true,
                "id": "3428073205378313571",
                "thirdId": null,
                "name": "V5-韩聚江",
                "defaultName": "V5-韩聚江",
                "mnemonic": "V5-hanjujiang",
                "code": "17301103865",
                "image": null,
                "gender": "UN_KNOW",
                "birthday": null,
                "phoneNumber": "17301103865",
                "officeNumber": null,
                "email": "",
                "effectiveTime": 1703520000000,
                "invalidTime": 253402271999000,
                "sortId": 1,
                "isEnable": true,
                "description": null,
                "orgMemberPostDtoList": [
                    {
                        "validate": true,
                        "id": "5994200321357481820",
                        "businessId": "-5038278851089511626",
                        "businessName": null,
                        "memberName": null,
                        "memberCode": null,
                        "main": true,
                        "orgName": "集成演示",
                        "orgCode": "aa202401190001",
                        "fullName": "致远互联/集成演示",
                        "path": null,
                        "institutionName": null,
                        "institutionCode": null,
                        "postName": "集团基准岗位",
                        "postCode": "P202309080001",
                        "levelName": "经理级",
                        "levelCode": "M1",
                        "jobId": "-1",
                        "jobName": null,
                        "jobCode": null,
                        "effectiveTime": 1703520000000,
                        "invalidTime": 253402271999000,
                        "sortId": 1,
                        "topSortId": 0,
                        "isEnable": true,
                        "effective": null,
                        "edit": null,
                        "createTime": 1703557326026,
                        "updateTime": 1705658413047,
                        "type": "MEMBER",
                        "memberType": "MEMBER",
                        "outsideInstitutionId": "-1",
                        "memberIdCode": "17301103865",
                        "orgIdCode": "aa202401190001",
                        "institutionIdCode": "aa202401190001",
                        "postIdCode": "P202309080001",
                        "levelIdCode": "M1"
                    }
                ],
                "mainMemberPost": {
                    "validate": true,
                    "id": "5994200321357481820",
                    "businessId": "-5038278851089511626",
                    "businessName": null,
                    "memberName": null,
                    "memberCode": null,
                    "main": true,
                    "orgName": "集成演示",
                    "orgCode": "aa202401190001",
                    "fullName": "致远互联/集成演示",
                    "path": null,
                    "institutionName": null,
                    "institutionCode": null,
                    "postName": "集团基准岗位",
                    "postCode": "P202309080001",
                    "levelName": "经理级",
                    "levelCode": "M1",
                    "jobId": "-1",
                    "jobName": null,
                    "jobCode": null,
                    "effectiveTime": 1703520000000,
                    "invalidTime": 253402271999000,
                    "sortId": 1,
                    "topSortId": 0,
                    "isEnable": true,
                    "effective": null,
                    "edit": null,
                    "createTime": 1703557326026,
                    "updateTime": 1705658413047,
                    "type": "MEMBER",
                    "memberType": "MEMBER",
                    "outsideInstitutionId": "-1",
                    "memberIdCode": "17301103865",
                    "orgIdCode": "aa202401190001",
                    "institutionIdCode": "aa202401190001",
                    "postIdCode": "P202309080001",
                    "levelIdCode": "M1"
                },
                "mainMemberPostId": "5994200321357481820",
                "orgMemberMetadataDto": {
                    "validate": true,
                    "id": "8947821149131146285",
                    "businessId": null,
                    "extAttr1": "",
                    "extAttr2": null,
                    "extAttr3": "17301103865",
                    "extAttr4": null,
                    "extAttr5": "V5-韩聚江",
                    "extAttr6": "17301103865",
                    "extAttr7": null,
                    "extAttr8": null,
                    "extAttr9": null,
                    "extAttr10": null,
                    "memberId": "3428073205378313571",
                    "createTime": 1703557324415,
                    "updateTime": 1705658413129
                },
                "loginName": "17301103865",
                "createTime": 1703557324142,
                "updateTime": 1705658413004,
                "certificateType": null,
                "certificateNumber": null,
                "entryDate": null,
                "bankAccount": null,
                "bank": null,
                "bankOutlets": null,
                "memberType": "MEMBER",
                "pinyinShort": "V5-hjj",
                "nickName": null,
                "orgName": "集成演示",
                "postName": "集团基准岗位",
                "jobName": null,
                "levelName": "经理级",
                "naturalMemberType": null
            }
        ]
    }
}

5.7、分页查询组织下人员

请求地址

【接口请求地址前缀】/organization/unit/members

请求方式

POST

请求参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
requestId TRUE string 请求流水号。同一接入应用下的流水号不要重复;

最长32位,超过部分会被截断。
timestamp TRUE int64 请求时间戳。请求时间和服务器时间不能相差过大,
默认5分钟以内。
notifyUrl TRUE string 异步回调URL。如果此参数非空,
表示使用异步方式调用开放API,执行结果将通过此URL异步通知调用者。
params TRUE SearchMemberApiDto 泛型参数对象
code params TRUE string 组织code
includeChild params TRUE boolean 是否包含下级
effectiveTime params TRUE string 人员生效时间,缺省系统当前时间,
配置了搜索开始/结束时间,该值不生效
startTime params TRUE string 搜索开始时间
endTime params TRUE string 搜索结束时间
includeDisable params TRUE boolean 是否包含失效人员,默认不包含
memberType params TRUE enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
sort TRUE Sort 排序
orders sort TRUE array[Sort$Order] 排序
direction orders TRUE enum 顺序,可用值:ASC,DESC。
枚举项可选值列表:ASC(ASC),DESC(DESC),
property orders TRUE string 字段,可用值:DTO属性(请参照"响应参数"中content),
createTime,updateTime
pageInfo TRUE PageInfo 分页
pageNumber pageInfo TRUE int32 当前页数
pageSize pageInfo TRUE int32 每页记录数
pages pageInfo TRUE int32 总页数
total pageInfo TRUE int32 总记录数
needTotal pageInfo TRUE boolean 是否需要查询总记录数

请求参数示例

{
  "requestId": "-6815387152900730785",
  "pageInfo": {
    "total": 0,
    "needTotal": "false",
    "pageNumber": 1,
    "pages": 0,
    "pageSize": 20
  },
  "notifyUrl": "",
  "sort": {
    "orders": [
      {
        "property": "createTime",
        "direction": "ASC"
      }
    ]
  },
  "params": {
    "code": "aa202401190001",
    "memberType": "MEMBER"
  },
  "timestamp": 1705902274312
}

响应参数(Body)

参数名称 父节点 是否必填 参数类型 参数描述
data PageData 人员信息分页列表
pageInfo data PageInfo 分页参数对象
pageNumber pageInfo int32 当前页数
pageSize pageInfo int32 每页记录数
pages pageInfo int32 总页数
total pageInfo int32 总记录数
needTotal pageInfo boolean 是否需要查询总记录数
content data array[OrgMemberDataDto] 数据集对象
thirdId content string 第三方唯一标识
name content string 姓名
code content string 编号
username content string 用户名
gender content enum 性别。枚举项可选值列表:
NONE(空),
MALE(男),
FEMALE(女),
UN_KNOW(未知),
birthday content string 出生日期
phoneNumber content string 手机号码
officeNumber content string 工作电话
email content string 邮箱
effectiveTime content string 生效日期
invalidTime content string 失效日期
sortId content int32 排序号
isEnable content boolean 状态
description content string 备注
memberPosts content array[OrgMemberPostDataDto] 人员的任职信息
main memberPosts boolean 是否主岗
unitCode memberPosts string 组织编码
postCode memberPosts string 岗位编码(内部人员必填)
levelCode memberPosts string 职级编码
jobCode memberPosts string 职务编码
effectiveTime memberPosts string 生效日期
invalidTime memberPosts string 失效日期
sortId memberPosts int32 排序号
topSortId memberPosts int32 优先置顶排序
isEnable memberPosts boolean 状态
memberType memberPosts enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
metadataList content array[OrgMetadataValueDataDto] 自定义扩展属性数据
k metadataList string 扩展字段的名称
v metadataList string 扩展字段的的值
certificateType content string 证件类型
certificateNumber content string 证件号码
entryDate content string 入职日期
bankAccount content string 银行账号
bank content string 开户银行
bankOutlets content string 开户网点
image content string 头像路径
memberType content enum 人员类型。枚举项可选值列表:
NONE(空),MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
createTime content date 创建时间,毫秒时间戳
updateTime content date 更新时间,毫秒时间戳
status int32 状态
code string 错误码
message string 返回信息

响应参数示例

{
    "status": 0,
    "code": "BOOT_0000",
    "message": "SUCCESS",
    "data": {
        "pageInfo": {
            "pageNumber": 1,
            "pageSize": 20,
            "pages": 1,
            "total": 2,
            "needTotal": false
        },
        "content": [
            {
                "validate": true,
                "thirdId": null,
                "name": "V5-韩聚江",
                "code": "17301103865",
                "username": "17301103865",
                "gender": "UN_KNOW",
                "birthday": null,
                "phoneNumber": "17301103865",
                "officeNumber": null,
                "email": "",
                "effectiveTime": "2023-12-26",
                "invalidTime": "9999-12-31",
                "sortId": 1,
                "isEnable": true,
                "description": null,
                "memberPosts": [
                    {
                        "validate": true,
                        "main": true,
                        "businessId": "administrative",
                        "unitCode": "aa202401190001",
                        "postCode": "P202309080001",
                        "levelCode": "M1",
                        "jobCode": "",
                        "effectiveTime": "2023-12-26",
                        "invalidTime": "9999-12-31",
                        "sortId": 1,
                        "topSortId": 0,
                        "isEnable": true,
                        "memberType": "MEMBER"
                    }
                ],
                "metadataList": null,
                "certificateType": null,
                "certificateNumber": null,
                "entryDate": null,
                "bankAccount": null,
                "bank": null,
                "bankOutlets": null,
                "image": null,
                "memberType": "MEMBER",
                "createTime": 1703557324142,
                "updateTime": 1705658413004
            },
            {
                "validate": true,
                "thirdId": null,
                "name": "韩聚江",
                "code": "MD80002724",
                "username": "15131872776",
                "gender": "MALE",
                "birthday": null,
                "phoneNumber": "15131872776",
                "officeNumber": null,
                "email": null,
                "effectiveTime": "2024-01-19",
                "invalidTime": "9999-12-31",
                "sortId": 50430,
                "isEnable": true,
                "description": null,
                "memberPosts": [
                    {
                        "validate": true,
                        "main": true,
                        "businessId": "administrative",
                        "unitCode": "aa202401190001",
                        "postCode": "P202206150020",
                        "levelCode": "M1",
                        "jobCode": "",
                        "effectiveTime": "2024-01-19",
                        "invalidTime": "9999-12-31",
                        "sortId": 50430,
                        "topSortId": 0,
                        "isEnable": true,
                        "memberType": "MEMBER"
                    }
                ],
                "metadataList": null,
                "certificateType": "861893055660261888",
                "certificateNumber": null,
                "entryDate": null,
                "bankAccount": null,
                "bank": null,
                "bankOutlets": null,
                "image": null,
                "memberType": "MEMBER",
                "createTime": 1705642397823,
                "updateTime": 1705658448012
            }
        ]
    }
}

6、注意事项

为了三方系统更快集成,建议每个三方系统提供postmen调用示例,这样可以极大的节省集成联调周期。

2 - 三方系统提供写入OpenAPI

三方异构系统提供写入OpenAPI,由COP定时调用接口主动推送,完成组织同步模式。

1、概述

COP负责新建、编辑、启停等组织数据维护,三方异构系统提供写入OpenAPI,由COP定时调用接口主动推送,完成组织同步模式。

2、优缺点

a. 优点

i. 三方系统集成压力小;

ii. 通过事件订阅触发数据同步,数据时效性高;

b. 缺点

i. 实施团队需要了解三方系统接口字段要求和数据用途;

ii. 实施团队需要了解COP平台字段要求和用途;

iii. 实施团队需要配置字段映射;

iv. 每增加一个三方系统,就需要重新配置一遍一下步骤;

3、操作步骤

序号 步骤名称 责任方 使用场景
1 提供组织增量写入接口规范和文档 三方系统 必须,
2 注册并配置鉴权AppID和秘钥 三方系统 非必须,如果三方系统接口调用时涉及到安全鉴权,则需要提供
3 提供接口调用示例 三方系统 必须,为了集成效率,
强烈建议三方系统提供可直接使用的postman接口调用示例,
4 新建三方集成应用 致远 必须,三方集成应用负责封装三方系统接口和配置数据映射
5 发布启用三方集成应用 致远 必须,三方集成应用只有发布后才能正常使用
6 封装安全认证 致远 非必须,如果三方系统接口调用时涉及到安全鉴权,则需要配置安全认证
7 接口封装 致远 必须,三方系统提供的接口只有正常封装后才能供给COP使用
8 在线调试验证 致远 必须,三方系统接口封装完成后,需要在线调试,验证网络通信、
接口返回结果是否正确等
9 启用组织同步 致远 必须,主动推送场景中,字段映射、同步周期需要在基础集成中配置
10 配置同步内容 致远 必须,本场景下固定选择模式为:从三方系统获取
11 配置同步周期 致远 必须,根据数据量和服务器消费能力,合理配置同步周期
12 配置字段映射 致远 必须:三方系统接口文档中的字段名,字段释义与COP不一致,
需要配置参数映射、层级转换等
13 使用日志 致远 必须,配置完成并启用后,查看使用日志

4、 集成配置步骤

4.1、 新建三方集成应用

1720577772586

4.2、 发布启用三方集成应用

1720577778838

4.3、 封装安全认证

1720577785293

1720577791255

4.4、 枚举定义

1720577798040

4.5、 接口封装

1720577803045

1720577809284

1720577814794

1720577821105

1720577827141

1720577832287

1720577837929

4.6、 在线调试验证

1720577846536

1720577853174

4.7、 启用组织同步

1720577859417

4.8、 配置同步内容

1720577865174

1720577874631

1720577880163

4.9、 配置同步周期

1720577889066

4.10、 使用日志

1720577894429

5、 注意事项

5.1、 当三方系统需要的数据维度较COP更加丰富时,可以通过集成扩展-微流程编排实现;

3 - 事件订阅

COP开放事件,三方异构系统订阅事件,完成组织同步模式。

1、概述

COP开放事件,三方异构系统订阅事件,完成组织同步模式。

2、事件清单

事件名称 事件标识 返回数据类型 描述
更新职务 organization.job.update JSON 更新职务
更新组织 organization.unit.update JSON 更新组织
更新职级 organization.level.update JSON 更新职级
创建组织 organization.unit.create JSON 创建组织
创建人员 organization.member.create JSON 创建人员
创建岗位 organization.post.create JSON 创建岗位
更新岗位 organization.post.update JSON 更新岗位
创建职务 organization.job.create JSON 创建职务
更新人员 organization.member.update JSON 更新人员
创建职级 organization.level.create JSON 创建职级

3、订阅说明

收到事件通知请求后,需要返回200HTTP响应。其余响应码表示失败,开放平台会自动重发。重发的间隔越来越长,最多尝试10次。事件通知数据使用application/json格式发送。 事件通知的HTTP请求头中,包含回调令牌(需在接入应用的事件订阅中配置开启,默认不开启),用于接入应用验证事件来源。

若开启加密因子(需在接入应用的事件订阅中配置开启,默认不开启),将对事件通知的JSON内容进行加密,只有一个属性encrypt,需要进行解密处理。

4、解密示例

 @SuppressWarnings("rawtypes")
    @PostMapping("open-event-map")
    @ResponseBody
    public String openEventCallBack(HttpServletRequest request, @RequestBody Map map) {
      // 事件发生时间
      String createTime = request.getHeader("createTime");
      // 事件的流水号
      String eventId = request.getHeader("eventId");
      // 如果订阅事件时设置了回调token,可以获取token进行校验
      String eventToken = request.getHeader("eventToken");
      if (!OpenApiGlobalConfig.EVENT_CALL_BACK_TOKEN.equals(eventToken)) {
        System.err.println("token不匹配,这是非法的请求!");
        return "error";
      }
      // eventName:事件名称,解码处理
      try {
        String eventName = URLDecoder.decode(request.getHeader("eventName"), StandardCharsets.UTF_8.displayName());
        System.err.println("收到事件:" + eventName);
      } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
      }
      // 事件标识,可以用此字段区分是什么事件发生了
      String eventKey = request.getHeader("eventKey");
      if (!"".equals(OpenApiGlobalConfig.EVENT_CALL_BACK_KEY)) {
        // 如果设置了加密key,那么返回的数据是加密的,需要解密。加解密算法是AES算法。
        String encryptContent = (String) map.get("encrypt");
        String realContent = OpenApiClient.decrypt(encryptContent, OpenApiGlobalConfig.EVENT_CALL_BACK_KEY);
        System.err.println("原始的JSON数据是:" + realContent);
        // 拿到原始的json串以后,可以json串转map或者转对应的DTO,继续处理
        Map dataMap = OpenApiUtil.fromJson(realContent, Map.class);
        // 后续处理
        System.err.println("事件真实数据:" + dataMap);
      } else {
        // 如果没有配置加密,那么是明文传输的,收到的Map就是真实的数据
        Map dataMap = map;
        // 后续处理
        System.err.println("事件真实数据:" + dataMap);
      }
      return "OK";
    }

5、事件消息体

5.1、更新职务

参数名称 参数类型 参数描述
更新职务消息 OrgJobUpdateMessage
jobId int64 职务id
code string 职务编号
orgId int64 所属组织
isEnable boolean 状态
oldCode string 更新前职务编号
oldOrgId int64 更新前所属组织
oldIsEnable boolean 更新前状态
eventKey string 消息标识

5.2、更新组织

参数名称 参数类型 参数描述
更新组织消息体 OrgUnitUpdateMessage
type enum 组织类型。枚举项可选值列表:
NONE(空),
INSTITUTION(机构),
DEPARTMENT(部门),
OUTSIDE_INSTITUTION(外部(编外)单位),
OUTSIDE_DEPARTMENT(外部(编外)部门),
orgId int64 组织id
oldOrgName string 组织名称
orgName string 组织名称
oldParentId int64 原上级id
parentId int64 上级id
oldIsEnable boolean 原状态
isEnable boolean 状态
oldEffectiveTime date 原生效日期
effectiveTime date 生效日期
oldInvalidTime date 原失效日期
invalidTime date 失效日期
eventKey string 消息标识

5.3、更新职级

参数名称 参数类型 参数描述
更新职级消息 OrgLevelUpdateMessage
levelId int64 职级id
code string 职级编号
levelSort int32 职级序号
isEnable boolean 状态
oldCode string 职级编号
oldLevelSort int32 更新前职级序号
oldIsEnable boolean 更新前状态
eventKey string 消息标识

5.4、创建组织

参数名称 参数类型 参数描述
创建组织消息体 OrgUnitCreateMessage
orgId int64 组织id
orgName string 组织名称
parentId int64 上级id
type enum 组织类型。枚举项可选值列表:
NONE(空),
INSTITUTION(机构),
DEPARTMENT(部门),
OUTSIDE_INSTITUTION(外部(编外)单位),
OUTSIDE_DEPARTMENT(外部(编外)部门),
isEnable boolean 状态
effectiveTime date 生效日期
invalidTime date 失效日期
eventKey string 消息标识

5.5、创建人员

数名称 参数类型 参数描述
创建人员消息体 OrgMemberMessage
memberId int64 人员id
name string 姓名
phoneNumber string 手机号
email string 邮箱
type enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
image string 头像
orgId int64 主岗组织id
orgName string 主岗组织名称
orgIds array[int64] 主岗所属机构id
isEnable boolean 启用状态
effectiveTime date 生效日期
invalidTime date 失效日期
eventKey string 消息标识
memberPostList array[OrgMemberPostBaseDto] 任职信息
id int64 任职id
main boolean 是否主岗
orgId int64 组织id
postId int64 岗位id
levelId int64 职级id
jobId int64 职务id
sortId int32 排序号
isEnable boolean 状态
effectiveTime date 生效日期,毫秒时间戳
invalidTime date 失效日期,毫秒时间戳

5.6、创建岗位

参数名称 参数类型 参数描述
创建岗位消息 OrgPostCreateMessage
postId int64 岗位id
code string 岗位编号
orgId int64 所属组织
isEnable boolean 状态
eventKey string 消息标识

5.7、更新岗位

参数名称 参数类型 参数描述
更新岗位消息 OrgPostUpdateMessage
postId int64 岗位id
code string 岗位编号
orgId int64 所属组织
isEnable boolean 状态
oldCode string 更新前岗位编号
oldOrgId int64 更新前所属组织
oldIsEnable boolean 更新前状态
eventKey string 消息标识

5.8、创建职务

参数名称 参数类型 参数描述
创建职务消息 OrgJobCreateMessage
jobId int64 职务id
code string 职务编号
orgId int64 所属组织
isEnable boolean 状态
eventKey string 消息标识

5.9、更新人员

参数名称 参数类型 参数描述
更新人员消息体 OrgUpdateMemberMessage
memberId int64 人员id
name string 姓名
phoneNumber string 手机号
email string 邮箱
type enum 人员类型。枚举项可选值列表:
NONE(空),
MEMBER(内部人员),
OUTSIDE_MEMBER(外部单位用户),
NATURAL_MEMBER(外部个人用户),
image string 头像
orgId int64 主岗组织id
orgName string 主岗组织名称
orgIds array[int64] 主岗所属机构id
isEnable boolean 启用状态
effectiveTime date 生效日期
invalidTime date 失效日期
eventKey string 消息标识
oldMemberPostList array[OrgMemberPostBaseDto] 更新前任职信息
id int64 任职id
main boolean 是否主岗
orgId int64 组织id
postId int64 岗位id
levelId int64 职级id
jobId int64 职务id
sortId int32 排序号
isEnable boolean 状态
effectiveTime date 生效日期,毫秒时间戳
invalidTime date 失效日期,毫秒时间戳
memberPostList array[OrgMemberPostBaseDto] 更新后任职信息
id int64 任职id
main boolean 是否主岗
orgId int64 组织id
postId int64 岗位id
levelId int64 职级id
jobId int64 职务id
sortId int32 排序号
isEnable boolean 状态
effectiveTime date 生效日期,毫秒时间戳
invalidTime date 失效日期,毫秒时间戳

5.10、创建职级

参数名称 参数类型 参数描述
创建职级消息 OrgLevelCreateMessage
levelId int64 职级id
code string 职级编号
levelSort int32 职级序号
isEnable boolean 状态
eventKey string 消息标识