启动用户同步接口

为已完成配置并处于启用状态的数据源提交一次手动同步任务。响应表示任务已受理,可使用 run.id 查询进度和统计结果;SCIM 通过外部推送同步,不支持此手动任务。

所需权限

所需权限资源Scope资源服务
执行用户同步(执行)directory-sync-runsadmin.v1.directory-sync-runs.executeqwenwork-biz-service

POST /api/openapi/v1/directory-sync/runs

认证与请求头

使用应用 API Key 调用。当前接口校验上方独立 Scope;读取、管理与执行权限互不包含。

名称位置类型必填说明示例
Authorizationheaderstring应用 API Key,使用 Bearer 方式传递。Bearer qwk_\\*
X-Request-Idheaderstring可选的调用追踪标识;未传入时由服务端生成。req-20260831-001

请求参数

名称位置类型必填说明示例
Idempotency-Keyheaderstring必填本次写操作的幂等键。同一操作重试时复用相同键和请求内容,避免重复处理。"<string>"
source_idbodystring · uuid必填本次同步使用的数据源标识。"<uuid>"

请求示例

将 <BASE_URL> 替换为企业部署的千问办公 API 服务地址,并填写实际参数。示例中的占位值不能直接用于请求。

curl --request POST --url '<BASE_URL>/api/openapi/v1/directory-sync/runs' --header 'Authorization: Bearer <API_KEY>' --header 'Idempotency-Key: <UNIQUE_REQUEST_ID>' --header 'Content-Type: application/json' --data '{  "source_id": "<uuid>"}'

响应

202 请求已受理,返回任务信息;任务结果需继续查询。

