7.4 KiB
统一招聘行业目录对接说明
适用对象:前后端联调工程师。范围:目录、企业资料、岗位筛选、求职意向、推荐及技能映射;不包含前端实现、线上数据回填或发布授权。
本批为本地后端改动,不能据此认为当前线上已支持。最终验证状态以本批验收报告为准。
目录及字段参考
唯一主目录为 catalog/industries-v1.json,版本 recruitment-industry-v1。这是项目招聘场景目录,不宣称是国家行业标准。共18个大类、78个细分类;目录版本和编码稳定,调整展示名称不改变编码。新增、停用或拆分类别需单独审核兼容策略,不复用已发出的编码。
大类覆盖互联网/信息技术、金融、制造、汽车、消费品与零售、医疗健康、教育、建筑与房地产、物流与交通、能源、专业服务、生活服务、文化传媒、农林牧渔、公共与社会服务、通信、旅游与住宿、环保。
GET /api/v1/jobs/industry-catalog?scope=ALL 无需登录,返回标准 ApiResponse。data:
{
"version": "recruitment-industry-v1",
"scope": "ALL",
"countScope": "GLOBAL_PUBLISHED_NOT_FILTERED_BY_CITY",
"items": [
{"code":"FINANCE","parentCode":null,"name":"金融","level":1,"publishedJobCount":2,"skillIndustryCode":null},
{"code":"FINANCE_BANKING","parentCode":"FINANCE","name":"银行","level":2,"publishedJobCount":2,"skillIndustryCode":null}
],
"unmappedPublishedJobCount": 1
}
示例仅演示部分条目和计数,不是实际环境数据。全局序列化可能省略空值字段,前端需兼容 null 和字段缺省。例如已有金融技能集时 FINANCE 的 skillIndustryCode 是 FINANCE。
ALL:完整两级目录,包括零岗位类别。企业资料和求职意向必须用此目录。WITH_JOBS:只返回当前存在已发布岗位的类别及其大类,不能作为可填写的完整行业范围。publishedJobCount为全站 PUBLISHED 岗位数,不叠加当前城市等筛选。大类包含自身和细分类,父子数不可相加当作岗位总数。unmappedPublishedJobCount:无法可靠映射行业的已发布岗位数;不强塞进“其他”。- 未知 scope 返回400;不发送中文“不限”作为编码。
企业、岗位及求职意向接入
企业
企业创建、更新、企业注册内的 company 对象可传:
{"industryCode":"FINANCE_BANKING"}
旧 industry 名称参数保留。若同时传编码和名称,名称必须精确映射到该编码,否则400;不做模糊猜测。更新两字段都缺省表示保留;industryCode:"" 且名称缺省/空白表示清空。未知非空编码400。
企业自查、公开企业摘要、岗位列表/详情内企业摘要增加 industryCode。已存编码时展示目录现行名称;旧数据能精确映射时可在读取时返回编码,但不写回数据库;未知旧名称原样展示,编码为空或缺省。
岗位行业继承所属企业,不新增岗位独立行业字段。企业行业修改会影响其岗位的行业筛选与计数。不要从岗位标题推导行业。
岗位筛选
GET /api/v1/jobs/search?industryCode=FINANCE,MANUFACTURING。
最多20个去重编码、每项64字符、整个参数最多4096字符。大类包含全部细分类,同维度OR,与城市/学历等维度AND。未知编码或空分隔项400。编码匹配优先用企业已存编码;旧数据只使用精确别名匹配,未知数据仍可在不限定行业时看到。
旧 industry 名称精确筛选语义不变;新旧参数同时提供时AND,建议新前端只用 industryCode。旧 /jobs/filters.industries 仍是有岗名称选项,不是完整目录。
求职意向
PUT /api/v1/profile/me/preferences 和在线简历 content.jobIntention 增加 preferredIndustryCodes 字符串数组,最多20项。例如:
{"preferredIndustryCodes":["FINANCE_BANKING","INTERNET"],"revision":7}
偏好局部更新中编码和旧名称都缺省则保留,只传编码 [] 明确清空。只传旧名称会保留原文,并生成可确定的编码;同时传两组选择时,可确定的编码集合必须一致,否则400且不部分写入。两组同时带有待确认旧名称时保留未知名称,使 GET→编辑其他字段→保存不会丢失历史内容;要连同这些未知名称一起删除,请把两组数组都置为 []。
偏好读取返回 preferredIndustryCodes,并以 unmappedPreferredIndustries 列出未知旧名称;旧名称列表仍保留。在线简历也返回编码数组;不能静默删掉旧名称。旧客户端整份保存没有编码字段时根据名称做确定映射,保持兼容。
原有 revision 并发保护不变:已有在线简历的旧偏好更新必须携带最新 revision,冲突仍409/6002。此功能不绕开版本校验。
推荐与技能映射
推荐行业引用同一主目录,数据库 job_recommendation_taxonomies 的 INDUSTRY 行是兼容投影,非第二套自主维护的字典。旧六个编码保留;新增编码由 V65 提供。推荐偏好按编码和大类展开参与原有偏好评分,不改变城市/薪资硬筛选规则。
岗位推荐和人才发现使用同一评分映射,同时归一化偏好与目标的旧别名;未知旧偏好保留为未匹配条件,不能静默移除其评分权重。岗位匹配诊断的行业参考项读取岗位所属企业的编码,不再用岗位描述猜行业;原有10分参考权重与城市/薪资门槛不变。个人数据导出同时携带已存的行业编码。
行业与职位类别独立。FINANCE_BANKING(银行)可以搭配 IT_SOFTWARE(软件职位类别);JOB_FAMILY 不再返回行业父级以限制选择。职位类别本身仍需已启用、类型正确。推荐配置里的行业需与业务实际保持一致,不能根据职位类别推断。
技能仍使用现有 industryId + occupationId 数据集查询方式,不把行业编码当数字ID。目录条目的 skillIndustryCode 仅在数据库确有对应技能集时提供;当前已有互联网、金融、教育数据,其余行业不虚构词云或学习路径。
技能的 occupation 与 industry 绑定表示现有数据集范围,不是“该行业只能招聘这些职业”的业务限制。前端没有可用技能映射时应明确展示“该行业技能数据暂未覆盖”,不能把它隐藏出行业选择器,也不能随意套用互联网技能。
旧数据待确认与验收限制
V65 仅新增企业编码/偏好编码列、索引和新增推荐行业条目,不批量回填或改写旧名称,不修改历史迁移。旧名称仅按中央目录精确别名表解析,未知或混合业务名称保留待确认。名称别名新增必须检查冲突;不得为消除待确认而统归“其他”。
发布前在隔离副本汇总现有企业行业、求职意向名称的映射结果供业务确认;生产回填须单独授权,不在本批自动执行。
联调需覆盖:完整目录与有岗目录差异、零岗位类别、编码保存重读、金融大类筛选银行、城市条件联用、未知旧名称保留、清空、revision冲突、银行招聘软件工程师、技能未覆盖提示。岗位数量无结果应展示真实空态,不能回退到全行业结果。
本批不修改前端,不发起真实AI/短信/地图调用;定向测试、真实MySQL、全量构建和同次JAR验证分别记账,不互相冒充。