From ead0464c4235d412718cf1a80261fed3e4e611b0 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:48:57 +0800 Subject: [PATCH 01/19] feat(registry): add a built-in service channel Embed meta_data_builtin.json and always merge its services into the registry (loadBuiltinIntoMerged), after the remote overlay. This is the channel for services the remote api_definition endpoint does not serve. Starts empty; meta_data_default.json (the fallback) is untouched. --- internal/registry/loader.go | 22 ++++++++++++++++++++++ internal/registry/loader_embedded.go | 6 ++++++ internal/registry/meta_data_builtin.json | 1 + 3 files changed, 29 insertions(+) create mode 100644 internal/registry/meta_data_builtin.json diff --git a/internal/registry/loader.go b/internal/registry/loader.go index 93360c2da..ef638a34c 100644 --- a/internal/registry/loader.go +++ b/internal/registry/loader.go @@ -22,6 +22,11 @@ var registryFS embed.FS // embeddedMetaJSON is set by loader_embedded.go when meta_data.json is compiled in. var embeddedMetaJSON []byte +// embeddedBuiltinJSON is set by loader_embedded.go from meta_data_builtin.json. +// It holds services the remote api_definition endpoint does not serve (hire), +// and is always merged into the registry. +var embeddedBuiltinJSON []byte + // EmbeddedMetaJSON returns the raw embedded meta_data.json bytes for callers // that need to parse key order or other JSON-level structure not exposed by // LoadFromMeta (which loses map insertion order). @@ -122,11 +127,28 @@ func InitWithBrand(brand core.LarkBrand) { triggerBackgroundRefresh() } } + // 2.5 Built-in services (hire) — always merged, after the remote + // decision so first-run sync-fetch logic is unaffected. The remote + // endpoint does not serve these, so they will not be overwritten. + loadBuiltinIntoMerged() // 3. Build sorted project list rebuildProjectList() }) } +// loadBuiltinIntoMerged parses the embedded meta_data_builtin.json and overlays +// its services (e.g. hire) into mergedServices. No-op if not compiled in. +func loadBuiltinIntoMerged() { + if len(embeddedBuiltinJSON) == 0 { + return + } + var reg MergedRegistry + if err := json.Unmarshal(embeddedBuiltinJSON, ®); err != nil { + return + } + overlayMergedServices(®) +} + // loadEmbeddedIntoMerged parses the embedded meta_data.json and populates // mergedServices. No-op if meta_data.json is not compiled in. func loadEmbeddedIntoMerged() { diff --git a/internal/registry/loader_embedded.go b/internal/registry/loader_embedded.go index da41e0799..9e6edf1c9 100644 --- a/internal/registry/loader_embedded.go +++ b/internal/registry/loader_embedded.go @@ -17,4 +17,10 @@ func init() { } else { embeddedMetaJSON = embeddedMetaDataDefaultJSON } + // Built-in services (e.g. hire) that the remote api_definition endpoint + // does not serve. Always merged into the registry, independent of the + // remote-synced meta and the embedded fallback. + if data, err := metaFS.ReadFile("meta_data_builtin.json"); err == nil { + embeddedBuiltinJSON = data + } } diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json new file mode 100644 index 000000000..a070ff228 --- /dev/null +++ b/internal/registry/meta_data_builtin.json @@ -0,0 +1 @@ +{"version":"0.0.0","services":[]} From 127497100c2b31372c918def71aa3219de7e757b Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:49:14 +0800 Subject: [PATCH 02/19] feat(registry): include built-in services in the embedded-spec map parseEmbeddedServices also parses meta_data_builtin.json, so the schema command and other embedded-spec consumers (which bypass the remote overlay for deterministic output) can see built-in services such as hire. --- internal/registry/loader.go | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/internal/registry/loader.go b/internal/registry/loader.go index ef638a34c..dfeeeee78 100644 --- a/internal/registry/loader.go +++ b/internal/registry/loader.go @@ -40,26 +40,31 @@ var ( embeddedParseOnce sync.Once ) -// parseEmbeddedServices parses embeddedMetaJSON into a service name → spec map -// without touching mergedServices. Safe to call multiple times (sync.Once). +// parseEmbeddedServices parses the embedded meta (meta_data.json/default) and +// the built-in meta (meta_data_builtin.json) into a service name → spec map +// without touching mergedServices. Built-in services (e.g. hire) are included +// here too so the schema command and other embedded-spec consumers see them. +// Safe to call multiple times (sync.Once). func parseEmbeddedServices() { embeddedParseOnce.Do(func() { embeddedServicesMap = make(map[string]map[string]interface{}) - if len(embeddedMetaJSON) == 0 { - return - } - var wrapper struct { - Services []map[string]interface{} `json:"services"` - } - if err := json.Unmarshal(embeddedMetaJSON, &wrapper); err != nil { - return - } - for _, svc := range wrapper.Services { - name, _ := svc["name"].(string) - if name == "" { + for _, data := range [][]byte{embeddedMetaJSON, embeddedBuiltinJSON} { + if len(data) == 0 { + continue + } + var wrapper struct { + Services []map[string]interface{} `json:"services"` + } + if err := json.Unmarshal(data, &wrapper); err != nil { continue } - embeddedServicesMap[name] = svc + for _, svc := range wrapper.Services { + name, _ := svc["name"].(string) + if name == "" { + continue + } + embeddedServicesMap[name] = svc + } } embeddedServiceNames = make([]string, 0, len(embeddedServicesMap)) for name := range embeddedServicesMap { From b0968ec9a468677c1fa348a1a68e901ac58fe1cd Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:49:14 +0800 Subject: [PATCH 03/19] feat(hire): add hire service description (en/zh) --- internal/registry/service_descriptions.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/registry/service_descriptions.json b/internal/registry/service_descriptions.json index 1d7abd2bd..e1634c3b2 100644 --- a/internal/registry/service_descriptions.json +++ b/internal/registry/service_descriptions.json @@ -31,6 +31,10 @@ "en": { "title": "Event", "description": "Event subscription management" }, "zh": { "title": "事件订阅", "description": "WebSocket 实时推送" } }, + "hire": { + "en": { "title": "Hire", "description": "Recruitment: jobs, talents, applications, offers, interviews & onboarding" }, + "zh": { "title": "招聘", "description": "职位、人才、投递、Offer、面试与入职管理" } + }, "im": { "en": { "title": "Messenger", "description": "Message and group chat management" }, "zh": { "title": "消息与群组", "description": "消息发送、群聊管理" } From 751ee78a389970218d7c881daab908c413b186e2 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 04/19] feat(hire): add job resources --- internal/registry/meta_data_builtin.json | 1007 +++++++++++++++++++++- 1 file changed, 1006 insertions(+), 1 deletion(-) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index a070ff228..8a497d6ee 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -1 +1,1006 @@ -{"version":"0.0.0","services":[]} +{ + "version": "0.0.0", + "services": [ + { + "name": "hire", + "version": "v1", + "title": "Hire", + "description": "Feishu/Lark Hire (招聘): jobs, talents, applications, offers, interviews, onboarding, referrals, agencies, websites and ecosystem integrations", + "servicePath": "/open-apis/hire", + "resources": { + "job": { + "methods": { + "close": { + "path": "v1/jobs/{job_id}/close", + "httpMethod": "POST", + "description": "关闭职位", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job.close", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/close", + "scopes": [ + "hire:job" + ] + }, + "combined_create": { + "path": "v1/jobs/combined_create", + "httpMethod": "POST", + "description": "新建职位", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job.combined_create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/combined_create", + "scopes": [ + "hire:job" + ] + }, + "combined_update": { + "path": "v1/jobs/{job_id}/combined_update", + "httpMethod": "POST", + "description": "更新职位", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job.combined_update", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/combined_update", + "scopes": [ + "hire:job" + ] + }, + "config": { + "path": "v1/jobs/{job_id}/config", + "httpMethod": "GET", + "description": "获取职位设置", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job.config", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/config", + "scopes": [ + "hire:job:readonly" + ] + }, + "get": { + "path": "v1/jobs/{job_id}", + "httpMethod": "GET", + "description": "获取职位信息", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID,请求Path中" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job.get", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/get", + "scopes": [ + "hire:job:readonly" + ] + }, + "get_detail": { + "path": "v1/jobs/{job_id}/get_detail", + "httpMethod": "GET", + "description": "-", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID,请求Path中" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job.get_detail", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get_detail&project=hire&resource=job&version=v1", + "scopes": [ + "hire:job.composite_info:readonly" + ] + }, + "list": { + "path": "v1/jobs", + "httpMethod": "GET", + "description": "获取职位列表", + "parameters": { + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 不能超过 20" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/list", + "scopes": [ + "hire:job:readonly" + ] + }, + "open": { + "path": "v1/jobs/{job_id}/open", + "httpMethod": "POST", + "description": "重启职位", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job.open", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/open", + "scopes": [ + "hire:job" + ] + }, + "recruiter": { + "path": "v1/jobs/{job_id}/recruiter", + "httpMethod": "GET", + "description": "-", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job.recruiter", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=recruiter&project=hire&resource=job&version=v1", + "scopes": [ + "hire:job:readonly" + ] + }, + "update_config": { + "path": "v1/jobs/{job_id}/update_config", + "httpMethod": "POST", + "description": "更新职位设置", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job.update_config", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job/update_config", + "scopes": [ + "hire:job" + ] + } + } + }, + "job_function": { + "methods": { + "list": { + "path": "v1/job_functions", + "httpMethod": "GET", + "description": "获取职能分类列表", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 不能超过 50" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_function.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_function/list", + "scopes": [ + "hire:job:readonly" + ] + } + } + }, + "job_manager": { + "methods": { + "batch_update": { + "path": "v1/jobs/{job_id}/managers/batch_update", + "httpMethod": "POST", + "description": "更新职位相关人员", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job_manager.batch_update", + "parameterOrder": [ + "job_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job-manager/batch_update", + "scopes": [ + "hire:job" + ] + }, + "get": { + "path": "v1/jobs/{job_id}/managers/{manager_id}", + "httpMethod": "GET", + "description": "获取职位上的招聘人员信息", + "parameters": { + "job_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位 ID" + }, + "manager_id": { + "type": "string", + "location": "path", + "required": true, + "description": "此处传入职位 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_manager.get", + "parameterOrder": [ + "job_id", + "manager_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job-manager/get" + } + } + }, + "job_process": { + "methods": { + "list": { + "path": "v1/job_processes", + "httpMethod": "GET", + "description": "获取招聘流程信息", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 不能超过 100" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_process.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_process/list", + "scopes": [ + "hire:job_process:readonly" + ] + } + } + }, + "job_publish_record": { + "methods": { + "search": { + "path": "v1/job_publish_records/search", + "httpMethod": "POST", + "description": "获取职位广告发布记录", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_publish_record.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_publish_record/search", + "scopes": [ + "hire:job:readonly", + "hire:job" + ] + } + } + }, + "job_requirement": { + "methods": { + "create": { + "path": "v1/job_requirements", + "httpMethod": "POST", + "description": "创建招聘需求", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_requirement/create", + "scopes": [ + "hire:job_requirement" + ] + }, + "delete": { + "path": "v1/job_requirements/{job_requirement_id}", + "httpMethod": "DELETE", + "description": "删除招聘需求", + "parameters": { + "job_requirement_id": { + "type": "string", + "location": "path", + "required": true, + "description": "招聘需求 ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement.delete", + "parameterOrder": [ + "job_requirement_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_requirement/delete", + "scopes": [ + "hire:job_requirement" + ] + }, + "list": { + "path": "v1/job_requirements", + "httpMethod": "GET", + "description": "获取招聘需求列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "job_id": { + "type": "string", + "location": "query", + "required": false, + "description": "职位ID" + }, + "create_time_begin": { + "type": "string", + "location": "query", + "required": false, + "description": "起始创建时间,传入毫秒级时间戳" + }, + "create_time_end": { + "type": "string", + "location": "query", + "required": false, + "description": "截止创建时间,传入毫秒级时间戳" + }, + "update_time_begin": { + "type": "string", + "location": "query", + "required": false, + "description": "起始更新时间,传入毫秒级时间戳" + }, + "update_time_end": { + "type": "string", + "location": "query", + "required": false, + "description": "截止更新时间,传入毫秒级时间戳" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_requirement/list", + "scopes": [ + "hire:job_requirement:readonly", + "hire:job_requirement" + ] + }, + "list_by_id": { + "path": "v1/job_requirements/search", + "httpMethod": "POST", + "description": "获取招聘需求信息", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement.list_by_id", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list_by_id&project=hire&resource=job_requirement&version=v1", + "scopes": [ + "hire:job_requirement:readonly", + "hire:job_requirement" + ] + }, + "update": { + "path": "v1/job_requirements/{job_requirement_id}", + "httpMethod": "PUT", + "description": "更新招聘需求", + "parameters": { + "job_requirement_id": { + "type": "string", + "location": "path", + "required": true, + "description": "招聘需求ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement.update", + "parameterOrder": [ + "job_requirement_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_requirement/update", + "scopes": [ + "hire:job_requirement" + ] + } + } + }, + "job_requirement_schema": { + "methods": { + "list": { + "path": "v1/job_requirement_schemas", + "httpMethod": "GET", + "description": "获取招聘需求模板", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_requirement_schema.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_requirement_schema/list", + "scopes": [ + "hire:job_requirement:readonly", + "hire:job_requirement" + ] + } + } + }, + "job_schema": { + "methods": { + "list": { + "path": "v1/job_schemas", + "httpMethod": "GET", + "description": "获取职位模板", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "scenario": { + "type": "integer", + "location": "query", + "required": false, + "description": "职位模板类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_schema.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/job_schema/list", + "scopes": [ + "hire:job:readonly" + ] + } + } + }, + "job_type": { + "methods": { + "list": { + "path": "v1/job_types", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "job_type.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=job_type&version=v1", + "scopes": [ + "hire:job:readonly" + ] + } + } + } + } + } + ] +} From 5d408daafc14d5ca696d8e605fad0ced7b62c97e Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 05/19] feat(hire): add talent resources --- internal/registry/meta_data_builtin.json | 581 +++++++++++++++++++++++ 1 file changed, 581 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 8a497d6ee..1fb33f28d 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -999,6 +999,587 @@ ] } } + }, + "talent": { + "methods": { + "add_to_folder": { + "path": "v1/talents/add_to_folder", + "httpMethod": "POST", + "description": "将人才加入指定文件夹", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.add_to_folder", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/add_to_folder", + "scopes": [ + "hire:talent", + "hire:talent_folder_association" + ] + }, + "batch_get_id": { + "path": "v1/talents/batch_get_id", + "httpMethod": "POST", + "description": "通过人才信息获取人才 ID", + "parameters": {}, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent.batch_get_id", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/batch_get_id", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + }, + "combined_create": { + "path": "v1/talents/combined_create", + "httpMethod": "POST", + "description": "创建人才", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.combined_create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/combined_create", + "scopes": [ + "hire:talent" + ] + }, + "combined_update": { + "path": "v1/talents/combined_update", + "httpMethod": "POST", + "description": "更新人才信息", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.combined_update", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/combined_update", + "scopes": [ + "hire:talent" + ] + }, + "get": { + "path": "v1/talents/{talent_id}", + "httpMethod": "GET", + "description": "获取人才信息", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent.get", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/get", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + }, + "get_v2": { + "path": "v2/talents/{talent_id}", + "httpMethod": "GET", + "description": "获取人才信息V2", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent.get_v2", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/hire-v2/talent/get", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + }, + "list": { + "path": "v1/talents", + "httpMethod": "GET", + "description": "获取人才列表", + "parameters": { + "keyword": { + "type": "string", + "location": "query", + "required": false, + "description": "搜索关键词,支持布尔语言(使用 and、or、not 连接关键词)" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 不能超过 20" + }, + "sort_by": { + "type": "integer", + "location": "query", + "required": false, + "description": "排序规则" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "query_option": { + "type": "string", + "location": "query", + "required": false, + "description": "请求控制参数" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/list", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + }, + "onboard_status": { + "path": "v1/talents/{talent_id}/onboard_status", + "httpMethod": "POST", + "description": "-", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.onboard_status", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=onboard_status&project=hire&resource=talent&version=v1", + "scopes": [ + "hire:talent" + ] + }, + "remove_to_folder": { + "path": "v1/talents/remove_to_folder", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.remove_to_folder", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=remove_to_folder&project=hire&resource=talent&version=v1", + "scopes": [ + "hire:talent_folder_association" + ] + }, + "tag": { + "path": "v1/talents/{talent_id}/tag", + "httpMethod": "POST", + "description": "-", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.tag", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=tag&project=hire&resource=talent&version=v1", + "scopes": [ + "hire:talent" + ] + } + } + }, + "talent_blocklist": { + "methods": { + "change_talent_block": { + "path": "v1/talent_blocklist/change_talent_block", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent_blocklist.change_talent_block", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=change_talent_block&project=hire&resource=talent_blocklist&version=v1", + "scopes": [ + "hire:talent_blocklist" + ] + } + } + }, + "talent_external_info": { + "methods": { + "create": { + "path": "v1/talents/{talent_id}/external_info", + "httpMethod": "POST", + "description": "创建人才外部信息", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent_external_info.create", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent-external_info/create", + "scopes": [ + "hire:talent" + ] + }, + "update": { + "path": "v1/talents/{talent_id}/external_info", + "httpMethod": "PUT", + "description": "更新人才外部信息", + "parameters": { + "talent_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent_external_info.update", + "parameterOrder": [ + "talent_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent-external_info/update", + "scopes": [ + "hire:talent" + ] + } + } + }, + "talent_folder": { + "methods": { + "list": { + "path": "v1/talent_folders", + "httpMethod": "GET", + "description": "获取人才文件夹信息", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户ID类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent_folder.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent_folder/list", + "scopes": [ + "hire:talent_folder:readonly", + "hire:talent_folder" + ] + } + } + }, + "talent_operation_log": { + "methods": { + "search": { + "path": "v1/talent_operation_logs/search", + "httpMethod": "POST", + "description": "查询操作人对人才的操作记录", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent_operation_log.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/talent_operation_log/search" + } + } + }, + "talent_pool": { + "methods": { + "batch_change_talent_pool": { + "path": "v1/talent_pools/{talent_pool_id}/batch_change_talent_pool", + "httpMethod": "POST", + "description": "-", + "parameters": { + "talent_pool_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才库ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent_pool.batch_change_talent_pool", + "parameterOrder": [ + "talent_pool_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_change_talent_pool&project=hire&resource=talent_pool&version=v1", + "scopes": [ + "hire:talent_folder" + ] + }, + "move_talent": { + "path": "v1/talent_pools/{talent_pool_id}/talent_relationship", + "httpMethod": "POST", + "description": "-", + "parameters": { + "talent_pool_id": { + "type": "string", + "location": "path", + "required": true, + "description": "人才库ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent_pool.move_talent", + "parameterOrder": [ + "talent_pool_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=move_talent&project=hire&resource=talent_pool&version=v1", + "scopes": [ + "hire:talent_folder" + ] + }, + "search": { + "path": "v1/talent_pools", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent_pool.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=search&project=hire&resource=talent_pool&version=v1" + } + } + }, + "talent_tag": { + "methods": { + "list": { + "path": "v1/talent_tags", + "httpMethod": "GET", + "description": "-", + "parameters": { + "keyword": { + "type": "string", + "location": "query", + "required": false, + "description": "搜索关键词" + }, + "type": { + "type": "integer", + "location": "query", + "required": false, + "description": "标签类型" + }, + "include_inactive": { + "type": "boolean", + "location": "query", + "required": false, + "description": "包含停用" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent_tag.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=talent_tag&version=v1", + "scopes": [ + "hire:talent_tag", + "hire:talent_tag:readonly" + ] + } + } } } } From 063444b3129cc958ac6adaaf6a12b8d0d4c9af56 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 06/19] feat(hire): add application resources --- internal/registry/meta_data_builtin.json | 459 +++++++++++++++++++++++ 1 file changed, 459 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 1fb33f28d..ccf9182aa 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -8,6 +8,465 @@ "description": "Feishu/Lark Hire (招聘): jobs, talents, applications, offers, interviews, onboarding, referrals, agencies, websites and ecosystem integrations", "servicePath": "/open-apis/hire", "resources": { + "application": { + "methods": { + "cancel_onboard": { + "path": "v1/applications/{application_id}/cancel_onboard", + "httpMethod": "POST", + "description": "取消候选人入职", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.cancel_onboard", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/cancel_onboard", + "scopes": [ + "hire:application" + ] + }, + "create": { + "path": "v1/applications", + "httpMethod": "POST", + "description": "创建投递", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/create", + "scopes": [ + "hire:application" + ] + }, + "get": { + "path": "v1/applications/{application_id}", + "httpMethod": "GET", + "description": "获取投递信息", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "application.get", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/get", + "scopes": [ + "hire:application:readonly", + "hire:application" + ] + }, + "get_detail": { + "path": "v1/applications/{application_id}/get_detail", + "httpMethod": "GET", + "description": "-", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "application.get_detail", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get_detail&project=hire&resource=application&version=v1", + "scopes": [ + "hire:application:readonly", + "hire:application" + ] + }, + "list": { + "path": "v1/applications", + "httpMethod": "GET", + "description": "获取投递列表", + "parameters": { + "process_id": { + "type": "string", + "location": "query", + "required": false, + "description": "按流程过滤,招聘流程 ID,枚举值通过接口「获取招聘流程信息」接口获取" + }, + "stage_id": { + "type": "string", + "location": "query", + "required": false, + "description": "按招聘阶段过滤,招聘阶段 ID,枚举值通过「获取招聘流程信息」接口获取" + }, + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "按人才过滤" + }, + "active_status": { + "type": "string", + "location": "query", + "required": false, + "description": "按活跃状态筛选 1=活跃投递, 2=非活跃投递, 3=全部" + }, + "job_id": { + "type": "string", + "location": "query", + "required": false, + "description": "职位 ID" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "查询游标, 由上一页结果返回, 第一页不传" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页限制, 每页最大不超过100" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "application.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/list", + "scopes": [ + "hire:application:readonly", + "hire:application" + ] + }, + "offer": { + "path": "v1/applications/{application_id}/offer", + "httpMethod": "GET", + "description": "获取 Offer 信息", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "application.offer", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/offer", + "scopes": [ + "hire:application", + "hire:application:readonly" + ] + }, + "recover": { + "path": "v1/applications/{application_id}/recover", + "httpMethod": "POST", + "description": "-", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.recover", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=recover&project=hire&resource=application&version=v1", + "scopes": [ + "hire:application" + ] + }, + "terminate": { + "path": "v1/applications/{application_id}/terminate", + "httpMethod": "POST", + "description": "终止投递", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.terminate", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/terminate", + "scopes": [ + "hire:application" + ] + }, + "transfer_onboard": { + "path": "v1/applications/{application_id}/transfer_onboard", + "httpMethod": "POST", + "description": "操作候选人入职", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.transfer_onboard", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/transfer_onboard", + "scopes": [ + "hire:application" + ] + }, + "transfer_stage": { + "path": "v1/applications/{application_id}/transfer_stage", + "httpMethod": "POST", + "description": "转移阶段", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "application.transfer_stage", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/transfer_stage", + "scopes": [ + "hire:application" + ] + } + } + }, + "application_interview": { + "methods": { + "list": { + "path": "v1/applications/{application_id}/interviews", + "httpMethod": "GET", + "description": "-", + "parameters": { + "application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递 ID" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小,不能超过 50" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "application_interview.list", + "parameterOrder": [ + "application_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=application.interview&version=v1" + } + } + }, "job": { "methods": { "close": { From 4c679fd64019c8f805c7520c459f8f761b6c4984 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 07/19] feat(hire): add offer resources --- internal/registry/meta_data_builtin.json | 424 +++++++++++++++++++++++ 1 file changed, 424 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index ccf9182aa..aa40799a3 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -1459,6 +1459,430 @@ } } }, + "offer": { + "methods": { + "create": { + "path": "v1/offers", + "httpMethod": "POST", + "description": "创建 Offer", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "offer.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer/create", + "scopes": [ + "hire:offer" + ] + }, + "get": { + "path": "v1/offers/{offer_id}", + "httpMethod": "GET", + "description": "获取 Offer 详情", + "parameters": { + "offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "Offer ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer.get", + "parameterOrder": [ + "offer_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer/get", + "scopes": [ + "hire:offer:low_sensitive_info:readonly", + "hire:offer:readonly", + "hire:offer" + ] + }, + "intern_offer_status": { + "path": "v1/offers/{offer_id}/intern_offer_status", + "httpMethod": "POST", + "description": "更新实习 Offer 入/离职状态", + "parameters": { + "offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "Offer ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "offer.intern_offer_status", + "parameterOrder": [ + "offer_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer/intern_offer_status", + "scopes": [ + "hire:offer" + ] + }, + "list": { + "path": "v1/offers", + "httpMethod": "GET", + "description": "获取 Offer 列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "人才 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer/list", + "scopes": [ + "hire:offer:readonly", + "hire:offer" + ] + }, + "offer_status": { + "path": "v1/offers/{offer_id}/offer_status", + "httpMethod": "PATCH", + "description": "-", + "parameters": { + "offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "offer ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "offer.offer_status", + "parameterOrder": [ + "offer_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=offer_status&project=hire&resource=offer&version=v1", + "scopes": [ + "hire:offer" + ] + }, + "update": { + "path": "v1/offers/{offer_id}", + "httpMethod": "PUT", + "description": "更新 Offer 信息", + "parameters": { + "offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "Offer ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "offer.update", + "parameterOrder": [ + "offer_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer/update", + "scopes": [ + "hire:offer" + ] + } + } + }, + "offer_application_form": { + "methods": { + "get": { + "path": "v1/offer_application_forms/{offer_application_form_id}", + "httpMethod": "GET", + "description": "获取Offer申请表模板信息", + "parameters": { + "offer_application_form_id": { + "type": "string", + "location": "path", + "required": true, + "description": "offer申请表 ID" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer_application_form.get", + "parameterOrder": [ + "offer_application_form_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer_application_form/get", + "scopes": [ + "hire:offer_schema:readonly" + ] + }, + "list": { + "path": "v1/offer_application_forms", + "httpMethod": "GET", + "description": "获取 Offer 申请表列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer_application_form.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer_application_form/list", + "scopes": [ + "hire:offer_schema:readonly" + ] + } + } + }, + "offer_approval_template": { + "methods": { + "list": { + "path": "v1/offer_approval_templates", + "httpMethod": "GET", + "description": "获取 Offer 审批流配置列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer_approval_template.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer_approval_template/list", + "scopes": [ + "hire:offer_approval_template:readonly" + ] + } + } + }, + "offer_custom_field": { + "methods": { + "update": { + "path": "v1/offer_custom_fields/{offer_custom_field_id}", + "httpMethod": "PUT", + "description": "更新 Offer 申请表自定义字段", + "parameters": { + "offer_custom_field_id": { + "type": "string", + "location": "path", + "required": true, + "description": "Offer 申请表自定义字段 ID,可通过接口「获取 Offer 申请表模板信息」获取" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "offer_custom_field.update", + "parameterOrder": [ + "offer_custom_field_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/offer_custom_field/update", + "scopes": [ + "hire:offer_selection_object" + ] + } + } + }, + "offer_schema": { + "methods": { + "get": { + "path": "v1/offer_schemas/{offer_schema_id}", + "httpMethod": "GET", + "description": "-", + "parameters": { + "offer_schema_id": { + "type": "string", + "location": "path", + "required": true, + "description": "offer申请表的ID *必需属性" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "offer_schema.get", + "parameterOrder": [ + "offer_schema_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=offer_schema&version=v1" + } + } + }, "talent": { "methods": { "add_to_folder": { From 80542a8fdd4d937c453040f9a62cde62fee0ebb1 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 08/19] feat(hire): add interview resources --- internal/registry/meta_data_builtin.json | 534 +++++++++++++++++++++++ 1 file changed, 534 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index aa40799a3..734eff2f2 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -467,6 +467,540 @@ } } }, + "interview": { + "methods": { + "get_by_talent": { + "path": "v1/interviews/get_by_talent", + "httpMethod": "GET", + "description": "获取人才面试信息", + "parameters": { + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "人才 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview.get_by_talent", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview/get_by_talent", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + }, + "list": { + "path": "v1/interviews", + "httpMethod": "GET", + "description": "获取面试信息", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小,不能超过 100" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "查询游标, 由上一页结果返回, 第一页不传" + }, + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID" + }, + "interview_id": { + "type": "string", + "location": "query", + "required": false, + "description": "面试 ID" + }, + "start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早开始时间,格式为时间戳" + }, + "end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚开始时间,格式为时间戳" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview/list", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_feedback_form": { + "methods": { + "list": { + "path": "v1/interview_feedback_forms", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_feedback_form.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=interview_feedback_form&version=v1", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_record": { + "methods": { + "get": { + "path": "v1/interview_records/{interview_record_id}", + "httpMethod": "GET", + "description": "获取面试评价详细信息", + "parameters": { + "interview_record_id": { + "type": "string", + "location": "path", + "required": true, + "description": "记录 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_record.get", + "parameterOrder": [ + "interview_record_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview_record/get", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + }, + "get_v2": { + "path": "v2/interview_records/{interview_record_id}", + "httpMethod": "GET", + "description": "-", + "parameters": { + "interview_record_id": { + "type": "string", + "location": "path", + "required": true, + "description": "面试记录ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "user", + "tenant" + ], + "id": "interview_record.get_v2", + "parameterOrder": [ + "interview_record_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=interview_record&version=v2", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + }, + "list": { + "path": "v1/interview_records", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_record.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=interview_record&version=v1", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + }, + "list_v2": { + "path": "v2/interview_records", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "user", + "tenant" + ], + "id": "interview_record.list_v2", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=interview_record&version=v2", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_record_attachment": { + "methods": { + "get": { + "path": "v1/interview_records/attachments", + "httpMethod": "GET", + "description": "-", + "parameters": { + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID" + }, + "interview_record_id": { + "type": "string", + "location": "query", + "required": false, + "description": "面试记录 ID" + }, + "language": { + "type": "integer", + "location": "query", + "required": false, + "description": "面试记录语言" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_record_attachment.get", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=interview_record.attachment&version=v1", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_registration_schema": { + "methods": { + "list": { + "path": "v1/interview_registration_schemas", + "httpMethod": "GET", + "description": "获取面试登记表模板列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_registration_schema.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview_registration_schema/list", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_round_type": { + "methods": { + "list": { + "path": "v1/interview_round_types", + "httpMethod": "GET", + "description": "获取面试轮次类型列表", + "parameters": { + "process_type": { + "type": "integer", + "location": "query", + "required": false, + "description": "职位流程类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_round_type.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview_round_type/list", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, + "interview_task": { + "methods": { + "list": { + "path": "v1/interview_tasks", + "httpMethod": "GET", + "description": "获取员工面试任务", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 默认10,不能超过 20" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID" + }, + "activity_status": { + "type": "integer", + "location": "query", + "required": false, + "description": "任务状态" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interview_task.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/interview_task/list", + "scopes": [ + "hire:interview:readonly" + ] + } + } + }, + "interviewer": { + "methods": { + "list": { + "path": "v1/interviewers", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "verify_status": { + "type": "integer", + "location": "query", + "required": false, + "description": "认证状态" + }, + "earliest_update_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒时间戳" + }, + "latest_update_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒时间戳" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "interviewer.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=interviewer&version=v1", + "scopes": [ + "hire:interviewer", + "hire:interviewer:readonly" + ] + }, + "patch": { + "path": "v1/interviewers/{interviewer_id}", + "httpMethod": "PATCH", + "description": "-", + "parameters": { + "interviewer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "面试官userID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "interviewer.patch", + "parameterOrder": [ + "interviewer_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=patch&project=hire&resource=interviewer&version=v1" + } + } + }, "job": { "methods": { "close": { From 6c3d3c2a987f484c2ea3f19b63c89c6be688e778 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 09/19] feat(hire): add evaluation & exam resources --- internal/registry/meta_data_builtin.json | 190 +++++++++++++++++++++++ 1 file changed, 190 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 734eff2f2..8c70305a7 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -467,6 +467,196 @@ } } }, + "evaluation": { + "methods": { + "list": { + "path": "v1/evaluations", + "httpMethod": "GET", + "description": "获取简历评估信息", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户ID类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "evaluation.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/evaluation/list", + "scopes": [ + "hire:evaluation:readonly" + ] + } + } + }, + "evaluation_task": { + "methods": { + "list": { + "path": "v1/evaluation_tasks", + "httpMethod": "GET", + "description": "获取员工评估任务", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 默认10,不能超过 20" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID" + }, + "activity_status": { + "type": "integer", + "location": "query", + "required": false, + "description": "任务状态" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "evaluation_task.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/evaluation_task/list", + "scopes": [ + "hire:evaluation:readonly" + ] + } + } + }, + "exam": { + "methods": { + "create": { + "path": "v1/exams", + "httpMethod": "POST", + "description": "添加笔试结果", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "exam.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/exam/create", + "scopes": [ + "hire:exam" + ] + } + } + }, + "exam_marking_task": { + "methods": { + "list": { + "path": "v1/exam_marking_tasks", + "httpMethod": "GET", + "description": "获取员工笔试阅卷任务", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小, 默认10,不能超过 20" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "user_id": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID" + }, + "activity_status": { + "type": "integer", + "location": "query", + "required": false, + "description": "任务状态" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "exam_marking_task.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/exam_marking_task/list", + "scopes": [ + "hire:exam:readonly" + ] + } + } + }, "interview": { "methods": { "get_by_talent": { From 910480058a1855f26227874d72565f51537e2362 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 10/19] feat(hire): add onboarding resources --- internal/registry/meta_data_builtin.json | 202 +++++++++++++++++++++++ 1 file changed, 202 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 8c70305a7..dac4e3f20 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -467,6 +467,208 @@ } } }, + "ehr_import_task": { + "methods": { + "patch": { + "path": "v1/ehr_import_tasks/{ehr_import_task_id}", + "httpMethod": "PATCH", + "description": "更新 e-HR 导入任务结果", + "parameters": { + "ehr_import_task_id": { + "type": "string", + "location": "path", + "required": true, + "description": "导入任务 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "ehr_import_task.patch", + "parameterOrder": [ + "ehr_import_task_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/ehr_import_task/patch", + "scopes": [ + "hire:ehr_import" + ] + } + } + }, + "employee": { + "methods": { + "get": { + "path": "v1/employees/{employee_id}", + "httpMethod": "GET", + "description": "通过员工 ID 获取入职信息", + "parameters": { + "employee_id": { + "type": "string", + "location": "path", + "required": true, + "description": "员工ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "employee.get", + "parameterOrder": [ + "employee_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/employee/get", + "scopes": [ + "hire:employee:readonly", + "hire:employee" + ] + }, + "get_by_application": { + "path": "v1/employees/get_by_application", + "httpMethod": "GET", + "description": "通过投递 ID 获取入职信息", + "parameters": { + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "employee.get_by_application", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/employee/get_by_application", + "scopes": [ + "hire:employee", + "hire:employee:readonly" + ] + }, + "patch": { + "path": "v1/employees/{employee_id}", + "httpMethod": "PATCH", + "description": "更新入职状态", + "parameters": { + "employee_id": { + "type": "string", + "location": "path", + "required": true, + "description": "员工ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "job_family_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「序列 ID」的类型" + }, + "employee_type_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「人员类型 ID」的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "employee.patch", + "parameterOrder": [ + "employee_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/employee/patch", + "scopes": [ + "hire:employee" + ] + } + } + }, "evaluation": { "methods": { "list": { From ac052329c1706ca5170df0cfb13fdb6645b5a110 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 11/19] feat(hire): add note & attachment resources --- internal/registry/meta_data_builtin.json | 225 +++++++++++++++++++++++ 1 file changed, 225 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index dac4e3f20..717fd7145 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -467,6 +467,69 @@ } } }, + "attachment": { + "methods": { + "get": { + "path": "v1/attachments/{attachment_id}", + "httpMethod": "GET", + "description": "获取附件信息", + "parameters": { + "attachment_id": { + "type": "string", + "location": "path", + "required": true, + "description": "附件id" + }, + "type": { + "type": "integer", + "location": "query", + "required": false, + "description": "附件类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "attachment.get", + "parameterOrder": [ + "attachment_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/attachment/get", + "scopes": [ + "hire:attachment:readonly", + "hire:attachment" + ] + }, + "preview": { + "path": "v1/attachments/{attachment_id}/preview", + "httpMethod": "GET", + "description": "获取附件预览信息", + "parameters": { + "attachment_id": { + "type": "string", + "location": "path", + "required": true, + "description": "附件id" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "attachment.preview", + "parameterOrder": [ + "attachment_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/attachment/preview", + "scopes": [ + "hire:attachment" + ] + } + } + }, "ehr_import_task": { "methods": { "patch": { @@ -2385,6 +2448,168 @@ } } }, + "note": { + "methods": { + "create": { + "path": "v1/notes", + "httpMethod": "POST", + "description": "创建备注", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "note.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/note/create", + "scopes": [ + "hire:note" + ] + }, + "delete": { + "path": "v1/notes/{note_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "note_id": { + "type": "string", + "location": "path", + "required": true, + "description": "示例值:" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "note.delete", + "parameterOrder": [ + "note_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=note&version=v1", + "scopes": [ + "hire:note" + ] + }, + "get": { + "path": "v1/notes/{note_id}", + "httpMethod": "GET", + "description": "获取备注", + "parameters": { + "note_id": { + "type": "string", + "location": "path", + "required": true, + "description": "备注ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "note.get", + "parameterOrder": [ + "note_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/note/get", + "scopes": [ + "hire:note:readonly", + "hire:note" + ] + }, + "list": { + "path": "v1/notes", + "httpMethod": "GET", + "description": "获取备注列表", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页限制, 每页最大不超过100" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "查询游标, 由上一页结果返回, 第一页不传" + }, + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "人才ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "note.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/note/list", + "scopes": [ + "hire:note:readonly", + "hire:note" + ] + }, + "patch": { + "path": "v1/notes/{note_id}", + "httpMethod": "PATCH", + "description": "更新备注", + "parameters": { + "note_id": { + "type": "string", + "location": "path", + "required": true, + "description": "备注 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "note.patch", + "parameterOrder": [ + "note_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/note/patch", + "scopes": [ + "hire:note" + ] + } + } + }, "offer": { "methods": { "create": { From ed479403d5f039dba5ad85128b2ebb82eceb98e7 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 12/19] feat(hire): add referral resources --- internal/registry/meta_data_builtin.json | 320 +++++++++++++++++++++++ 1 file changed, 320 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 717fd7145..864afc247 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -3034,6 +3034,326 @@ } } }, + "referral": { + "methods": { + "get_by_application": { + "path": "v1/referrals/get_by_application", + "httpMethod": "GET", + "description": "获取内推信息", + "parameters": { + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递的 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "referral.get_by_application", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/referral/get_by_application", + "scopes": [ + "hire:referral:readonly", + "hire:referral" + ] + }, + "search": { + "path": "v1/referrals/search", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "referral.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=search&project=hire&resource=referral&version=v1", + "scopes": [ + "hire:referral:readonly", + "hire:referral" + ] + } + } + }, + "referral_account": { + "methods": { + "create": { + "path": "v1/referral_account", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=create&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account" + ] + }, + "deactivate": { + "path": "v1/referral_account/{referral_account_id}/deactivate", + "httpMethod": "POST", + "description": "-", + "parameters": { + "referral_account_id": { + "type": "string", + "location": "path", + "required": true, + "description": "账户ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.deactivate", + "parameterOrder": [ + "referral_account_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=deactivate&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account" + ] + }, + "enable": { + "path": "v1/referral_account/enable", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.enable", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=enable&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account" + ] + }, + "get_account_assets": { + "path": "v1/referral_account/get_account_assets", + "httpMethod": "GET", + "description": "-", + "parameters": { + "referral_account_id": { + "type": "string", + "location": "query", + "required": false, + "description": "账户 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.get_account_assets", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get_account_assets&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account", + "hire:referral_account:readonly" + ] + }, + "reconciliation": { + "path": "v1/referral_account/reconciliation", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.reconciliation", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=reconciliation&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account" + ] + }, + "withdraw": { + "path": "v1/referral_account/{referral_account_id}/withdraw", + "httpMethod": "POST", + "description": "-", + "parameters": { + "referral_account_id": { + "type": "string", + "location": "path", + "required": true, + "description": "账户ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "referral_account.withdraw", + "parameterOrder": [ + "referral_account_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=withdraw&project=hire&resource=referral_account&version=v1", + "scopes": [ + "hire:referral_account" + ] + } + } + }, + "referral_website_job_post": { + "methods": { + "get": { + "path": "v1/referral_websites/job_posts/{job_post_id}", + "httpMethod": "GET", + "description": "获取内推官网下职位广告详情", + "parameters": { + "job_post_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位广告 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "referral_website_job_post.get", + "parameterOrder": [ + "job_post_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=referral_website.job_post&version=v1", + "scopes": [ + "hire:referral_website:readonly" + ] + }, + "list": { + "path": "v1/referral_websites/job_posts", + "httpMethod": "GET", + "description": "获取内推官网下的职位列表。自定义数据暂不支持列表获取,请从「获取内推官网下职位广告详情」接口获取", + "parameters": { + "process_type": { + "type": "integer", + "location": "query", + "required": false, + "description": "招聘流程类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "referral_website_job_post.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=referral_website.job_post&version=v1", + "scopes": [ + "hire:referral_website:readonly" + ] + } + } + }, "talent": { "methods": { "add_to_folder": { From f0ed59f1fd167c8399c822dae8d3354135efa2c2 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:55 +0800 Subject: [PATCH 13/19] feat(hire): add agency & background-check resources --- internal/registry/meta_data_builtin.json | 297 +++++++++++++++++++++++ 1 file changed, 297 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 864afc247..941d2f255 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -8,6 +8,207 @@ "description": "Feishu/Lark Hire (招聘): jobs, talents, applications, offers, interviews, onboarding, referrals, agencies, websites and ecosystem integrations", "servicePath": "/open-apis/hire", "resources": { + "agency": { + "methods": { + "batch_query": { + "path": "v1/agencies/batch_query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "agency.batch_query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_query&project=hire&resource=agency&version=v1", + "scopes": [ + "hire:agency:readonly", + "hire:agency" + ] + }, + "get": { + "path": "v1/agencies/{agency_id}", + "httpMethod": "GET", + "description": "获取猎头供应商信息", + "parameters": { + "agency_id": { + "type": "string", + "location": "path", + "required": true, + "description": "猎头供应商ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "agency.get", + "parameterOrder": [ + "agency_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/agency/get", + "scopes": [ + "hire:agency:readonly", + "hire:agency" + ] + }, + "get_agency_account": { + "path": "v1/agencies/get_agency_account", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "agency.get_agency_account", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get_agency_account&project=hire&resource=agency&version=v1", + "scopes": [ + "hire:agency_account", + "hire:agency_account:readonly" + ] + }, + "operate_agency_account": { + "path": "v1/agencies/operate_agency_account", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "agency.operate_agency_account", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=operate_agency_account&project=hire&resource=agency&version=v1", + "scopes": [ + "hire:agency_account" + ] + }, + "protect": { + "path": "v1/agencies/protect", + "httpMethod": "POST", + "description": "设置猎头保护期", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "agency.protect", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/agency/protect", + "scopes": [ + "hire:agency" + ] + }, + "protect_search": { + "path": "v1/agencies/protection_period/search", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "agency.protect_search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=protect_search&project=hire&resource=agency&version=v1", + "scopes": [ + "hire:agency:readonly", + "hire:agency" + ] + }, + "query": { + "path": "v1/agencies/query", + "httpMethod": "GET", + "description": "查询猎头供应商信息", + "parameters": { + "name": { + "type": "string", + "location": "query", + "required": false, + "description": "猎头供应商名称" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "agency.query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/agency/query", + "scopes": [ + "hire:agency:readonly", + "hire:agency" + ] + } + } + }, "application": { "methods": { "cancel_onboard": { @@ -530,6 +731,102 @@ } } }, + "background_check_order": { + "methods": { + "batch_query": { + "path": "v1/background_check_orders/batch_query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "background_check_order.batch_query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_query&project=hire&resource=background_check_order&version=v1", + "scopes": [ + "hire:background_check_order", + "hire:background_check_order:readonly" + ] + }, + "list": { + "path": "v1/background_check_orders", + "httpMethod": "GET", + "description": "获取背调信息", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "background_check_order.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/background_check_order/list", + "scopes": [ + "hire:background_check_order", + "hire:background_check_order:readonly" + ] + } + } + }, "ehr_import_task": { "methods": { "patch": { From 4f079b9941cc00fd37e227398675bd84ef379d7c Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:56 +0800 Subject: [PATCH 14/19] feat(hire): add career-site (website) resources --- internal/registry/meta_data_builtin.json | 557 +++++++++++++++++++++++ 1 file changed, 557 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 941d2f255..14b0cd5d6 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -8,6 +8,36 @@ "description": "Feishu/Lark Hire (招聘): jobs, talents, applications, offers, interviews, onboarding, referrals, agencies, websites and ecosystem integrations", "servicePath": "/open-apis/hire", "resources": { + "advertisement": { + "methods": { + "publish": { + "path": "v1/advertisements/{advertisement_id}/publish", + "httpMethod": "POST", + "description": "职位发布至官网", + "parameters": { + "advertisement_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位广告 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "advertisement.publish", + "parameterOrder": [ + "advertisement_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/advertisement/publish", + "scopes": [ + "hire:advertisement" + ] + } + } + }, "agency": { "methods": { "batch_query": { @@ -3331,6 +3361,42 @@ } } }, + "portal_apply_schema": { + "methods": { + "list": { + "path": "v1/portal_apply_schemas", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant", + "user" + ], + "id": "portal_apply_schema.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=portal_apply_schema&version=v1", + "scopes": [ + "hire:site:readonly", + "hire:site" + ] + } + } + }, "referral": { "methods": { "get_by_application": { @@ -4231,6 +4297,497 @@ ] } } + }, + "website": { + "methods": { + "list": { + "path": "v1/websites", + "httpMethod": "GET", + "description": "获取自定义官网列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website/list", + "scopes": [ + "hire:site:readonly", + "hire:site" + ] + } + } + }, + "website_channel": { + "methods": { + "create": { + "path": "v1/websites/{website_id}/channels", + "httpMethod": "POST", + "description": "创建官网推广渠道", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_channel.create", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-channel/create", + "scopes": [ + "hire:site" + ] + }, + "delete": { + "path": "v1/websites/{website_id}/channels/{channel_id}", + "httpMethod": "DELETE", + "description": "删除官网推广渠道", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "channel_id": { + "type": "string", + "location": "path", + "required": true, + "description": "推广渠道 ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_channel.delete", + "parameterOrder": [ + "website_id", + "channel_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-channel/delete", + "scopes": [ + "hire:site" + ] + }, + "list": { + "path": "v1/websites/{website_id}/channels", + "httpMethod": "GET", + "description": "获取官网推广渠道列表", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "page_size": { + "type": "string", + "location": "query", + "required": false, + "description": "每页获取记录最大数量,最大100" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的 page_token" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website_channel.list", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-channel/list", + "scopes": [ + "hire:site:readonly", + "hire:site" + ] + }, + "update": { + "path": "v1/websites/{website_id}/channels/{channel_id}", + "httpMethod": "PUT", + "description": "更新官网推广渠道", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "channel_id": { + "type": "string", + "location": "path", + "required": true, + "description": "推广渠道 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_channel.update", + "parameterOrder": [ + "website_id", + "channel_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-channel/update", + "scopes": [ + "hire:site" + ] + } + } + }, + "website_delivery": { + "methods": { + "create_by_attachment": { + "path": "v1/websites/{website_id}/deliveries/create_by_attachment", + "httpMethod": "POST", + "description": "根据简历附件解析创建官网投递", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_delivery.create_by_attachment", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-delivery/create_by_attachment", + "scopes": [ + "hire:site_application" + ] + }, + "create_by_resume": { + "path": "v1/websites/{website_id}/deliveries/create_by_resume", + "httpMethod": "POST", + "description": "创建官网投递", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_delivery.create_by_resume", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-delivery/create_by_resume", + "scopes": [ + "hire:site_application" + ] + } + } + }, + "website_delivery_task": { + "methods": { + "get": { + "path": "v1/websites/{website_id}/delivery_tasks/{delivery_task_id}", + "httpMethod": "GET", + "description": "获取简历解析创建官网投递任务结果", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "delivery_task_id": { + "type": "string", + "location": "path", + "required": true, + "description": "投递任务 ID" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website_delivery_task.get", + "parameterOrder": [ + "website_id", + "delivery_task_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-delivery_task/get", + "scopes": [ + "hire:site_application:readonly", + "hire:site_application" + ] + } + } + }, + "website_job_post": { + "methods": { + "get": { + "path": "v1/websites/{website_id}/job_posts/{job_post_id}", + "httpMethod": "GET", + "description": "获取自定义官网下职位广告详情", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "job_post_id": { + "type": "string", + "location": "path", + "required": true, + "description": "职位广告 ID" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website_job_post.get", + "parameterOrder": [ + "website_id", + "job_post_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-job_post/get", + "scopes": [ + "hire:site_job_post:readonly" + ] + }, + "list": { + "path": "v1/websites/{website_id}/job_posts", + "httpMethod": "GET", + "description": "获取自定义官网下的职位列表", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + }, + "create_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早创建时间,毫秒级时间戳" + }, + "create_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚创建时间,毫秒级时间戳" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website_job_post.list", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-job_post/list", + "scopes": [ + "hire:site_job_post:readonly" + ] + }, + "search": { + "path": "v1/websites/{website_id}/job_posts/search", + "httpMethod": "POST", + "description": "搜索自定义官网下的职位列表", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "department_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的部门 ID 的类型" + }, + "job_level_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的「职级 ID」的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "website_job_post.search", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-job_post/search", + "scopes": [ + "hire:site_job_post:readonly" + ] + } + } + }, + "website_site_user": { + "methods": { + "create": { + "path": "v1/websites/{website_id}/site_users", + "httpMethod": "POST", + "description": "创建官网用户", + "parameters": { + "website_id": { + "type": "string", + "location": "path", + "required": true, + "description": "官网 ID,可从「获取官网自定义列表」获取" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "website_site_user.create", + "parameterOrder": [ + "website_id" + ], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/website-site_user/create", + "scopes": [ + "hire:site" + ] + } + } } } } From bd3d9c67fa7915416d09dfbed42a14344609548f Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:56 +0800 Subject: [PATCH 15/19] feat(hire): add ecosystem integration resources --- internal/registry/meta_data_builtin.json | 336 +++++++++++++++++++++++ 1 file changed, 336 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 14b0cd5d6..0f2f64956 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -857,6 +857,342 @@ } } }, + "eco_account_custom_field": { + "methods": { + "batch_delete": { + "path": "v1/eco_account_custom_fields/batch_delete", + "httpMethod": "POST", + "description": "删除帐号自定义字段", + "parameters": {}, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_account_custom_field.batch_delete", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_account_custom_field/batch_delete", + "scopes": [ + "hire:background_check_order", + "hire:exam" + ] + }, + "batch_update": { + "path": "v1/eco_account_custom_fields/batch_update", + "httpMethod": "PATCH", + "description": "更新帐号自定义字段", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_account_custom_field.batch_update", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_account_custom_field/batch_update", + "scopes": [ + "hire:background_check_order", + "hire:exam" + ] + }, + "create": { + "path": "v1/eco_account_custom_fields", + "httpMethod": "POST", + "description": "创建帐号自定义字段", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_account_custom_field.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_account_custom_field/create", + "scopes": [ + "hire:background_check_order", + "hire:exam" + ] + } + } + }, + "eco_background_check": { + "methods": { + "cancel": { + "path": "v1/eco_background_checks/cancel", + "httpMethod": "POST", + "description": "终止背调订单", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check.cancel", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check/cancel", + "scopes": [ + "hire:background_check_order" + ] + }, + "update_progress": { + "path": "v1/eco_background_checks/update_progress", + "httpMethod": "POST", + "description": "更新背调进度", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check.update_progress", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check/update_progress", + "scopes": [ + "hire:background_check_order" + ] + }, + "update_result": { + "path": "v1/eco_background_checks/update_result", + "httpMethod": "POST", + "description": "回传背调的最终结果", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check.update_result", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check/update_result", + "scopes": [ + "hire:background_check_order" + ] + } + } + }, + "eco_background_check_custom_field": { + "methods": { + "batch_delete": { + "path": "v1/eco_background_check_custom_fields/batch_delete", + "httpMethod": "POST", + "description": "删除背调自定义字段", + "parameters": {}, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_custom_field.batch_delete", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_custom_field/batch_delete", + "scopes": [ + "hire:background_check_order" + ] + }, + "batch_update": { + "path": "v1/eco_background_check_custom_fields/batch_update", + "httpMethod": "PATCH", + "description": "更新背调自定义字段", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_custom_field.batch_update", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_custom_field/batch_update", + "scopes": [ + "hire:background_check_order" + ] + }, + "create": { + "path": "v1/eco_background_check_custom_fields", + "httpMethod": "POST", + "description": "创建背调自定义字段", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_custom_field.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_custom_field/create", + "scopes": [ + "hire:background_check_order" + ] + } + } + }, + "eco_background_check_package": { + "methods": { + "batch_delete": { + "path": "v1/eco_background_check_packages/batch_delete", + "httpMethod": "POST", + "description": "删除背调套餐和附加调查项", + "parameters": {}, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_package.batch_delete", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_package/batch_delete", + "scopes": [ + "hire:background_check_order" + ] + }, + "batch_update": { + "path": "v1/eco_background_check_packages/batch_update", + "httpMethod": "PATCH", + "description": "更新背调套餐和附加调查项", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_package.batch_update", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_package/batch_update", + "scopes": [ + "hire:background_check_order" + ] + }, + "create": { + "path": "v1/eco_background_check_packages", + "httpMethod": "POST", + "description": "推送背调套餐和附加调查项", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_background_check_package.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/eco_background_check_package/create", + "scopes": [ + "hire:background_check_order" + ] + } + } + }, + "eco_exam": { + "methods": { + "login_info": { + "path": "v1/eco_exams/{exam_id}/login_info", + "httpMethod": "POST", + "description": "-", + "parameters": { + "exam_id": { + "type": "string", + "location": "path", + "required": true, + "description": "exam id" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_exam.login_info", + "parameterOrder": [ + "exam_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=login_info&project=hire&resource=eco_exam&version=v1", + "scopes": [ + "hire:exam", + "hire:exam:readonly" + ] + }, + "update_result": { + "path": "v1/eco_exams/{exam_id}/update_result", + "httpMethod": "POST", + "description": "-", + "parameters": { + "exam_id": { + "type": "string", + "location": "path", + "required": true, + "description": "exam id" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_exam.update_result", + "parameterOrder": [ + "exam_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update_result&project=hire&resource=eco_exam&version=v1", + "scopes": [ + "hire:exam", + "hire:exam:readonly" + ] + } + } + }, + "eco_exam_paper": { + "methods": { + "batch_delete": { + "path": "v1/eco_exam_papers/batch_delete", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_exam_paper.batch_delete", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_delete&project=hire&resource=eco_exam_paper&version=v1", + "scopes": [ + "hire:exam" + ] + }, + "batch_update": { + "path": "v1/eco_exam_papers/batch_update", + "httpMethod": "PATCH", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_exam_paper.batch_update", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_update&project=hire&resource=eco_exam_paper&version=v1", + "scopes": [ + "hire:exam" + ] + }, + "create": { + "path": "v1/eco_exam_papers", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "eco_exam_paper.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=create&project=hire&resource=eco_exam_paper&version=v1", + "scopes": [ + "hire:exam" + ] + } + } + }, "ehr_import_task": { "methods": { "patch": { From 77179c58af838da64d87cf95cea390e6e65ebd29 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:56 +0800 Subject: [PATCH 16/19] feat(hire): add external-system import resources --- internal/registry/meta_data_builtin.json | 546 +++++++++++++++++++++++ 1 file changed, 546 insertions(+) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 0f2f64956..741bc538e 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -1585,6 +1585,552 @@ } } }, + "external_application": { + "methods": { + "create": { + "path": "v1/external_applications", + "httpMethod": "POST", + "description": "创建外部投递", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_application.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/external_application/create", + "scopes": [ + "hire:external_application" + ] + }, + "delete": { + "path": "v1/external_applications/{external_application_id}", + "httpMethod": "DELETE", + "description": "删除外部投递", + "parameters": { + "external_application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部投递 id" + }, + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "人才ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_application.delete", + "parameterOrder": [ + "external_application_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=external_application&version=v1", + "scopes": [ + "hire:external_application" + ] + }, + "list": { + "path": "v1/external_applications", + "httpMethod": "GET", + "description": "根据人才 id 获取外部投递列表", + "parameters": { + "talent_id": { + "type": "string", + "location": "query", + "required": false, + "description": "人才ID" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "external_application.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=external_application&version=v1", + "scopes": [ + "hire:external_application" + ] + }, + "update": { + "path": "v1/external_applications/{external_application_id}", + "httpMethod": "PUT", + "description": "更新外部投递", + "parameters": { + "external_application_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部投递 id" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_application.update", + "parameterOrder": [ + "external_application_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update&project=hire&resource=external_application&version=v1", + "scopes": [ + "hire:external_application" + ] + } + } + }, + "external_background_check": { + "methods": { + "batch_query": { + "path": "v1/external_background_checks/batch_query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "external_application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "外部投递 ID" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "external_background_check.batch_query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_query&project=hire&resource=external_background_check&version=v1", + "scopes": [ + "hire:external_application", + "hire:external_application:readonly" + ] + }, + "create": { + "path": "v1/external_background_checks", + "httpMethod": "POST", + "description": "创建外部背调", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_background_check.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/external_background_check/create", + "scopes": [ + "hire:external_application" + ] + }, + "delete": { + "path": "v1/external_background_checks/{external_background_check_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "external_background_check_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部背调 ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_background_check.delete", + "parameterOrder": [ + "external_background_check_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=external_background_check&version=v1", + "scopes": [ + "hire:external_application" + ] + }, + "update": { + "path": "v1/external_background_checks/{external_background_check_id}", + "httpMethod": "PUT", + "description": "-", + "parameters": { + "external_background_check_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部背调 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_background_check.update", + "parameterOrder": [ + "external_background_check_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update&project=hire&resource=external_background_check&version=v1", + "scopes": [ + "hire:external_application" + ] + } + } + }, + "external_interview": { + "methods": { + "batch_query": { + "path": "v1/external_interviews/batch_query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "external_application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "外部投递 ID" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "external_interview.batch_query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_query&project=hire&resource=external_interview&version=v1", + "scopes": [ + "hire:external_application", + "hire:external_application:readonly" + ] + }, + "create": { + "path": "v1/external_interviews", + "httpMethod": "POST", + "description": "创建外部面试", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_interview.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/external_interview/create", + "scopes": [ + "hire:external_application" + ] + }, + "delete": { + "path": "v1/external_interviews/{external_interview_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "external_interview_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部面试 ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_interview.delete", + "parameterOrder": [ + "external_interview_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=external_interview&version=v1", + "scopes": [ + "hire:external_application" + ] + }, + "update": { + "path": "v1/external_interviews/{external_interview_id}", + "httpMethod": "PUT", + "description": "-", + "parameters": { + "external_interview_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部面试 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_interview.update", + "parameterOrder": [ + "external_interview_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update&project=hire&resource=external_interview&version=v1", + "scopes": [ + "hire:external_application" + ] + } + } + }, + "external_interview_assessment": { + "methods": { + "create": { + "path": "v1/external_interview_assessments", + "httpMethod": "POST", + "description": "创建外部面评", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_interview_assessment.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/external_interview_assessment/create", + "scopes": [ + "hire:external_application" + ] + }, + "patch": { + "path": "v1/external_interview_assessments/{external_interview_assessment_id}", + "httpMethod": "PATCH", + "description": "-", + "parameters": { + "external_interview_assessment_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部面评 ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_interview_assessment.patch", + "parameterOrder": [ + "external_interview_assessment_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=patch&project=hire&resource=external_interview_assessment&version=v1", + "scopes": [ + "hire:external_application" + ] + } + } + }, + "external_offer": { + "methods": { + "batch_query": { + "path": "v1/external_offers/batch_query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "external_application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "外部投递 ID" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "external_offer.batch_query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=batch_query&project=hire&resource=external_offer&version=v1", + "scopes": [ + "hire:external_offer", + "hire:external_offer:readonly" + ] + }, + "create": { + "path": "v1/external_offers", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_offer.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=create&project=hire&resource=external_offer&version=v1", + "scopes": [ + "hire:external_offer" + ] + }, + "delete": { + "path": "v1/external_offers/{external_offer_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "external_offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部Offer ID" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_offer.delete", + "parameterOrder": [ + "external_offer_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=external_offer&version=v1", + "scopes": [ + "hire:external_offer" + ] + }, + "update": { + "path": "v1/external_offers/{external_offer_id}", + "httpMethod": "PUT", + "description": "-", + "parameters": { + "external_offer_id": { + "type": "string", + "location": "path", + "required": true, + "description": "外部Offer ID" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_offer.update", + "parameterOrder": [ + "external_offer_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update&project=hire&resource=external_offer&version=v1", + "scopes": [ + "hire:external_offer" + ] + } + } + }, + "external_referral_reward": { + "methods": { + "create": { + "path": "v1/external_referral_rewards", + "httpMethod": "POST", + "description": "-", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_referral_reward.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=create&project=hire&resource=external_referral_reward&version=v1", + "scopes": [ + "hire:external_referral_reward" + ] + }, + "delete": { + "path": "v1/external_referral_rewards/{external_referral_reward_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "external_referral_reward_id": { + "type": "string", + "location": "path", + "required": true, + "description": "示例值:" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "external_referral_reward.delete", + "parameterOrder": [ + "external_referral_reward_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=external_referral_reward&version=v1", + "scopes": [ + "hire:external_referral_reward" + ] + } + } + }, "interview": { "methods": { "get_by_talent": { From fb4a968b68b7d712bd3ee73283e4b97d98e0a501 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:50:56 +0800 Subject: [PATCH 17/19] feat(hire): add configuration & misc resources --- internal/registry/meta_data_builtin.json | 775 +++++++++++++++++++++-- 1 file changed, 727 insertions(+), 48 deletions(-) diff --git a/internal/registry/meta_data_builtin.json b/internal/registry/meta_data_builtin.json index 741bc538e..3802f1140 100644 --- a/internal/registry/meta_data_builtin.json +++ b/internal/registry/meta_data_builtin.json @@ -857,6 +857,28 @@ } } }, + "diversity_inclusion": { + "methods": { + "search": { + "path": "v1/applications/diversity_inclusions/search", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "diversity_inclusion.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=search&project=hire&resource=diversity_inclusion&version=v1", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + } + } + }, "eco_account_custom_field": { "methods": { "batch_delete": { @@ -3657,6 +3679,117 @@ } } }, + "location": { + "methods": { + "list": { + "path": "v1/locations", + "httpMethod": "GET", + "description": "获取地址列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "usage": { + "type": "string", + "location": "query", + "required": false, + "description": "地址类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "location.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/location/list", + "scopes": [ + "hire:location:readonly" + ] + }, + "query": { + "path": "v1/locations/query", + "httpMethod": "POST", + "description": "-", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页限制, 数据校验规则 1-100" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "location.query", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=query&project=hire&resource=location&version=v1", + "scopes": [ + "hire:location:readonly" + ] + } + } + }, + "minutes": { + "methods": { + "get": { + "path": "v1/minutes", + "httpMethod": "GET", + "description": "-", + "parameters": { + "interview_id": { + "type": "string", + "location": "query", + "required": false, + "description": "面试ID" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该page_token获取查询结果" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小,表示本次请求获取的速记中的语句的最大数量" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "minutes.get", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=minutes&version=v1", + "scopes": [ + "hire:interview:readonly", + "hire:interview" + ] + } + } + }, "note": { "methods": { "create": { @@ -4279,6 +4412,65 @@ } } }, + "questionnaire": { + "methods": { + "list": { + "path": "v1/questionnaires", + "httpMethod": "GET", + "description": "获取面试满意度问卷列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID" + }, + "interview_id": { + "type": "string", + "location": "query", + "required": false, + "description": "面试 ID" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "questionnaire.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/questionnaire/list", + "scopes": [ + "hire:questionnaire:readonly", + "hire:questionnaire" + ] + } + } + }, "referral": { "methods": { "get_by_application": { @@ -4599,82 +4791,260 @@ } } }, - "talent": { + "registration_schema": { "methods": { - "add_to_folder": { - "path": "v1/talents/add_to_folder", - "httpMethod": "POST", - "description": "将人才加入指定文件夹", - "parameters": {}, - "risk": "write", - "danger": true, - "accessTokens": [ - "tenant" - ], - "id": "talent.add_to_folder", - "parameterOrder": [], - "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/add_to_folder", - "scopes": [ - "hire:talent", - "hire:talent_folder_association" - ] - }, - "batch_get_id": { - "path": "v1/talents/batch_get_id", - "httpMethod": "POST", - "description": "通过人才信息获取人才 ID", - "parameters": {}, + "list": { + "path": "v1/registration_schemas", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "scenario": { + "type": "integer", + "location": "query", + "required": false, + "description": "登记表适用场景;不填表示获取全部类型信息登记表" + } + }, "risk": "read", "danger": false, "accessTokens": [ "tenant" ], - "id": "talent.batch_get_id", + "id": "registration_schema.list", "parameterOrder": [], - "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/batch_get_id", + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=registration_schema&version=v1", "scopes": [ "hire:talent:readonly", "hire:talent" ] - }, - "combined_create": { - "path": "v1/talents/combined_create", - "httpMethod": "POST", - "description": "创建人才", + } + } + }, + "resume_source": { + "methods": { + "list": { + "path": "v1/resume_sources", + "httpMethod": "GET", + "description": "获取简历来源列表", "parameters": { - "user_id_type": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { "type": "string", "location": "query", "required": false, - "description": "此次调用中使用的用户ID的类型" + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" } }, - "risk": "write", - "danger": true, + "risk": "read", + "danger": false, "accessTokens": [ "tenant" ], - "id": "talent.combined_create", + "id": "resume_source.list", "parameterOrder": [], - "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/combined_create", + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/resume_source/list", "scopes": [ + "hire:talent:readonly", "hire:talent" ] - }, - "combined_update": { - "path": "v1/talents/combined_update", - "httpMethod": "POST", - "description": "更新人才信息", + } + } + }, + "role": { + "methods": { + "get": { + "path": "v1/roles/{role_id}", + "httpMethod": "GET", + "description": "-", "parameters": { - "user_id_type": { + "role_id": { "type": "string", - "location": "query", - "required": false, - "description": "此次调用中使用的用户ID的类型" + "location": "path", + "required": true, + "description": "角色ID" } }, - "risk": "write", - "danger": true, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "role.get", + "parameterOrder": [ + "role_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=get&project=hire&resource=role&version=v1", + "scopes": [ + "hire:auth:readonly", + "hire:auth" + ] + }, + "list": { + "path": "v1/roles", + "httpMethod": "GET", + "description": "获取角色列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "role.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/role/list", + "scopes": [ + "hire:auth:readonly", + "hire:auth" + ] + } + } + }, + "subject": { + "methods": { + "list": { + "path": "v1/subjects", + "httpMethod": "GET", + "description": "获取项目列表", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "页码标识,获取第一页传空,每次查询会返回下一页的page_token" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "subject.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/subject/list", + "scopes": [ + "hire:subject:readonly" + ] + } + } + }, + "talent": { + "methods": { + "add_to_folder": { + "path": "v1/talents/add_to_folder", + "httpMethod": "POST", + "description": "将人才加入指定文件夹", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.add_to_folder", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/add_to_folder", + "scopes": [ + "hire:talent", + "hire:talent_folder_association" + ] + }, + "batch_get_id": { + "path": "v1/talents/batch_get_id", + "httpMethod": "POST", + "description": "通过人才信息获取人才 ID", + "parameters": {}, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "talent.batch_get_id", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/batch_get_id", + "scopes": [ + "hire:talent:readonly", + "hire:talent" + ] + }, + "combined_create": { + "path": "v1/talents/combined_create", + "httpMethod": "POST", + "description": "创建人才", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "talent.combined_create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/talent/combined_create", + "scopes": [ + "hire:talent" + ] + }, + "combined_update": { + "path": "v1/talents/combined_update", + "httpMethod": "POST", + "description": "更新人才信息", + "parameters": { + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "write", + "danger": true, "accessTokens": [ "tenant" ], @@ -5180,6 +5550,315 @@ } } }, + "termination_reason": { + "methods": { + "list": { + "path": "v1/termination_reasons", + "httpMethod": "GET", + "description": "获取终止投递原因", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "termination_reason.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/termination_reason/list", + "scopes": [ + "hire:application:readonly", + "hire:application" + ] + } + } + }, + "test": { + "methods": { + "search": { + "path": "v1/tests/search", + "httpMethod": "POST", + "description": "获取笔试列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "test.search", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/test/search", + "scopes": [ + "hire:exam", + "hire:exam:readonly" + ] + } + } + }, + "todo": { + "methods": { + "list": { + "path": "v1/todos", + "httpMethod": "GET", + "description": "获取待办列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "string", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大100" + }, + "user_id": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID,当 token 为租户 token 时,必须传入该字段,当 token 为用户 token 时,不传该字段" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID 类型" + }, + "type": { + "type": "string", + "location": "query", + "required": false, + "description": "待办类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "user" + ], + "id": "todo.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/todo/list", + "scopes": [ + "hire:todo:readonly" + ] + } + } + }, + "tripartite_agreement": { + "methods": { + "create": { + "path": "v1/tripartite_agreements", + "httpMethod": "POST", + "description": "-", + "parameters": {}, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "tripartite_agreement.create", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=create&project=hire&resource=tripartite_agreement&version=v1", + "scopes": [ + "hire:tripartite_agreement" + ] + }, + "delete": { + "path": "v1/tripartite_agreements/{tripartite_agreement_id}", + "httpMethod": "DELETE", + "description": "-", + "parameters": { + "tripartite_agreement_id": { + "type": "string", + "location": "path", + "required": true, + "description": "示例值:" + } + }, + "risk": "high-risk-write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "tripartite_agreement.delete", + "parameterOrder": [ + "tripartite_agreement_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=delete&project=hire&resource=tripartite_agreement&version=v1", + "scopes": [ + "hire:tripartite_agreement" + ] + }, + "list": { + "path": "v1/tripartite_agreements", + "httpMethod": "GET", + "description": "-", + "parameters": { + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "分页大小" + }, + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果" + }, + "application_id": { + "type": "string", + "location": "query", + "required": false, + "description": "投递 ID,必填投递 id 与三方协议 ID 其中之一" + }, + "tripartite_agreement_id": { + "type": "string", + "location": "query", + "required": false, + "description": "三方协议 ID,必填投递 id 与三方协议 ID 其中之一" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "tripartite_agreement.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=list&project=hire&resource=tripartite_agreement&version=v1", + "scopes": [ + "hire:tripartite_agreement", + "hire:tripartite_agreement:readonly" + ] + }, + "update": { + "path": "v1/tripartite_agreements/{tripartite_agreement_id}", + "httpMethod": "PUT", + "description": "-", + "parameters": { + "tripartite_agreement_id": { + "type": "string", + "location": "path", + "required": true, + "description": "三方协议的 id" + } + }, + "risk": "write", + "danger": true, + "accessTokens": [ + "tenant" + ], + "id": "tripartite_agreement.update", + "parameterOrder": [ + "tripartite_agreement_id" + ], + "docUrl": "https://open.feishu.cn/api-explorer?from=op_doc_tab&apiName=update&project=hire&resource=tripartite_agreement&version=v1", + "scopes": [ + "hire:tripartite_agreement" + ] + } + } + }, + "user_role": { + "methods": { + "list": { + "path": "v1/user_roles", + "httpMethod": "GET", + "description": "获取用户角色列表", + "parameters": { + "page_token": { + "type": "string", + "location": "query", + "required": false, + "description": "下一页页码" + }, + "page_size": { + "type": "integer", + "location": "query", + "required": false, + "description": "每页获取记录数量,最大10" + }, + "user_id": { + "type": "string", + "location": "query", + "required": false, + "description": "用户 ID" + }, + "role_id": { + "type": "string", + "location": "query", + "required": false, + "description": "角色 ID" + }, + "update_start_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最早更新时间,毫秒级时间戳" + }, + "update_end_time": { + "type": "string", + "location": "query", + "required": false, + "description": "最晚更新时间,毫秒级时间戳" + }, + "user_id_type": { + "type": "string", + "location": "query", + "required": false, + "description": "此次调用中使用的用户ID的类型" + } + }, + "risk": "read", + "danger": false, + "accessTokens": [ + "tenant" + ], + "id": "user_role.list", + "parameterOrder": [], + "docUrl": "https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/user_role/list", + "scopes": [ + "hire:auth:readonly", + "hire:auth" + ] + } + } + }, "website": { "methods": { "list": { From f6a58d66ecff86c27c4aaeef2db082fde38ea574 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:51:14 +0800 Subject: [PATCH 18/19] feat(hire): add lark-hire agent skill --- skills/lark-hire/SKILL.md | 71 +++++++++++++++++++ .../references/recruitment-pipeline.md | 29 ++++++++ 2 files changed, 100 insertions(+) create mode 100644 skills/lark-hire/SKILL.md create mode 100644 skills/lark-hire/references/recruitment-pipeline.md diff --git a/skills/lark-hire/SKILL.md b/skills/lark-hire/SKILL.md new file mode 100644 index 000000000..2bae109fa --- /dev/null +++ b/skills/lark-hire/SKILL.md @@ -0,0 +1,71 @@ +--- +name: lark-hire +version: 1.0.0 +description: "飞书招聘 (Feishu/Lark Hire):管理职位、人才、投递、Offer 等招聘全流程。查询职位与详情、管理人才库、跟踪投递进度与招聘阶段、管理 Offer。当用户需要查职位/候选人、看投递管线、查 Offer,或操作招聘数据时使用。" +metadata: + requires: + bins: ["lark-cli"] + cliHelp: "lark-cli hire --help" +--- + +# hire (招聘) + +**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、身份(`--as user|bot`)、权限与错误处理等通用规则。** + +`lark-cli hire` 覆盖飞书招聘开放接口,命令形如 `lark-cli hire `。 +查看接口参数:`lark-cli schema hire..`。 + +## Core Concepts + +- **Job 职位** (`job`, `job_id`): 招聘岗位。`hire job list` 列表、`hire job get` 详情。 +- **Talent 人才** (`talent`, `talent_id`): 候选人,人才库核心实体。`hire talent batch-get-id` 可按手机/邮箱查 ID。 +- **Application 投递** (`application`, `application_id`): 某人才对某职位的一次投递,串联整个流程;可按 `job_id`/`talent_id`/`stage_id` 过滤。 +- **Offer** (`offer`, `offer_id`): 录用意向,有状态流转。`offer list` 需带 `talent_id`。 + +## Resource Relationships + +``` +Job (job_id) +└── Application (application_id) ← talent + job + ├── Talent (talent_id) + ├── Stage 招聘阶段 + └── Offer (offer_id) +``` + +## 常用只读工作流 + +```bash +# 职位列表(参数走 --params JSON;分页用 --page-all) +lark-cli hire job list --params '{"page_size":"20"}' --jq '.data.items[] | {id, title}' + +# 职位详情(路径参数 job_id 放进 --params) +lark-cli hire job get --params '{"job_id":""}' + +# 某职位下的投递(自动翻页) +lark-cli hire application list --params '{"job_id":""}' --page-all -q '.data.items[]' + +# 按手机号查人才 ID,再查其投递 +lark-cli hire talent batch-get-id --data '{"mobile_code":"86","mobile_number_list":["138..."]}' +lark-cli hire application list --params '{"talent_id":""}' + +# 某人才的 Offer(talent_id 必填) +lark-cli hire offer list --params '{"talent_id":""}' +``` + +## 写操作 + +写/删除接口带 `Risk: write` / `high-risk-write`(见 `lark-cli schema hire..`)。务必先 `--dry-run` 预览,确认后再执行;body 用 `--data`(支持 `@file` 与 `-` stdin)。 + +```bash +lark-cli hire talent combined-create --data @talent.json --dry-run +lark-cli hire talent combined-create --data @talent.json +``` + +## 要点 + +- 路径参数与查询参数都放进 `--params` 的 JSON;请求体放 `--data`。 +- 列表响应取 `.data.items[]`;详情取 `.data.`(如 `.data.job`、`.data.talent`、`.data.application`)。 +- 不同接口 `page_size` 上限不同(职位 20,投递 100)。 +- 身份默认 `--as bot`(tenant_access_token);接口若标注支持 user,可 `--as user`。 + +更多工作流见 [`references/recruitment-pipeline.md`](references/recruitment-pipeline.md)。 diff --git a/skills/lark-hire/references/recruitment-pipeline.md b/skills/lark-hire/references/recruitment-pipeline.md new file mode 100644 index 000000000..7c7729d4e --- /dev/null +++ b/skills/lark-hire/references/recruitment-pipeline.md @@ -0,0 +1,29 @@ +# 招聘管线(只读)工作流 + +把"职位 → 投递 → Offer"串起来查询。全部只读,无需确认。 + +## 1. 选定职位 +```bash +lark-cli hire job list --page-all -q '.data.items[] | select(.title | test("工程师")) | {id, title}' +``` + +## 2. 该职位的投递管线 +```bash +lark-cli hire application list --params '{"job_id":""}' --page-all \ + -q '.data.items[]' # 投递列表(部分接口返回 application_id) +lark-cli hire application get --params '{"application_id":""}' # 投递详情 .data.application +``` + +## 3. 候选人维度 +```bash +# 手机/邮箱 -> talent_id +lark-cli hire talent batch-get-id --data '{"mobile_code":"86","mobile_number_list":["138..."]}' +lark-cli hire talent get --params '{"talent_id":""}' # .data.talent +lark-cli hire application list --params '{"talent_id":""}' # 其投递 +lark-cli hire offer list --params '{"talent_id":""}' # 其 Offer(talent_id 必填) +``` + +## 提示 +- 参数(路径+查询)统一放 `--params` 的 JSON;请求体放 `--data`。 +- 字段以 `lark-cli schema hire..` 与官方文档为准。 +- 大量数据用 `--format csv > out.csv` 导出后分析。 From d833bb2642bf1c282805d6c111f9416210ba68a0 Mon Sep 17 00:00:00 2001 From: Kirklin Date: Fri, 5 Jun 2026 11:51:14 +0800 Subject: [PATCH 19/19] docs(readme): list Hire in the features table --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f61910841..5d5161afe 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ The official [Lark/Feishu](https://www.larksuite.com/) CLI tool, maintained by t | 🕐 Attendance | Query personal attendance check-in records | | ✍️ Approval | Query approval tasks, approve/reject/transfer tasks, cancel and CC instances | | 🎯 OKR | Query, create, update OKRs; manage objective & key results, alignments, indicators and progress. | +| 🧑‍💼 Hire | Recruitment: jobs, talents, applications, offers — query, create, update; track stages & onboarding | | 📋 Project | Meegle — manage work items, schedules, and data via the standalone [meegle-cli](https://github.com/larksuite/meegle-cli) (install separately) | | 🔗 Apps | Develop, deploy HTML, web pages and applications |