Skip to main content

保存目录数据源配置接口

在指定 sourceId 下创建或替换通讯录数据源配置,包含连接参数、字段映射、同步范围和计划。

  • Scope:admin.v1.directory-sync-config.manage
  • 权限项:用户同步配置管理(directory-sync-config)
  • 权限类型:管理
  • 接口:PUT/api/openapi/v1/directory-sync/sources/{sourceId}

认证与请求头

使用应用 API Key 调用。当前接口只校验上方独立 Scope;读取、管理与执行权限互不隐含。
名称位置类型必填说明示例
Authorizationheaderstring是应用 API Key,使用 Bearer 方式传递。Bearer qwk_***
X-Request-Idheaderstring否可选的调用追踪标识;未传入时由服务端生成。req-20260831-001

请求参数

名称位置类型必填说明示例
sourceIdpathstring · uuid必填数据源 ID"<uuid>"
Idempotency-Keyheaderstring必填幂等键,用于避免重复提交"<string>"
config_revisionbodyinteger · int64否配置版本号1
credentialsbodyOpenapifacadeDirectorySourceCredentials否凭据-
default_seatbodyboolean必填新用户默认申请席位false
deletion_alert_emailbodystring否告警邮箱"<string>"
deletion_alert_enabledbodyboolean必填删除告警false
deletion_alert_thresholdbodyinteger · int64必填删除告警阈值0
deletion_policybodystring必填离职处理"delete_user"
initial_scim_tokenbodystring否初始 SCIM Token"<string>"
namebodystring必填来源名称"<string>"
schedulebodystring必填同步频率"manual"
schedule_anchor_atbodystring · date-time否同步时间(北京时间)"2026-08-27T10:00:00Z"
settingsbodyOpenapifacadeDirectorySourceSettings必填数据源配置-
source_typebodystring必填数据源类型"dingtalk"

credentials 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
agent_idstring否应用 Agent ID(仅写入)
app_idstring否应用 ID(仅写入)
app_secretstring否应用密钥(仅写入)
bind_dnstring否LDAP 绑定 DN(仅写入)
bind_passwordstring否LDAP 绑定密码(仅写入)
client_idstring否客户端 ID(仅写入)
client_secretstring否客户端密钥(仅写入)
corp_idstring否企业 ID(仅写入)
secretstring否认证密钥(仅写入)
tenant_idstring否租户 ID(仅写入)

settings 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
connectionobject是连接配置
department_mappingobject是部门映射
mappingobject是成员映射
scopeobject是同步范围
wecomobject否企业微信部署与地址配置

settings.connection 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
client_namestring否SCIM Client
tls_enabledboolean否启用 TLS
urlstring否服务器地址

settings.department_mapping 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
external_idstring是第三方部门 ID(来源字段)
namestring是部门名称(来源字段)
orderstring否排序(来源字段)
parent_external_idstring否上级第三方部门 ID(来源字段)
statusstring否状态(来源字段)

settings.mapping 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
accountstring否账号(来源字段)
department_external_idstring否所属部门的第三方部门 ID(来源字段)
emailstring否邮箱(来源字段)
employee_nostring否工号(来源字段)
external_idstring是第三方用户 ID(来源字段)
namestring是用户姓名(来源字段)
phonestring否手机号(来源字段)
statusstring否状态(来源字段)

settings.scope 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
base_dnstring否Base DN
modestring是同步范围类型;可选值:all, departments, base_dn, administrative_units
org_unit_external_idsarray<string> | null否范围部门(第三方部门 ID 列表)
org_unit_filterstring否部门过滤器
user_filterstring否用户过滤器

settings.wecom 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
api_base_urlstring否企业微信 API 基础地址
authorization_urlstring否企业微信授权地址
deploymentstring是企业微信部署类型;可选值:standard, private

请求示例

curl --request PUT \
  --url 'https://example.invalid/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_revisioninteger · int64是配置版本号0
