SP同步数据到IDP场景¶
最后更新:2022-01-26
1. 简介¶
connector 在4.16版本中,新增SCIM 接口来源插件,以接口的形式提供数据同步能力,让SP系统可以主动调用接口,同步数据到IDaaS中。增加connector的数据同步方式,更加灵活。
为了实现connector 全面接管IDaaS的数据同步能力,在使用IDaaS 4.15 及以上版本和connector 4.16及以上版本时,推荐使用Connector 的SCIM 接口进行数据同步,替换掉直接使用IDaaS SCIM接口进行数据同步。
2. 使用步骤¶
2.1. 配置connector 同步任务¶
2.1.1. 创建应用¶
要实现数据推送,创建一个应用是必不可少的,我们会创建同步任务时选择使用的应用。
登录管理员>添加应用>选择jwt模板(或者直接使用已经创建的其他应用)
并开启应用的API
2.1.2. 应用授权¶
创建好应用后,在应用详情中的数据范围设置该应用允许的数据范围和接口范围 比如下图中,分别授权的所有人事组织节点的权限 和账户组织机构的获取接口权限
2.1.3. 同步任务配置¶
在IDaaS中,机构及组的组织树中,选中“人事组织”或其下的任意节点后,在“导入”里点击“添加拉取任务”,进行拉取任务的表单填写
任务名称:按需填写任务名称。
数据拉取来源:下拉展示可选择的来源,下拉列表从connector中获取。选择Connector SCIM数据同步接口来源。
映射模板:下拉展示可选择的映射模板,下拉列表从connector中获取。选择SP-IDP4(通过接口形式)。
来源根节点标识:不必填,不填时为空。对应connector同步任务创建时的“来源根节点标识”一项。
IDaaS目标节点外部ID:不必填,不填时默认使用IDaaS人事组织根节点的外部id:main。对应connector同步任务创建时的“目标根节点标识”一项。
关联应用:选取相关的应用。此选择,会影响同步时用户在应用群组内子账户和应用群组内数据字典的同步值。
2.1.3.1. 、注意事项¶
IDaaS配置好同步任务,会调用connector服务创建相应的同步任务。
由于同步任务参数较多,会有一些同步参数使用的默认配置,需要针对不同的来源/目标,进行相应的调整。
默认配置如下
同步范围:组织机构、账户
增改模式:关闭
检测字段:外部ID
数据接收方式:主动拉取
数据拉取模式:分页拉取模式
线程模式:不使用线程池
是否开启定时任务:否
(1)IDP4推送数据到企业微信
(2)IDP4推送数据到AD
(3)IDP4推送数据到钉钉V2(专属钉)
2.2. connector SCIM 同步接口¶
2.2.1. 说明:¶
connector提供了以下接口,作为同步接口,主要覆盖组织机构、组、账户。
注意:以下所有的接口调用,都需要通过在同步任务1.7中配置的密钥所生成的access_token进行调用。
调用API接口时,需要先获取access_token,调用接口时传入access_token有两种方式:
URL值后:URL?access_token={access_token}
Header里面:Authorization Bearer {access_token}(注意 bearer与access_token之间的空格)
若connector与IDP部署一起,注意以下接口path都需要加上对应的资源名。
如connector访问地址为:http://xx.xx.89.70/connector/#/overview ,则以下接口中{{idaas_host}} 值应为:http://xx.xx.89.70/connector
若同步任务配置中开启了增改模式,以下获取详情相关查询接口将不生效。
client_id和client_secret即为同步任务配置的密钥。查看密钥请在密钥管理处查看,密钥名称与同步任务名称一致。
Path:/oauth/token
Method: POST
请求方法: POST
Headers:
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/x-www-form-urlencoded |
是 |
Query:
参数名称 |
参数类型 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
client_id |
text |
是 |
client_id={API Key} |
应用详情 API Key值 |
client_secret |
text |
是 |
client_secret={API Secret} |
应用详情 API Secret值 |
scope |
text |
是 |
scope=read |
固定值 |
grant_type |
text |
是 |
grant_type=client_credentials |
固定值 |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
access_token |
string |
必须 |
access_token凭证 |
||
token_type |
string |
必须 |
凭证类型 |
固定值 bearer |
|
expires_in |
number |
必须 |
有效期 |
单位为秒 |
|
scope |
string |
必须 |
授权范围 |
固定值 read |
|
jti |
string |
非必须 |
access_token为jwt格式时,才有此值。 |
2f5a91a9-e939-401e-8a0b-db0b5fdee42a |
请求地址示例:
{{idaas_host}}/oauth/token?client_id={{client_id}}&client_secret={{client_secret}}&scope=read&grant_type=client_credentials
返回示例 :
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBwX2FwaV9yZXNvdXJjZSIsImVudGVycHJpc2VfbW9iaWxlX3Jlc291cmNlIiwiYmZmX2FwaV9yZXNvdXJjZSJdLCJzY29wZSI6WyJyZWFkIl0sImV4cCI6MTYyMDQ4NDI3MCwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BUFBMSUNBVElPTl9BUEkiLCJST0xFX0VORF9VU0VSIl0sImp0aSI6ImQ0N2U3M2RlLTFiMTctNDgxZS05Yzg4LTNkODdlZGE1ODllZiIsImNsaWVudF9pZCI6IjBmZmI3MWI5MDQwY2IxZWM5OGZlZTQ1ZTllYWVkODQxWjIwQ2t0bmRremQifQ.UxPJWUOA9YWvKHRZ8VWgu1qwKCYKVBYfQfBMpJyvIQk",
"token_type": "bearer",
"expires_in": 43199,
"scope": "read",
"jti": "d47e73de-1b17-481e-9c88-3d87eda589ef"
}
2.2.2. 组织机构相关接口¶
2.2.2.1. 推送组织机构¶
Path:/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
Method: POST
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
应用获取到的access_token |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
organizationName |
string |
必须 |
机构名称 |
||
externalId |
string |
非必须 |
组织机构的唯一id,该id是SP同步过来的,所以在IDaaS中称为外部id,如果不填IDP将随机生成一个外部id。选填 |
||
parentExternalId |
string |
必须 |
所属的父级组织机构的唯一id, 该id是SP同步过来的, 所以在IDaaS中称为父级外部id,通过在系统”机构及组”中在组织机构属性中查看参数“外部ID”即可。 |
||
type |
string |
非必须 |
自建组织单位:SELF_OU,自建部门:DEPARTMENT,默认为DEPARTMENT |
||
sortNumber |
string |
非必须 |
排序号 |
||
enabled |
boolean |
非必须 |
是否启用 |
true:启用,false:禁用,默认为true。 |
|
description |
string |
必须 |
描述 |
用于说明当前OU,不超过500个字符。 |
|
extendFields |
object |
非必须 |
扩展字段 |
在IDP数据字典中定义,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test1 |
string |
非必须 |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
||
data |
object |
非必须 |
|||
├─ externalId |
string |
非必须 |
返回的外部id |
||
├─ id |
string |
非必须 |
uuid |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:externalId:123456重复 |
请求参数错误 |
400 |
InvalidParameter.ExternalId.Exist |
例如:外部ID重复,externalId:123456 |
外部id重复 |
400 |
InvalidParameter.Name.Exist |
例如:OU名称重复,OrganizationName:研发部 |
组织机构的名称已存在 |
403 |
Forbidden |
例如:没有权限操作该父OU |
没有权限操作 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
请求示例:
{
"organizationName": "成都研发部",
"externalId": "123456",
"parentExternalId": "2961201661376138058",
"type": "DEPARTMENT",
"sortNumber": "3",
"enabled":true,
"description": "负责产品研发",
"extendFields":{
"test1":"123"
}
}
返回示例 :
{
"status": 200,
"message": "添加成功",
"requestId": "6FF9F74F-15BF-4D36-BE17-6DE1FDD8065A",
"data": {
"externalId": "8262319981134538379",
"id": "f0e927df37434ae302e58a77a827896eCRVt7rSg0jr"
},
"code": "200",
"success": true
}
2.2.2.2. 修改组织机构¶
Path:/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
Method: PUT
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
应用获取到的access_token |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
organizationName |
string |
必须 |
机构名称 |
||
externalId |
string |
必须 |
组织机构的唯一id,该id是SP同步过来的,所以在IDaaS中称为外部id |
||
parentExternalId |
string |
非必须 |
所属的父级组织机构的唯一id, 该id是SP同步过来的, 所以在IDaaS中称为父级外部id,通过在系统”机构及组”中在组织机构属性中查看参数“外部ID”即可。 |
||
type |
string |
非必须 |
自建组织单位:SELF_OU,自建部门:DEPARTMENT,默认为DEPARTMENT |
||
sortNumber |
string |
非必须 |
排序号 |
||
enabled |
boolean |
非必须 |
是否启用 |
true:启用,false:禁用,默认为true。 |
|
description |
string |
非必须 |
描述 |
用于说明当前OU,不超过500个字符。 |
|
extendFields |
object |
非必须 |
扩展字段 |
在IDP数据字典中定义,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test1 |
string |
非必须 |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
||
data |
object |
非必须 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:描述信息不能超过500个字符 |
请求参数错误 |
400 |
EntityNotFound |
例如:组织机构不存在 |
未查找到要更新的OU |
400 |
InvalidParameter.Name.Exist |
例如:OU名称重复,OrganizationName:研发部 |
组织机构的名称已存在 |
400 |
OperationDenied |
例如:OU不能移动到自己子级下 |
不被允许的操作 |
403 |
Forbidden |
例如:没有权限操作该父OU |
没有权限操作 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
请求示例 :
{
"description": "",
"organizationName": "成都研发部",
"externalId": "123456",
"parentExternalId": "2961201661376138058",
"enabled":false,
"type": null,
"sortNumber": "5",
"extendFields":{
"test1":"1235123"
}
}
返回示例 :
{
"status": 200,
"message": "修改成功",
"requestId": "1E8BB9A7-0A10-449F-813C-D9FF59810982",
"data": null,
"code": "200",
"success": true
}
2.2.2.3. 刪除组织机构¶
Path:/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
Method: DELETE
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
应用获取到的access_token |
Query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
外部id |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:外部id(externalId)不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:组织机构不存在 |
未查找到要更新的OU |
400 |
OperationDenied.OUContainsChildren |
例如:该OU存在关联关系,不能删除 |
未查找到要更新的OU |
403 |
Forbidden |
例如:没有权限操作该父OU |
没有权限操作 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/organization/id/1?externalId
返回示例 :
{
"status": 200,
"message": "删除成功",
"requestId": "232F6C61-4098-4851-9B24-FE9B3C712027",
"data": null,
"code": "200",
"success": true
}
2.2.2.4. 获取组织机构¶
Path:/api/sync/v1/data_accept/SCIM/organization/id/{同步任务id}
Method: GET
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
应用获取到的access_token |
Query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
外部id |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
||
data |
对象 |
组织机构相关信息 |
|||
├─ refOrgExternalId |
string |
来源于主数据的外部ID,只有mainData为false时,才可能有该值 |
|||
├─ organizationName |
string |
组织机构名称 |
|||
├─ manager |
string |
管理者 |
|||
├─ sortNumber |
int |
排序号 |
|||
├─ externalId |
string |
外部ID |
|||
├─ description |
string |
描述 |
|||
├─ type |
string |
类型 |
SELF_OU:自建组织单位,EXTERNAL_OU:外部同步,DEPARTMENT:自建部门 |
||
├─ nodeType |
string |
组织机构节点类型,前端需要根据此来进行判断对于的操作,默认为自建 |
ENTERPRISE_ROOT:公司根节点,MASTER_TREE_ROOT:主树根节点,APP_GROUP:应用群组,SLAVE_TREE_ROOT:子树根节点,SELF_CREATED:自建节点,COPY_REF_NODE:复制引用主树,REF_NODE:引用主树 |
||
├─ uuid |
string |
||||
├─ enabled |
boolean |
是否开启 |
|||
├─ rootNode |
boolean |
是否是根组织机构 |
|||
├─ parentExternalId |
string |
父级组织机构外部ID |
|||
├─ extendFields |
对象 |
扩展字段 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:外部id(externalId)不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:组织机构不存在 |
未查找到OU |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/organization/id/1?externalId=123
返回示例 :
{
"status": 200,
"message": "查询成功",
"requestId": "48759A7F-BC80-467A-AA80-AA058C6331A7",
"data": {
"refOrgExternalId": null,
"organizationName": "测试123",
"manager": [],
"sortNumber": 0,
"externalId": "2748476799924177626",
"description": "",
"type": "SELF_OU",
"nodeType": "SELF_CREATED",
"uuid": "a2144f9071a240323d20e8a3192a512fWyfbJjKQu4r",
"enabled": true,
"rootNode": false,
"parentExternalId": "main",
"extendFields": {}
},
"code": "200",
"success": true
}
2.2.2.5. 获取组织机构列表¶
若传入的查询参数externalId为引用节点组织外部ID,则会返回引用的人事组织节点下的所有组织
Path: /api/sync/v1/data_accept/SCIM/organization/list/id/{同步任务id}
Method: GET
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
Query
参数名 |
参数值 |
类型 |
备注 |
---|---|---|---|
externalId |
{externalId} |
String |
组织单位的外部id(externalId)。选填 |
pageNumber |
{pageNumber} |
Number |
分页开始位置,默认1 |
pageSize |
{pageSize} |
Number |
分页限制条数,默认20 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
|
data |
object |
||
├ refOrgExternalId |
string |
若传入的查询参数externalId为引用节点组织外部ID,则会返回引用的人事组织节点外部ID |
|
├ organizations |
string |
返回的组织机构信息 |
|
├─externalId |
string |
组织机构的外部id |
|
├─organizationName |
string |
组织机构名称 |
|
├─externalId |
string |
组织机构的外部id,和id一样 |
|
├─parentExternalId |
string |
父组织机构外部id |
|
├─ type |
string |
类型 |
|
├─enabled |
string |
是否可用 |
|
├─description |
string |
描述 |
|
├─nodeType |
string |
组织机构类型 |
ENTERPRISE_ROOT(“公司根节点”,“Enterprise root”) |
├─refOrgExternalId |
string |
引用人事节点外部ID |
当nodeType为引用主树类型时,该ID代表此节点引用的人事组织节点外部ID |
└─extendFields |
object |
扩展字段 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
EntityNotFound |
例如:组织机构123456不存在 |
未查找到externalId对应的OU |
403 |
Forbidden |
例如:没有权限操作该父OU |
没有权限操作 |
请求示例 :
获取该公司的所有组织机构: /api/sync/v1/data_accept/SCIM/organization/list/id/5
获取某个OU下所有组织机构的信息: /api/sync/v1/data_accept/SCIM/organization/list/id/5?externalId=5986176890912195413
响应示例:
{
"status": 200,
"message": "查询成功",
"requestId": "1657529221902$09977776-b416-52e5-2ed9-cf4572dd75cc",
"data": {
"total": 163,
"refOrgExternalId": "",
"organizations": [
{
"refOrgExternalId": null,
"organizationName": "莉莉丝飞书同步IDP",
"manager": [],
"sortNumber": 0,
"externalId": "7379463240492416927",
"description": "",
"type": "DEPARTMENT",
"nodeType": "SELF_CREATED",
"uuid": "181d7b02707df7f045e37182e843200fi9J2ftg58jr",
"enabled": true,
"rootNode": false,
"parentExternalId": "main",
"extendFields": {}
},
{
"refOrgExternalId": null,
"organizationName": "2FA",
"manager": [],
"sortNumber": 0,
"externalId": "4666166874966675502",
"description": "",
"type": "DEPARTMENT",
"nodeType": "SELF_CREATED",
"uuid": "25a08a0ddbf2595a218bd33c8bf9a84aoLDzcdK5Ogc",
"enabled": true,
"rootNode": false,
"parentExternalId": "main",
"extendFields": {}
}
]
},
"code": "200",
"success": true
}
2.2.3. 账户相关接口¶
2.2.3.1. 推送账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
Method: POST
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
externalId |
string |
非必须 |
用户的唯一id |
如果不填,将随机生成一个,并在结果中返回 |
|
userName |
string |
必须 |
IDaaS平台主账户 |
||
displayName |
string |
必须 |
用户的显示名称 |
||
password |
string |
非必须 |
IDaaS平台主账户密码 |
若为空,则将使用系统随机密码。 |
|
string |
非必须 |
邮箱 |
和手机号必有一个 |
||
phoneNumber |
string |
非必须 |
|
手机号, 只能一个且唯一 |
和邮箱必有一个 |
enabled |
boolean |
非必须 |
|
是否启用 |
true:启用,false:禁用,默认为true。 |
locked |
boolean |
非必须 |
|
是否锁定 |
true:已锁定,false:未锁定,默认为false。 |
firstLogin |
boolean |
非必须 |
|
首次登录,是否需要用户修改密码 |
默认值为true,需要修改 |
description |
string |
非必须 |
|
描述信息 |
|
userBelongs |
object[] |
必须 |
|
用户所属的组织机构列表 |
人员组织机构属性需要放到这下面 |
├─externalId |
string |
必须 |
组织机构的外部id |
||
├─mainOu |
boolean |
必须 |
是否是主组织机构 |
||
├─displayOrder |
string |
非必须 |
显示顺序 |
||
├─extendFields |
object |
非必须 |
人员组织属性参数,Map<key,value>结构,key为人员组织属性的字段值,value为需要赋予的具体值 |
||
extendFields |
object |
非必须 |
自定义扩展的字段,在IDP数据字典中定义。 |
填写则代表更新该项信息。更新时,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test |
string |
非必须 |
该组需要拥有对应的扩展属性 |
|
|
├─ test1 |
string |
非必须 |
该组需要拥有对应的扩展属性 |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
||
data |
object |
非必须 |
|||
├─externalId |
string |
非必须 |
返回的外部id |
||
├─id |
string |
非必须 |
uuid |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:账户名称不能为空 |
请求参数错误 |
400 |
InvalidParameter.ExternalId.Exist |
例如:externalId外部ID重复 |
外部id重复 |
400 |
InvalidParameter.Name.Exist |
例如:账户名(username)已经存在 |
账户名称已经存在 |
400 |
InvalidParameter.Name.Exist |
例如:账户名(username)已经存在 |
账户名称已经存在 |
400 |
InvalidParameter.DisplayName.Exist |
例如:显示名已经存在 |
显示名已经存在 |
400 |
InvalidParameter.Email.Exist |
例如:邮箱(email)已被其他账户绑定 |
邮箱(email)已被其他账户绑定 |
400 |
InvalidParameter.PhoneNumber.Exist |
例如:手机号(phoneNumber)已被其他账户绑定 |
手机号(phoneNumber)已被其他账户绑定 |
400 |
InvalidParameter.PhoneEmail.AllEmpty |
例如:手机号(phoneNumber)和邮箱(email)必须选填一个 |
手机号(phoneNumber)和邮箱(email)不能全为空 |
400 |
EntityNotFound |
例如:所属组织机构(belongs):123456不存在 |
未查找到externalId对应的OU |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
请求示例 :
{
"externalId": "123456",
"userName": "developer2",
"displayName": "开发人员3",
"password": "Jdev@12345",
"email": "test2@test.com",
"phoneNumber": "",
"description": "",
"userBelongs":[{
"externalId":"4860408743312212887",
"mainOu":true,
"extendFields":{
"connector":"1"
},
"displayOrder":1
}],
"extendFields": {
"test": "123456",
"test1": "woman"
}
}
成功示例 :
{
"status": 200,
"message": "添加成功",
"requestId": "AEC3C517-3B90-49F8-B900-F6F3474C3AAE",
"data": {
"externalId": "39672213017021884",
"id": "6cd08b72926a7487118b37009f56571a7tPWM40TdZF"
},
"code": "200",
"success": true
}
2.2.3.2. 修改账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
Method: PUT
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
externalId |
string |
必须 |
账户外部id |
||
userName |
string |
非必须 |
|||
displayName |
string |
非必须 |
|||
password |
string |
非必须 |
|||
string |
非必须 |
||||
phoneNumber |
string |
非必须 |
|||
expireTime |
string |
非必须 |
|||
description |
string |
非必须 |
|||
locked |
boolean |
非必须 |
|
|
|
firstLogin |
boolean |
非必须 |
|
首次登录,是否需要用户修改密码 |
默认值为true,需要修改 |
userBelongs |
object[] |
必须 |
|
用户所属的组织机构列表 |
人员组织机构属性需要放到这下面 |
├─externalId |
string |
必须 |
组织机构的外部id |
||
├─mainOu |
boolean |
必须 |
是否是主组织机构 |
||
├─displayOrder |
long |
非必须 |
显示顺序 |
||
├─extendFields |
object |
非必须 |
人员组织属性参数,Map<key,value>结构,key为人员组织属性的字段值,value为需要赋予的具体值 |
||
extendFields |
object |
非必须 |
|||
├─ test |
string |
非必须 |
|||
├─ test1 |
string |
非必须 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
|
data |
object |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:账户名称不能为空 |
请求参数错误 |
400 |
InvalidParameter.ExternalId.Exist |
例如:externalId外部ID重复 |
外部id重复 |
400 |
InvalidParameter.Name.Exist |
例如:账户名(username)已经存在 |
账户名称已经存在 |
400 |
InvalidParameter.DisplayName.Exist |
例如:显示名已经存在 |
显示名已经存在 |
400 |
InvalidParameter.Email.Exist |
例如:邮箱(email)已被其他账户绑定 |
邮箱(email)已被其他账户绑定 |
400 |
InvalidParameter.PhoneNumber.Exist |
例如:手机号(phoneNumber)已被其他账户绑定 |
手机号(phoneNumber)已被其他账户绑定 |
400 |
InvalidParameter.PhoneEmail.AllEmpty |
例如:手机号(phoneNumber)和邮箱(email)必须选填一个 |
手机号(phoneNumber)和邮箱(email)不能全为空 |
400 |
InvalidParameter.ExternalId.NotExist |
例如:通过externalId查询不到账户 |
未查找到externalId对应的账户 |
400 |
EntityNotFound |
例如:所属组织机构(belongs):123456不存在 |
未查找到externalId对应的OU |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
请求示例 :
{
"externalId": "123456",
"userName": "developer2",
"displayName": "开发人员4",
"password": "Jdev@12345",
"email": "test2@test.com",
"phoneNumber": "",
"description": "",
"userBelongs":[{
"externalId":"4860408743312212887",
"mainOu":true,
"extendFields":{
"connector":"1"
},
"displayOrder":1
}],
"extendFields": {
"test": "123456",
"test1": "woman"
}
}
返回示例 :
{
"status": 200,
"message": "修改成功",
"requestId": "10DE5F50-F9EF-4FFF-A155-EF812CB7DA03",
"data": null,
"code": "200",
"success": true
}
2.2.3.3. 删除账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
Method: DELETE
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
Query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
外部ID |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:外部id(externalId)不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:账户不存在 |
未查找到要删除的账户 |
403 |
OperationDenied |
例如:管理员 admin 不能删除 |
删除操作不被允许 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/1?externalId=123
返回示例 :
{
"status": 200,
"message": "删除成功",
"requestId": "4DEC8F0A-68BF-4E8A-A17B-6B0417153ECC",
"data": null,
"code": "200",
"success": true
}
2.2.3.4. 获取账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
Method: GET
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
Query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
外部ID |
返回数据
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
success |
boolean |
必须 |
是否成功 |
||
code |
string |
必须 |
成功为200 |
||
message |
null |
必须 |
错误信息 |
success为false取值提示给用户 |
|
requestId |
string |
必须 |
无须关注 |
||
data |
object |
非必须 |
|||
externalId |
string |
非必须 |
用户的唯一id |
如果不填,将随机生成一个,并在结果中返回 |
|
userName |
string |
必须 |
IDaaS平台主账户 |
||
displayName |
string |
必须 |
用户的显示名称 |
||
password |
string |
非必须 |
IDaaS平台主账户密码 |
若为空,则将使用系统随机密码。 |
|
string |
非必须 |
邮箱 |
和手机号必有一个 |
||
phoneNumber |
string |
非必须 |
|
手机号, 只能一个且唯一 |
和邮箱必有一个 |
enabled |
boolean |
非必须 |
|
是否启用 |
true:启用,false:禁用,默认为true。 |
locked |
boolean |
非必须 |
|
是否锁定 |
true:已锁定,false:未锁定,默认为false。 |
firstLogin |
boolean |
非必须 |
|
首次登录,是否需要用户修改密码 |
默认值为true,需要修改 |
description |
string |
非必须 |
|
描述信息 |
|
userBelongs |
对象组 |
非必须 |
|
账户所属的组织机构列表 |
选填,没有则是使用belongs中的第一个作为主OU |
├─externalId |
string |
所属的OU |
|||
├─mainOu |
boolean |
是否是主OU |
|||
├─extendFields |
对象 |
扩展字段 |
|||
├─displayOrder |
long |
人员在组织机构里面的排序号 |
|||
extendFields |
object |
非必须 |
自定义扩展的字段,在IDP数据字典中定义。 |
填写则代表更新该项信息。更新时,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test |
string |
非必须 |
|
||
├─ test1 |
string |
非必须 |
**错误码**
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:externalID为空 |
请求参数错误 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}
请求示例 :
/api/sync/v1/data_accept/SCIM/account/id/1?externalId=123
成功示例 :
{
"status": 200,
"message": "查询成功",
"requestId": "630641BF-6A5B-4822-878F-13D3CEA96933",
"data": {
"displayName": "scim_test2",
"externalId": "6388145574403509802",
"description": "来自应用{企业微信同步数据到idaas}的同步",
"userBelongs": [
{
"externalId": "4860408743312212887",
"mainOu": true,
"extendFields": {
"connector": "1"
},
"displayOrder": 1
}
],
"enabled": true,
"archived": false,
"phoneNumber": "13980522912",
"phoneRegion": "86",
"extendFields": {
"test": "12",
"sex": "0",
"age": "12"
},
"locked": false,
"email": "zzzz@qq.com",
"username": "scim_test1",
},
"code": "200",
"success": true
}
2.2.3.5. 离职账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}/archive
Method: POST
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
Body
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
外部ID |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:外部id(externalId)不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:账户不存在 |
|
403 |
OperationDenied |
例如:管理员 admin 不能离职 |
|
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}/archive
返回示例 :
{
"status": 200,
"message": "离职成功",
"requestId": "C2DB9275-52EA-4D60-BA42-E6438330778E",
"data": null,
"code": "200",
"success": true
}
2.2.3.6. 返聘账户¶
Path:/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}/rehire
Method: POST
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
Body
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
账户外部ID |
|
organizationExternalId |
否 |
需要被返聘回的组织机构外部ID,如果不填,默认返聘回原组织机构 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:外部id(externalId)不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:账户不存在 |
|
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/id/{同步任务id}/rehire
请求示例:
{
"externalId":"6388145574403509802",
"organizationExternalId":"2748476799924177626"
}
返回示例 :
{
"status": 200,
"message": "返聘成功",
"requestId": "9868D889-268B-4507-9FF1-91EC030CD2FB",
"data": null,
"code": "200",
"success": true
}
2.2.3.7. 获取账户列表¶
Path:/api/sync/v1/data_accept/SCIM/account/list/id/{同步任务id}
Method: GET
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
ouExternalId |
否 |
指定具体组织机构的外部ID, 可选 |
|
createStartDate |
否 |
2022-01-01 |
指定账户创建开始日期, 格式: yyyy-MM-dd, 如: 2018-01-01, 可选 |
createEndDate |
否 |
2022-01-01 |
指定账户创建结束日期, 格式: yyyy-MM-dd, 如: 2018-01-30, 可选 |
pageNumber |
否 |
分页页码,默认为1 |
|
pageSize |
否 |
每页数量,默认为20 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
|
data |
object |
||
│ total |
int |
总数 |
|
├ refOrgExternalId |
string |
若传入的查询参数ouExternalId为引用节点组织外部ID,则会返回引用的人事组织节点外部ID |
|
└─accounts |
object |
返回的账户列表 |
|
├─externalId |
string |
用户的外部id |
|
├─username |
string |
用户名 |
|
├─displayName |
string |
显示名 |
|
├─phoneNumber |
string |
手机号 |
|
string |
邮箱 |
||
├─locked |
string |
账号是否锁定,true为锁定,false为未锁定 |
|
├─archived |
boolean |
是否离职,false:普通账户,true:离职账户 |
|
├─enabled |
string |
账号是否可用,true为启用,false禁用 |
|
├─extendFields |
object |
扩展字段 |
|
├userBelongs |
string [] |
所属ou的外部id |
为组织外部id的集合,必填 |
├─externalId |
String |
具体的组织外部id |
|
├─mainOu |
boolean |
是否主组织 |
true:是,false:不是 |
├─displayOrder |
long |
人员排序 |
|
├─extendFields |
object |
自定义”人员-组织属性”数据字典 |
填写则代表更新该项信息。更新时,如果数据字典是必填选项,则该属性必填 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
EntityNotFound |
例如:组织机构123456不存在 |
未查找到externalId对应的OU |
403 |
Forbidden |
例如:没有权限操作该父OU |
没有权限操作 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/account/list/id/5?ouExternalId=4860408743312212887&pageNumber=1&pageSize=2&createStartDate=2022-01-22&createEndDate=2022-01-22
请求示例:
返回示例 :
{
"status": 200,
"message": "查询成功",
"requestId": "1657188718443$553ff981-f2be-01b5-56a9-40cee28703bd",
"data": {
"total": 1,
"refOrgExternalId": null,
"accounts": [
{
"displayName": "cf_aaa",
"applicationUsers": [],
"effectiveTime": null,
"externalId": "6681920058773877059",
"description": "",
"updateTime": "2022-01-22 15:25",
"userBelongs": [
{
"externalId": "4860408743312212887",
"mainOu": false,
"extendFields": {
"connector": "1"
},
"displayOrder": 1
}
],
"enabled": true,
"archived": false,
"phoneNumber": "13980522956",
"expireTime": "2116-12-31 23:59",
"createTime": "2022-01-22 15:25",
"phoneRegion": "86",
"extendFields": {},
"locked": false,
"email": null,
"username": "cf_aaa",
}
]
},
"code": "200",
"success": true
}
2.2.4. 组相关接口¶
2.2.4.1. 推送组¶
Path:/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
Method: POST
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
externalId |
string |
非必须 |
账户组id,唯一 |
选填,不填时,系统会随机生成一个,并在结果中返回 |
|
displayName |
string |
必须 |
组显示名称。必填 |
||
ouExternalId |
string |
必须 |
所属组织单位(OU)的外部ID,必填 |
||
description |
string |
非必须 |
描述信息,选填 |
||
addMembers |
object [] |
非必须 |
|
需要添加的组成员 |
已经存在的账户外部ID和账户名 |
├─accountExternalId |
String |
非必须 |
|
账户外部ID,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
├─username |
boolean |
非必须 |
|
账户名,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
extendFields |
object |
非必须 |
自定义扩展的字段,在IDP数据字典中定义。 |
填写则代表更新该项信息。更新时,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test |
string |
非必须 |
|
||
├─ test1 |
string |
非必须 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
|
data |
object |
||
├─ externalId |
string |
返回的外部id |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:组名称不能为空 |
请求参数错误 |
400 |
InvalidParameter.DisplayName.Exist |
例如:当前OU下,组名已经存在 |
显示名已经存在 |
400 |
InvalidParameter.ExternalId.Exist |
例如:externalId已存在 |
externalId已存在 |
400 |
EntityNotFound |
例如:OU不存在 |
组隶属的OU不存在 |
403 |
Forbidden |
例如:没有权限操作该组 |
没有权限操作该组 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
请求示例 :
{
"externalId": "121-11",
"displayName": "测试同步组11",
"ouExternalId": "605016592710192945",
"addMembers": [
{
"accountExternalId":"",
"username":"test1"
}
],
"extendFields": {
"test":"123456"
}
}
成功示例 :
{
"status": 200,
"message": "添加成功",
"requestId": "3AC5EF75-2373-4C84-A18E-2E7C75D81514",
"data": {
"externalId": "121123"
},
"code": "200",
"success": true
}
2.2.4.2. 修改组¶
Path:/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
Method: PUT
Headers
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Content-Type |
application/json |
是 |
||
Authorization |
Bearer {access_token} |
是 |
Body
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
---|---|---|---|---|---|
externalId |
string |
必须 |
账户组id,唯一 |
||
displayName |
string |
非必须 |
组显示名称。必填 |
||
description |
string |
非必须 |
描述信息,选填 |
选填,填写时代表更新 |
|
addMembers |
object [] |
非必须 |
|
需要添加的组成员 |
已经存在的账户外部ID和账户名 |
├─accountExternalId |
String |
非必须 |
|
账户外部ID,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
├─username |
boolean |
非必须 |
|
账户名,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
deleteMembers |
object[] |
非必须 |
|
需要移除的组成员, |
已经存在的账户外部ID和账户名 |
├─accountExternalId |
String |
非必须 |
|
账户外部ID,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
├─username |
boolean |
非必须 |
|
账户名,如果同时传了accountExternalId和username,以accountExternalId为准 |
|
extendFields |
object |
非必须 |
自定义扩展的字段,在IDP数据字典中定义。 |
填写则代表更新该项信息。更新时,如果自定义扩展的字段是必填选项,则该属性必填 |
|
├─ test |
string |
非必须 |
|
||
├─ test1 |
string |
非必须 |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
|
data |
object |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:组的externalId参数不能为空 |
请求参数错误 |
400 |
InvalidParameter.DisplayName.Exist |
例如:当前OU下,组名已经存在 |
显示名已经存在 |
400 |
InvalidParameter.ExternalId.NotExist |
例如:externalId不存在 |
externalId不存在 |
403 |
Forbidden |
例如:没有权限操作该组 没有权限操作该组 |
请求地址示例:/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
请求示例 :
{
"externalId": "121",
"description": "tttt测试",
"displayName": "测试t121",
"addMembers": [
{
"accountExternalId":"",
"username":"test1"
}
],
"deleteMembers": [
{
"accountExternalId":"",
"username":"test2"
}
],
"extendFields": {
"test":"ttt测试"
}
}
返回示例 :
{
"status": 200,
"message": "修改成功",
"requestId": "F8997456-DC8E-4120-B1AF-5055BA199CEC",
"data": null,
"code": "200",
"success": true
}
2.2.4.3. 删除组¶
Path:/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
Method: DELETE
**Headers **
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
---|---|---|---|---|
Authorization |
Bearer {access_token} |
是 |
Query
参数名称 |
是否必须 |
示例 |
备注 |
---|---|---|---|
externalId |
是 |
组外部ID |
返回数据
名称 |
类型 |
备注 |
其他信息 |
---|---|---|---|
success |
boolean |
是否成功 |
|
code |
string |
成功为200 |
|
message |
null |
错误信息 |
success为false取值提示给用户 |
requestId |
string |
无须关注 |
错误码
HttpCode(请求状态码) |
code(错误码) |
message(错误信息) |
备注 |
---|---|---|---|
200 |
200 |
null |
请求成功 |
400 |
InvalidParameter |
例如:组的externalId参数不能为空 |
请求参数错误 |
400 |
EntityNotFound |
例如:查询不到组信息 |
未查询到组信息 |
400 |
OperationDenied.GroupContainsChildren |
例如:组有关联成员(如有子成员),不能删除 |
组有关联成员(如有子成员),不能删除 |
403 |
Forbidden |
例如:没有权限操作该组 |
没有权限操作该组 |
请求地址示例:
{{idaas_host}}/api/sync/v1/data_accept/SCIM/group/id/{同步任务id}
请求示例 :
/api/sync/v1/data_accept/SCIM/group/id/1?externalId=123
返回示例:
{
"status": 200,
"message": "删除成功",
"requestId": "A19B5B53-97E2-448E-A57A-268E5253AC3D",
"data": null,
"code": "200",
"success": true
}