Skip to content

数据增量同步接入

1 接入流程说明

1.1 配置流程

画板

1.2 数据推送流程

1.2.1 用户数据推送流程

画板

画板

1.2.2 组织数据推送流程

画板

画板

2 开始接入

2.1 对接方准备工作

1、提供接收用户数据推送接口,要支持basic认证,并且提供basic认证的用户名密码,请求方式post,消息体为request body

2、提供接收组织数据推送接口,要支持basic认证,并且提供basic认证的用户名密码,请求方式post,消息体为request body

3、填写应用信息

以上内容请下载模板进行填写:应用配置信息填写模板.xlsx

3 推送数据结构

3.1 用户

说明: 用户相关的数据推送要写到一个接收同步账户的接口中,手动创建/修改/删除账户时会向已经授权的应用推送账户。

3.1.1 用户新增,修改,移动组织

json
{
  "event": "add_update", //表示新增,修改,移动组织
  "data": {
    "belongs": [ // 所属组织信息
      {
        "orgId":"121323", // 组织id
        "orgExternalId": "8951733856043107990", //组织外部id
        "jobType": 1, //任职类型:1-主职、2-兼职
        "posJob": "", //职务
        "sortNum": 2, //排序码
        "mainJob":true // 主职
      },
      {
        "orgId":"34343434",
        "orgExternalId": "8951733856043107990", //组织外部id
        "jobType": 1, //任职类型:1-主职、2-兼职
        "posJob": "", //职务
        "sortNum": 2, //排序码
        "mainJob":false // 兼职
      }
    ],
    "nickName": "dsdsds", // 昵称
    "email": "sdw3@ddeerere.com", // 电子邮箱
    "extendMap": "{\"sdd\": \"123456\",\"sex\": \"woman\"}", // 扩展信息
    "externalId": "1684952915216035459", // 外部用户id
    "userId": "1684952915216035459", // 用户id
    "phone": "15613434343", // 手机号
    "account": "dseeew", // 账号
    "enable": false, // 是否启用
    "remark": "sdswww", // 备注
    "version": 1, // 版本号
    "jobLevel": "", // 职级
    "sex": "", // 性别
    "createTime": "2020-01-01 00:00:00", // 创建时间
    "updateTime": "2020-01-01 00:00:00" // 更新时间
  }
}

3.1.2 用户删除

json
{
  "event": "delete", // 表示用户删除
  "data": {
              "externalId": "1684952915216035459", // 外部用户id 
              "userId": "1684952915216035459" // 用户id
          }
}

3.2 组织

说明: 组织相关的数据推送要写到一个接收同步组织的接口中,手动创建/修改/删除账户时会向已经授权的应用推送账户。

3.2.1 组织新增,修改,移动

json
{
  "event": "add_update", // 表示组织新增,修改,移动
  "data": {
            "orgName": "dsdsds", // 组织名称
            "sortNum": 1, // 排序
            "extendMap": "{\"sdd\": \"123456\",\"sex\": \"woman\"}", // 扩展信息
            "externalId": "1684952915216035459", // 外部组织id
            "orgId": "1684952915216035459", // 组织Id
            "orgType": "GOV_HOLLOW_STRIP_NODE", //组织类型;GOV_HOLLOW_STRIP_NODE:条线虚节点;GOV_UNIT:单位;GOV_HOLLOW_DIVISION_NODE:行政区划虚节点;GOV_INTERNAL_INSTITUTION:内设机构;GOV_VIRTUAL:虚拟组织
            "unitId": "2112332312312", // 所属单位Id
            "enable": false, // 是否启用
            "remark": "sdswww", // 备注
            "version": 1, // 版本号
            "createTime": "2020-01-01 00:00:00", // 创建时间
            "updateTime": "2020-01-01 00:00:00", // 更新时间
            "parentOrgId": "", // 父级id
            "externalParentId": "", // 外部父级id
            "areaCode": "", //区划编码
            "areaName": "", //区划名称
            "unifiedSocialCreditCode": "", //统一信用代码
            "contacts": "", // 联系人
            "contactTel": "", // 联系电话
            "contactTelAreaCode": "", // 联系电话区号
            "addressAreaCode": "", // 地址位置
            "address": "", // 地址
            "unitName": "", // 单位全称
            "belongLine": "", // 所属条线
            "departmentLevel": "", // 部门级别
            "zipCode": "", // 邮政编码
            "leader": "" // 负责人
        }
}

3.2.2 组织删除

json
{
  "event": "delete", //表示组织删除
  "data": {
              "externalId": "1684952915216035459", // 外部组织id 
              "orgId": "1684952915216035459" // 组织id
          }
}

4 代码样例

4.1 curl结构样例

basic
curl --location --request POST 'https://对接方接口' \
--header 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
--header 'Content-Type: application/json' \
-d '{
  "event": "add_update", 
  "data": {
    "belongs": [ 
      {
        "orgId":"121323",
        "orgExternalId": "8951733856043107990",
        "mainJob":true,
        "jobType": 1,
        "posJob": "队员",
        "sortNum": 2,
        "roleCode": "",
        "visibilityTag": "",
        "jobRank": "",
        "officePhone": "",
        "fax": "",
        "email": "",
        "officeAddress": "",
        "office": ""
      },
      {
        "orgId":"34343434",
        "orgExternalId": "8951733856043107990",
        "mainJob":true,
        "jobType": 1,
        "posJob": "队员",
        "sortNum": 2,
        "roleCode": "",
        "visibilityTag": "",
        "jobRank": "",
        "officePhone": "",
        "fax": "",
        "email": "",
        "officeAddress": "",
        "office": ""
      }
    ],
    "nickName": "dsdsds", 
    "email": "sdw3@ddeerere.com", 
    "extendMap": "{\"sdd\": \"123456\",\"sex\": \"woman\"}",
    "externalId": "1684952915216035459", 
    "userId": "1684952915216035459", 
    "phone": "15613434343", 
    "account": "dseeew", 
    "enable": false, 
    "remark": "sdswww", 
    "version": 1, 
    "jobLevel": "",
    "sex": "M",
    "createTime": "2020-01-01 00:00:00",
    "updateTime": "2020-01-01 00:00:00",
    "shortPhone": "",
    "phoneAreaCode": "",
    "staffing": "",
    "birthday": "",
    "politicalStatus": "",
    "address": "",
    "certType": "",
    "certNo": ""
  }
}'

4.2 代码接收数据样例

java
// ReceiveUser 根据uaa推送的json格式定义,BaseResponse的格式参考下面 统一响应结构 的格式定义
@PostMapping("receive")
public BaseResponse receive(@RequestBody ReceiveUser receiveUser) {
	
}
json
{
    "success": true,  // true表示处理请求成功,否则失败
    "message": null  // 自定义失败消息
}