全量覆盖
主动调用通用参数请参阅全局说明
SDK示例:https://github.com/youduim/youdu-sdk-java
a、全量覆盖是将部门和成员的所有数据一次性请求过来;
b、覆盖完成后组织架构的部门及成员信息与请求的数据保持一致;
c、注意同级部门的sortId不能相等;
d、该接口立即返回。通过回调或查询接口得到同步结果。
发起全量覆盖
请求说明
POST方式请求URL: http://[SERVER:7080]/cgi/org/replaceall?accessToken=$access_token
请求结构
{
"deptList": [
{
"id": $dept_id_1,
"name": "$dept_name",
"parentId": $parent_dept_id,
"sortId": $sort_id,
"alias":"alias"
},
{
"id": $dept_id_2,
"name": "$dept_name",
"parentId": $parent_dept_id,
"sortId": $sort_id,
"alias":"alias"
}
],
"userList": [
{
"userId": "$user_id",
"name": "$user_name",
"gender": 0,
"mobile": "$user_mobile",
"phone": "$user_phone",
"email": "$user_email",
"dept": [1],
"deptDetail": [
{
"deptId": 1,
"position":"$position_1",
"weight":1,
"sortId":1
}
],
"authType": 2,
"passwd": md5($pwd)
},
{
"userId": "$user_id",
"name": "$user_name",
"gender": 1,
"mobile": "$user_mobile",
"phone": "$user_phone",
"email": "$user_email",
"dept": [1,2],
"deptDetail":[
{
"deptId": 1,
"position":"$position_1",
"weight":2,
"sortId":2
},
{
"deptId": 2,
"position":"$position_2",
"weight":1,
"sortId":1
}
],
"authType": 2,
"passwd": md5($pwd)
}
],
"callback":
{
"url": "$callback_url",
"token": "$callback_signature_token"
}
}
参数说明
参数 | 必须 | 说明 |
---|---|---|
deptList | 否 | 部门列表 |
userList | 是 | 用户列表 |
callback | 否 | 回调信息。如填写则覆盖完成后,通过callback推送相应的通知。 |
deptList参数说明:
参数 | 必须 | 说明 |
---|---|---|
id | 是 | 部门id,整型。必须大于0 |
name | 是 | 部门名称。不能超过32个字符(包括汉字和英文字母) |
parentId | 是 | 父部门id。根部门id为0 |
sortId | 否 | 整型。在父部门中的排序值。值越大排序越靠前 |
alias | 否 | 字符串。部门id的别名(通常存放以字符串表示的部门id)。唯一不为空。 |
userList参数说明:
参数 | 必须 | 说明 |
---|---|---|
userId | 是 | 用户id(帐号),企业内必须唯一。长度为1~64个字符(包括汉字和英文字母) |
name | 是 | 用户名称。长度为0~64个字符(包括汉字和英文字母,可为空) |
gender | 是 | 性别,整型。0表示男性,1表示女性 |
mobile | 否 | 手机号码。企业内必须唯一 |
phone | 否 | 电话号码 |
否 | 邮箱。长度为0~64个字符 | |
dept | 是 | 所属部门列表,不超过20个 |
deptDetail | 否 | 所在部门内的详细信息 |
authType | 否 | 认证方式:0本地认证,2第三方认证 |
passwd | 否 | 原始密码md5加密后转16进制的小写字符串 |
deptDetail信息说明:
参数 | 必须 | 说明 |
---|---|---|
deptId | 是 | 部门id |
position | 否 | 职务名称 |
weight | 否 | 职务权重。用户拥有多个职务时,权重值越大的职务排序越靠前 |
sortId | 否 | 用户在部门中的排序,值越大排序越靠前 |
callback信息说明:
参数 | 必须 | 说明 |
---|---|---|
url | 否 | 接收通知的地址 |
token | 否 | 用于生成签名。签名信息详见: 全局说明-->加解密说明-->消息体签名 |
返回结果
{
"jobId": "$job_id"
}
参数说明
参数 | 说明 |
---|---|
jobId | 任务ID。请求成功时返回 |
获取全量覆盖结果
请求说明
GET方式请求URL: http://[SERVER:7080]/cgi/getjobresult?accessToken=$access_token&jobId=$job_id
参数说明
参数 | 必须 | 说明 |
---|---|---|
jobId | 是 | 全覆盖的任务号 |
返回结果
{
"type": "org_replace_all",
"result":3,
"desc":"ok"
}
参数说明
参数 | 说明 |
---|---|
type | 任务类型。这里固定为org_replace_all |
result | 任务状态。1: 任务进行中,2: 同步任务已经存在,3: 任务成功完成,4: 任务失败 |
desc | 结果描述 |
全量覆盖完成通知
回调数据格式
{
"fromUser": "sysOrgAssistant",
"createTime": 1348831860,
"packageId": 1234567890,
"msgType": "event",
"event":{
"type": "org_replace_all",
"jobId":"$job_id",
"errcode":0,
"errmsg":"ok"
}
}
参数说明
参数 | 说明 |
---|---|
fromUser | 消息发送者。这里固定为sysOrgAssistant |
createTime | 消息创建时间 |
packageId | 接收到通知后需要回复消息体中的packageId(直接写回明文即可,不需要加密),表示成功接收,否则认为通知失败 |
msgType | 消息类型。这里固定为event |
type | 通知事件类型。这里固定为org_replace_all |
jobId | 事件ID |
errcode | 全局返回码 |
errmsg | 结果描述 |
回调响应格式
全局状态码(OK)