保存目录数据源配置接口
将 <BASE_URL> 替换为所在企业环境的 API 域名。
- Scope:
admin.v1.directory-sync-config.manage - 权限项:用户同步配置管理(
directory-sync-config) - 权限类型:管理
- 接口:PUT
/api/openapi/v1/directory-sync/sources/{sourceId}
认证与请求头
使用应用 API Key 调用。当前接口只校验上方独立 Scope;读取、管理与执行权限互不隐含。
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | 应用 API Key,使用 Bearer 方式传递。 | Bearer qwk_*** |
X-Request-Id | header | string | 否 | 可选的调用追踪标识;未传入时由服务端生成。 | req-20260831-001 |
请求参数
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
sourceId | path | string · uuid | 必填 | - | "<uuid>" |
Idempotency-Key | header | string | 必填 | - | "<string>" |
config_revision | body | integer · int64 | 否 | - | 1 |
credentials | body | OpenapifacadeDirectorySourceCredentials | 否 | - | {"agent_id":"<string>","app_id":"<string>","app_secret":"<string>","bind_dn":"<string>","bind_password":"<string>","client_id":"<string>","client_secret":"<string>","corp_id":"<string>","secret":"<string>","tenant_id":"<string>"} |
default_seat | body | boolean | 必填 | - | false |
deletion_alert_email | body | string | 否 | - | "<string>" |
deletion_alert_enabled | body | boolean | 必填 | - | false |
deletion_alert_threshold | body | integer · int64 | 必填 | - | 0 |
deletion_policy | body | string | 必填 | - | "delete_user" |
initial_scim_token | body | string | 否 | - | "<string>" |
name | body | string | 必填 | - | "<string>" |
schedule | body | string | 必填 | - | "manual" |
schedule_anchor_at | body | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
settings | body | OpenapifacadeDirectorySourceSettings | 必填 | - | {"connection":{"client_name":"<string>","tls_enabled":false,"url":"<string>"},"department_mapping":{"external_id":"<string>","name":"<string>","order":"<string>","parent_external_id":"<string>","status":"<string>"},"mapping":{"account":"<string>","department_external_id":"<string>","email":"<string>","employee_no":"<string>","external_id":"<string>","name":"<string>","phone":"<string>","status":"<string>"},"scope":{"base_dn":"<string>","mode":"all","org_unit_external_ids":["<string>"],"org_unit_filter":"<string>","user_filter":"<string>"}} |
source_type | body | string | 必填 | - | "dingtalk" |
请求示例
cURL
curl --request PUT \
--url '<BASE_URL>/api/openapi/v1/directory-sync/sources/<sourceId>' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
--header 'Content-Type: application/json' \
--data '{
"config_revision": 1,
"credentials": {
"agent_id": "<string>",
"app_id": "<string>",
"app_secret": "<string>",
"bind_dn": "<string>",
"bind_password": "<string>",
"client_id": "<string>",
"client_secret": "<string>",
"corp_id": "<string>",
"secret": "<string>",
"tenant_id": "<string>"
},
"default_seat": false,
"deletion_alert_email": "<string>",
"deletion_alert_enabled": false,
"deletion_alert_threshold": 0,
"deletion_policy": "delete_user",
"initial_scim_token": "<string>",
"name": "<string>",
"schedule": "manual",
"schedule_anchor_at": "2026-08-27T10:00:00Z",
"settings": {
"connection": {
"client_name": "<string>",
"tls_enabled": false,
"url": "<string>"
},
"department_mapping": {
"external_id": "<string>",
"name": "<string>",
"order": "<string>",
"parent_external_id": "<string>",
"status": "<string>"
},
"mapping": {
"account": "<string>",
"department_external_id": "<string>",
"email": "<string>",
"employee_no": "<string>",
"external_id": "<string>",
"name": "<string>",
"phone": "<string>",
"status": "<string>"
},
"scope": {
"base_dn": "<string>",
"mode": "all",
"org_unit_external_ids": [
"<string>"
],
"org_unit_filter": "<string>",
"user_filter": "<string>"
}
},
"source_type": "dingtalk"
}'响应
200 OK
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
config_revision | integer · int64 | 是 | - | 0 |
connection_status | string | 是 | - | "<string>" |
created_at | string · date-time | 是 | - | "2026-08-27T10:00:00Z" |
created_by_email | string | 否 | - | "<string>" |
created_by_name | string | 否 | - | "<string>" |
credential_configured | boolean | 是 | - | false |
default_seat | boolean | 是 | - | false |
deletion_alert_email | string | 否 | - | "<string>" |
deletion_alert_enabled | boolean | 是 | - | false |
deletion_alert_threshold | integer · int64 | 是 | - | 0 |
deletion_policy | string | 是 | - | "<string>" |
external_id_field | string | 是 | - | "<string>" |
external_id_field_locked | boolean | 是 | - | false |
id | string · uuid | 是 | - | "<uuid>" |
last_activity_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
last_connected_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
last_connection_error_code | string | 否 | - | "<string>" |
modified_at | string · date-time | 是 | - | "2026-08-27T10:00:00Z" |
name | string | 是 | - | "<string>" |
next_run_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
schedule | string | 是 | - | "<string>" |
schedule_anchor_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
settings | OpenapifacadeDirectorySourceSettings | 是 | - | {"connection":{"client_name":"<string>","tls_enabled":false,"url":"<string>"},"department_mapping":{"external_id":"<string>","name":"<string>","order":"<string>","parent_external_id":"<string>","status":"<string>"},"mapping":{"account":"<string>","department_external_id":"<string>","email":"<string>","employee_no":"<string>","external_id":"<string>","name":"<string>","phone":"<string>","status":"<string>"},"scope":{"base_dn":"<string>","mode":"all","org_unit_external_ids":["<string>"],"org_unit_filter":"<string>","user_filter":"<string>"}} |
settings.connection | OpenapifacadeDirectorySourceConnection | 是 | - | {"client_name":"<string>","tls_enabled":false,"url":"<string>"} |
settings.connection.client_name | string | 否 | - | "<string>" |
settings.connection.tls_enabled | boolean | 否 | - | false |
settings.connection.url | string | 否 | - | "<string>" |
settings.department_mapping | OpenapifacadeDirectorySourceDepartmentMapping | 是 | - | {"external_id":"<string>","name":"<string>","order":"<string>","parent_external_id":"<string>","status":"<string>"} |
settings.department_mapping.external_id | string | 是 | - | "<string>" |
settings.department_mapping.name | string | 是 | - | "<string>" |
settings.department_mapping.order | string | 否 | - | "<string>" |
settings.department_mapping.parent_external_id | string | 否 | - | "<string>" |
settings.department_mapping.status | string | 否 | - | "<string>" |
settings.mapping | OpenapifacadeDirectorySourceFieldMapping | 是 | - | {"account":"<string>","department_external_id":"<string>","email":"<string>","employee_no":"<string>","external_id":"<string>","name":"<string>","phone":"<string>","status":"<string>"} |
settings.mapping.account | string | 否 | - | "<string>" |
settings.mapping.department_external_id | string | 否 | - | "<string>" |
settings.mapping.email | string | 否 | - | "<string>" |
settings.mapping.employee_no | string | 否 | - | "<string>" |
settings.mapping.external_id | string | 是 | - | "<string>" |
settings.mapping.name | string | 是 | - | "<string>" |
settings.mapping.phone | string | 否 | - | "<string>" |
settings.mapping.status | string | 否 | - | "<string>" |
settings.scope | OpenapifacadeDirectorySourceScope | 是 | - | {"base_dn":"<string>","mode":"all","org_unit_external_ids":["<string>"],"org_unit_filter":"<string>","user_filter":"<string>"} |
settings.scope.base_dn | string | 否 | - | "<string>" |
settings.scope.mode | string | 是 | - | "all" |
settings.scope.org_unit_external_ids | array | null | 否 | - | ["<string>"] |
settings.scope.org_unit_filter | string | 否 | - | "<string>" |
settings.scope.user_filter | string | 否 | - | "<string>" |
source_type | string | 是 | - | "<string>" |
status | string | 是 | - | "<string>" |
updated_by_email | string | 否 | - | "<string>" |
updated_by_name | string | 否 | - | "<string>" |
响应示例
{
"config_revision": 0,
"connection_status": "<string>",
"created_at": "2026-08-27T10:00:00Z",
"created_by_email": "<string>",
"created_by_name": "<string>",
"credential_configured": false,
"default_seat": false,
"deletion_alert_email": "<string>",
"deletion_alert_enabled": false,
"deletion_alert_threshold": 0,
"deletion_policy": "<string>",
"external_id_field": "<string>",
"external_id_field_locked": false,
"id": "<uuid>",
"last_activity_at": "2026-08-27T10:00:00Z",
"last_connected_at": "2026-08-27T10:00:00Z",
"last_connection_error_code": "<string>",
"modified_at": "2026-08-27T10:00:00Z",
"name": "<string>",
"next_run_at": "2026-08-27T10:00:00Z",
"schedule": "<string>",
"schedule_anchor_at": "2026-08-27T10:00:00Z",
"settings": {
"connection": {
"client_name": "<string>",
"tls_enabled": false,
"url": "<string>"
},
"department_mapping": {
"external_id": "<string>",
"name": "<string>",
"order": "<string>",
"parent_external_id": "<string>",
"status": "<string>"
},
"mapping": {
"account": "<string>",
"department_external_id": "<string>",
"email": "<string>",
"employee_no": "<string>",
"external_id": "<string>",
"name": "<string>",
"phone": "<string>",
"status": "<string>"
},
"scope": {
"base_dn": "<string>",
"mode": "all",
"org_unit_external_ids": [
"<string>"
],
"org_unit_filter": "<string>",
"user_filter": "<string>"
}
},
"source_type": "<string>",
"status": "<string>",
"updated_by_email": "<string>",
"updated_by_name": "<string>"
}default Flat business error
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
code | string | 否 | Stable business error code | "<string>" |
detail | string | 是 | Human-readable error description | "<string>" |
details | OpenapiErrorDetails | 否 | - | {"field":"<string>","reason":"<string>","suggestion":"<string>"} |
details.field | string | 否 | Request field that failed validation | "<string>" |
details.reason | string | 否 | Stable validation failure reason | "<string>" |
details.suggestion | string | 否 | Suggested normalized value | "<string>" |
error | string | 是 | Stable HTTP error type | "<string>" |
响应示例
{
"code": "<string>",
"detail": "<string>",
"details": {
"field": "<string>",
"reason": "<string>",
"suggestion": "<string>"
},
"error": "<string>"
}