connection_statusstring是连接状态"<string>"
created_atstring · date-time是创建时间"2026-08-27T10:00:00Z"
created_by_emailstring否创建人邮箱"<string>"
created_by_namestring否创建人"<string>"
credential_configuredboolean是是否已配置凭据false
default_seatboolean是新用户默认申请席位false
deletion_alert_emailstring否告警邮箱"<string>"
deletion_alert_enabledboolean是删除告警false
deletion_alert_thresholdinteger · int64是删除告警阈值0
deletion_policystring是离职处理"<string>"
external_id_fieldstring是第三方用户 ID 映射字段"<string>"
external_id_field_lockedboolean是第三方用户 ID 映射是否已锁定false
idstring · uuid是数据源 ID"<uuid>"
last_activity_atstring · date-time否最近活动时间"2026-08-27T10:00:00Z"
last_connected_atstring · date-time否最近连接时间"2026-08-27T10:00:00Z"
last_connection_error_codestring否最近连接错误码"<string>"
modified_atstring · date-time是更新时间"2026-08-27T10:00:00Z"
namestring是来源名称"<string>"
next_run_atstring · date-time否下次同步时间"2026-08-27T10:00:00Z"
schedulestring是同步频率"<string>"
schedule_anchor_atstring · date-time否同步时间(北京时间)"2026-08-27T10:00:00Z"
settingsOpenapifacadeDirectorySourceSettings是数据源配置-
source_typestring是数据源类型"<string>"
statusstring是状态"<string>"
updated_by_emailstring否更新人邮箱"<string>"
updated_by_namestring否更新人"<string>"

settings 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
connectionobject是连接配置
department_mappingobject是部门映射
mappingobject是成员映射
scopeobject是同步范围
wecomobject否企业微信部署与地址配置

settings.connection 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
client_namestring否SCIM Client
tls_enabledboolean否启用 TLS
urlstring否服务器地址

settings.department_mapping 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
external_idstring是第三方部门 ID(来源字段)
namestring是部门名称(来源字段)
orderstring否排序(来源字段)
parent_external_idstring否上级第三方部门 ID(来源字段)
statusstring否状态(来源字段)

settings.mapping 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
accountstring否账号(来源字段)
department_external_idstring否所属部门的第三方部门 ID(来源字段)
emailstring否邮箱(来源字段)
employee_nostring否工号(来源字段)
external_idstring是第三方用户 ID(来源字段)
namestring是用户姓名(来源字段)
phonestring否手机号(来源字段)
statusstring否状态(来源字段)

settings.scope 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
base_dnstring否Base DN
modestring是同步范围类型;可选值:all, departments, base_dn, administrative_units
org_unit_external_idsarray<string> | null否范围部门(第三方部门 ID 列表)
org_unit_filterstring否部门过滤器
user_filterstring否用户过滤器

settings.wecom 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
api_base_urlstring否企业微信 API 基础地址
authorization_urlstring否企业微信授权地址
deploymentstring是企业微信部署类型;可选值:standard, private
{
  "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

名称类型必填说明示例
codestring否Stable business error code"<string>"
detailstring是Human-readable error description"<string>"
detailsOpenapiErrorDetails否错误详情-
errorstring是Stable HTTP error type"<string>"

details 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
fieldstring否校验失败的请求字段
reasonstring否校验失败的原因代码
suggestionstring否建议使用的规范化值
{
  "code": "<string>",
  "detail": "<string>",
  "details": {
    "field": "<string>",
    "reason": "<string>",
    "suggestion": "<string>"
  },
  "error": "<string>"
}

企业微信私有化配置

企业微信保持 source_type: "wecom"。settings.wecom 为可选对象:deployment 为 standard 或 private, api_base_url 为私有化企微的 HTTPS API 基础地址;authorization_url 为可选授权地址。 未配置时使用标准版固定地址;更新省略 settings.wecom 时保留原配置。 私有化服务须兼容企微协议且能由服务端直接访问,禁止明文 HTTP、跳过证书校验或失败时回退公网地址。 连接测试、部门读取和同步复用该地址;原属性映射、Scope 和同步策略不变。 消息回调凭据在管理控制台单独配置,不通过本接口读取或写入。