名称类型必填说明示例
runOpenapifacadeDirectorySyncRun本次同步任务的状态和结果。{"created_at":"2026-08-27T10:00:00Z","error_code":"<string>","error_summary":"<string>","finished_at":"2026-08-27T10:00:00Z","id":"<uuid>","requested_by_email":"<string>","requested_by_name":"<string>","resource_type":"<string>","result":"success","source_id":"<uuid>","source_name":"<string>","source_type":"<string>","started_at":"2026-08-27T10:00:00Z","stats":{"departments":{"created":0,"deactivated":0,"deleted":0,"updated":0},"failed":0,"processed":0,"relationships":{"added":0,"removed":0,"returned_to_root":0},"seats":{"granted":0,"reclaimed":0},"succeeded":0,"users":{"created":0,"deactivated":0,"deleted":0,"updated":0}},"status":"pending","trigger_type":"manual"}
run.created_atstring · date-time此记录的创建时间。"2026-08-27T10:00:00Z"
run.error_codestring同步失败时返回的错误码。"<string>"
run.error_summarystring同步错误的简要说明。"<string>"
run.finished_atstring · date-time同步任务执行结束的时间。"2026-08-27T10:00:00Z"
run.idstring · uuid此记录的唯一标识,查询、更新或删除对应记录时使用。"<uuid>"
run.requested_by_emailstring发起本次同步的操作者邮箱。"<string>"
run.requested_by_namestring发起本次同步的操作者名称。"<string>"
run.resource_typestring此次记录涉及的资源类型。"<string>"
run.resultstring同步处理结果:success 全部成功,partial_success 部分成功,failure 失败。"success"
run.source_idstring · uuid本次同步使用的数据源标识。"<uuid>"
run.source_namestring本次同步所用数据源的名称。"<string>"
run.source_typestring通讯录来源类型,用于选择钉钉、飞书、企业微信、AD、LDAP、Entra ID 或 SCIM 的接入方式。"<string>"
run.started_atstring · date-time同步任务开始执行的时间。"2026-08-27T10:00:00Z"
run.statsOpenapifacadeDirectorySyncRunStats本次同步的用户、部门、关系及席位变更统计。{"departments":{"created":0,"deactivated":0,"deleted":0,"updated":0},"failed":0,"processed":0,"relationships":{"added":0,"removed":0,"returned_to_root":0},"seats":{"granted":0,"reclaimed":0},"succeeded":0,"users":{"created":0,"deactivated":0,"deleted":0,"updated":0}}
run.stats.departmentsOpenapifacadeDirectorySyncChangeCounts本次同步中部门变更的数量。{"created":0,"deactivated":0,"deleted":0,"updated":0}
run.stats.departments.createdinteger · int64本次同步新增的对象数量。0
run.stats.departments.deactivatedinteger · int64本次同步停用的用户数量。0
run.stats.departments.deletedinteger · int64本次同步删除的对象数量。0
run.stats.departments.updatedinteger · int64本次同步更新的对象数量。0
run.stats.failedinteger · int64本次任务处理失败的对象数量。0
run.stats.processedinteger · int64本次任务已处理的对象数量。0
run.stats.relationshipsOpenapifacadeDirectorySyncRelationshipCounts本次同步中部门归属关系的变更数量。{"added":0,"removed":0,"returned_to_root":0}
run.stats.relationships.addedinteger · int64本次同步新增的部门归属关系数量。0
run.stats.relationships.removedinteger · int64本次同步移除的部门归属关系数量。0
run.stats.relationships.returned_to_rootinteger · int64本次同步后回到根部门的用户数量。0
run.stats.seatsOpenapifacadeDirectorySyncSeatCounts本次同步中席位分配和回收的数量。{"granted":0,"reclaimed":0}
run.stats.seats.grantedinteger · int64本次同步分配的席位数量。0
run.stats.seats.reclaimedinteger · int64本次同步回收的席位数量。0
run.stats.succeededinteger · int64本次任务处理成功的对象数量。0
run.stats.usersOpenapifacadeDirectorySyncChangeCounts本次同步中用户新增、更新、停用和删除的数量。{"created":0,"deactivated":0,"deleted":0,"updated":0}
run.stats.users.createdinteger · int64本次同步新增的对象数量。0
run.stats.users.deactivatedinteger · int64本次同步停用的用户数量。0
run.stats.users.deletedinteger · int64本次同步删除的对象数量。0
run.stats.users.updatedinteger · int64本次同步更新的对象数量。0
run.statusstring同步任务状态:pending 等待执行,running 执行中,succeeded 执行成功,failed 执行失败,cancelled 已取消。"pending"
run.trigger_typestring触发方式:manual 为手动,scheduled 为定时,scim 为 SCIM 请求。"manual"
{
  "run": {
    "created_at": "2026-08-27T10:00:00Z",
    "error_code": "<string>",
    "error_summary": "<string>",
    "finished_at": "2026-08-27T10:00:00Z",
    "id": "<uuid>",
    "requested_by_email": "<string>",
    "requested_by_name": "<string>",
    "resource_type": "<string>",
    "result": "success",
    "source_id": "<uuid>",
    "source_name": "<string>",
    "source_type": "<string>",
    "started_at": "2026-08-27T10:00:00Z",
    "stats": {
      "departments": {
        "created": 0,
        "deactivated": 0,
        "deleted": 0,
        "updated": 0
      },
      "failed": 0,
      "processed": 0,
      "relationships": {
        "added": 0,
        "removed": 0,
        "returned_to_root": 0
      },
      "seats": {
        "granted": 0,
        "reclaimed": 0
      },
      "succeeded": 0,
      "users": {
        "created": 0,
        "deactivated": 0,
        "deleted": 0,
        "updated": 0
      }
    },
    "status": "pending",
    "trigger_type": "manual"
  }
}

default 请求失败,返回错误码和错误详情。

名称类型必填说明示例
codestring用于程序判断错误原因的稳定业务错误码。"<string>"
detailstring便于阅读的错误说明。"<string>"
detailsOpenapiErrorDetails字段校验失败时的详细信息。{"field":"<string>","reason":"<string>","suggestion":"<string>"}
details.fieldstring未通过校验的请求字段。"<string>"
details.reasonstring稳定的校验失败原因,用于判断字段为何不合法。"<string>"
details.suggestionstring建议采用的规范化字段值。"<string>"
errorstring稳定的 HTTP 错误类型。"<string>"
{
  "code": "<string>",
  "detail": "<string>",
  "details": {
    "field": "<string>",
    "reason": "<string>",
    "suggestion": "<string>"
  },
  "error": "<string>"
}