简历解析

ResumeSDK的服务基于http+json格式的方式提供服务,以同时支持各种不同开发语言的客户端调用。ResumeSDK提供SaaS模式和独立部署两种形式的服务模式:

  1. SaaS模式:服务部署在我司服务器上,客户通过远程API调用的方式使用简历分析服务,按调用次数或者包年模式收费。可通过以下两种方式进行试用和购买:
  2. 1)直接和我们购买:单价便宜,可以包月或者包年,但是需要签合同,有起充额度要求;
    2)通过阿里云购买(阿里云接口地址):单价稍贵一点,但是不需签合同,起充额度要求低,随购随用;
  3. 独立部署:服务部署在客户自己的服务器上,客户自行运维和管控服务,无调用次数和期限的限制;

两种服务方式的接口只有轻微差异,以下以SaaS服务的接口格式做详细介绍。ResumeSDK简历解析提供对输入的附件简历进行结构化处理的功能,共解析出10大主要功能模块,合计150多个字段信息。使用的注意事项:

  1. 不定期新增字段:功能升级需要,我们会不定期在json结果中增加一些新的解析字段,因此在读取结果数据时,请注意对后续新增字段的兼容;
  2. 高级功能默认关闭:对于头像解析及实践经历解析等功能,由于会影响解析效率,因此默认是关闭状态,如有需要请参考请求接口文档进行开启;

1、请求接口格式

按照如下方式和内容构造http请求:

  1. http请求方式:POST;
  2. http请求头字段Content Type:application/json;
  3. http请求内容:通过json格式打包如下字段信息:
    字段 类型 是否必填 描述
    uid int 必填字段 用户id
    pwd string 必填字段 用户密码
    file_name string 必填字段 简历文件名(请确保后缀正确)
    file_cont string 必填字段 简历文件内容(以base64编码),其中:
    1)图片简历:经based64编码后大小建议不超过1M,最短边至少50px,最长边最大4096px
    支持jpg/jpeg/png/bmp/tif/gif格式;
    2)非图片简历:经based64编码后大小不超过8M
    need_avatar int 可选字段 是否需要解析头像,0为不需要,1为需要,默认为0
    need_social_exp int 可选字段 是否需要解析实践经历,0为不需要,1为需要,默认为0:
    1)若需要解析,则对“社会实践”及“在校活动”文本进行解析,解析结果放置在social_exp_objs字段中;
    ocr_type int 可选字段 ocr(图片解析所用到的文字识别)类型,0为基础版,1为高级版,默认为0。
    其中高级版效果更佳,但是收费略有不同,具体请参考报价单;
    version int 可选字段 接口版本,当前取值为0和1,默认为0:
    1)version=0:仅当字段在简历中有出现,才会在json结果中返回;
    2)version=1:不管字段在简历中有无出现,均在json结果中返回,若无出现则该字段取值为空;

请求结构体示例:


    {
        "uid": 123456,
        "pwd": "abccba",
        "file_name": "resume_name.docx",
        "file_cont": "UFAFDA132fAFA...",
        "need_avatar": 0
    }
            

注:其中uid和pwd为账号信息,需要和我们申请。如果通过阿里云接口服务进行接入(appcode认证方式),则不需uid和pwd,且返回接口无account信息。


2、返回接口总体格式

ResumeSDK以json格式返回解析结果,它的内容包括:

  1. "status",解析结果状态信息:
    字段 类型 描述
    code int 状态码,200表示正常,其余表示异常,具体参考错误状态码
    message string 状态信息描述
  2. "account",账户状态信息:
    字段 类型 描述
    uid int 用户id
    usage_limit int 用户的总调用量
    usage_remaining int 用户剩余的调用量,每成功调用一次减1,当值为0时不能再调用
  3. "result",简历解析结构体。包含140多个字段信息,具体参考简历解析结构体

返回结构体示例:


    {
        "status": {
            "code": 200,
            "message": "OK"
        },
        "account": {
            "uid": 123456,
            "usage_limit": 62500,
            "usage_remaining": 50000
        },
        "result": {
            ...
        },
    }
            

2.1.1 错误状态码

当错误状态码等于200时表示解析正常,为其他值时表示解析正常,不同的值代表不同的错误信息。

码值 含义
200 正常状态,表示解析成功
250 账号(uid)或密码(pwd)错误
251 账号剩余用量为0(需及时充值)
260 请求参数错误
261 简历内容为空
262 简历内容过长
263 不支持的简历文件格式
264 base64解码出错
265 图片文件过大,或者长宽大小超过限制
266 输入参数file_name缺少文件后缀名(请带上正确的文件后缀,如果是纯文本则为.txt)
267 输入的json结构体有误(即解码失败)
240 简历解析内部错误
280 人岗匹配内部错误

3、简历解析结构体

简历解析结果均放在result字段下,共包含140多个字段信息,由以下主要部分组成:

  1. 基本信息;
  2. 期望职位;
  3. 教育经历;
  4. 工作经历;
  5. 项目经历;
  6. 培训经历;
  7. 技能列表等。

3.1 基本信息

基本信息包含解析结果的基础字段,作为result结构体下的一级字段存在。包含的字段如下:

3.1.1 基本信息——基础信息

基本信息包含解析结果的基础字段,作为result结构体下的一级字段存在。包含的字段如下:

字段 含义 类型 取值
name 姓名 string 人名,比如“姚明”
surname 姓氏 string 姓氏,比如“姚”
gender 性别 string 男、女、male、female
age 年龄 string 年龄,比如“25”
height 身高 string 180cm
weight 体重 string 75kg
marital_status 婚姻状态 string 已婚、未婚、已结婚、未结婚、保密
birthday 出生日期 string 比如:2019.10.01或者2019.10
hukou_address 户口地址 string 用户填写的地址,比如“上海市虹口区广粤路xx弄x号xxx室”
hukou_address_norm 户口地址(规范化) string 规范化到“区县”一级,比如“中国-上海市-虹口区”
hometown_address 籍贯地址 string 用户填写的地址,比如“上海市虹口区广粤路xx弄x号xxx室”
hometown_address_norm 籍贯地址(规范化) string 规范化到“区县”一级,比如“中国-上海市-虹口区”
id_card 身份证号 string 身份证号
race 民族 string 比如:汉、汉族
nationality 国籍 string 比如:中国、越南、美国
polit_status 政治面貌 string 比如:党员、团员、共青团员、共产党员、无党派人士、共产党党员
languages 语言能力 string 英语、日语等,多个语言间用逗号分隔
english_level 英语水平 string 比如:大学英语6级、专业英语8级
computer_level 计算机水平 string 计算机水平
blog 博客/主页地址 string 博客/主页地址
work_year 工作年限(自填或从工作经历推断) string 4种取值:“8”、“3.5”、“10~15”、“应届生”
work_year_norm 工作年限(对work_year的规范化) string 4种取值对应的规范化:“8”、“3.5”、“10”、“0”
work_year_inf 工作年限(从工作经历里推断) string 2种取值:“8”、“3.5”
work_start_time 参加工作时间(自填或从工作经历推断) string 比如:2019.10.01、2019.10
work_start_time_inf 参加工作时间(从工作经历推断) string 比如:2019.10.01、2019.10
work_position 当前职位 string 比如:java开发、产品总监
work_company 当前单位 string 单位名称
work_industry 所处行业 string 行业名称
work_status 在职状态 string 用户填写的内容
work_salary 当前薪资 string 取值类型:
“135000元/年”
“13500元/月”
“80000~120000元/年”
“8000~12000元/月”
work_salary_min 当前月薪(下限) string 比如:“8000”
work_salary_max 当前月薪(上限) string 比如:“12000”
work_location 工作地点 string 工作地点
work_location_norm 工作地点(规范化) string 同city_norm
work_job_nature 工作性质 string 全职、兼职、实习
has_oversea_edu 有否海外留学经历 string 0:否,1:是;默认为无
has_oversea_exp 有否海外工作经历 string 0:否,1:是;默认为无
grad_time 毕业时间 string 2019.10.01、2019.10
college 毕业学校 string 学校名称
college_type 毕业学校类型 string 取值0~7:
0:普通院校
1:985
2:211
3:港澳台院校
4:海外院校
5:中学
6:职业教育
7:培训机构
college_rank 毕业学校排名 string 取值1~1000
college_dept 毕业院系 string 院系名称
major 所学专业 string 专业名称
degree 学历 string 小学、初中、高中、中专、大专、本科、硕士研究生、博士研究生、博士后、mba
recruit 是否统招 string 统招、自考、在职、成教、函授等

3.1.2 基本信息——联系方式

联系方式作为result结构体下的一级字段存在。包含的字段如下:

字段 含义 类型 取值
email 邮箱 string 联系邮箱
phone 电话号码 string 手机/电话号码
qq QQ号 string QQ号
weixin 微信号 string 微信号
postal_code 邮编 string 邮编
city 所在城市 string 城市名,比如“重庆”、“广东”、“华容县”
city_norm 所在城市(规范化) string 规范化的城市名,到“区县”一级:
中国-广东省
中国-湖南省-岳阳市
中国-湖南省-岳阳市-华容县
中国-吉林省-长春市-朝阳区
living_address 当前所在地 string 用户填写的地址,比如“上海市虹口区广粤路xx弄x号xxx室”
living_address_norm 当前所在地(规范化) string 规范化到“区县”一级,比如“中国-上海市-虹口区”

3.1.3 基本信息——期望工作

期望工作作为result结构体下的一级字段存在。包含的字段如下:

字段 含义 类型 取值
expect_job 期望工作 string 职位名称
expect_cpy 期望工作单位 string 单位名称
expect_salary 期望薪资 string 同work_salary
expect_salary_min 期望薪资(下限) string 同work_salary_min
expect_salary_max 期望薪资(上限) string 同work_salary_max
expect_industry 期望行业 string 行业名称
expect_time 到岗时间 string 用户填写的内容
expect_jnature 期望工作性质 string 用户填写的内容
expect_jstatus 当前离职/在职状态 string 用户填写的内容
expect_jlocation 期望工作地址 string 用户填写的内容
expect_jlocation_norm 期望工作地址(规范化) string 同city_norm,多个地址以逗号分隔。

3.1.4 基本信息——简历信息

简历信息作为result结构体下的一级字段存在。包含的字段如下:

字段 含义 类型 取值
resume_type 简历类型 string 取值0~4:
0:中文
1:英文
2:中英(前中后英)
3:英中(前英后中)
4:空
resume_source 简历来源 string 智联、智联卓聘、前程无忧、51精英、猎聘、boss直聘、拉勾
resume_id 简历id string 智联/51job等网站里的简历id
resume_name 简历文件名 string 输入的简历文件名
resume_parse_time 简历解析时间 string YYYY-MM-DD HH-MM-SS
resume_update_time 简历更新时间 string 更新时间
resume_integrity 简历完整度 string 取值0~100

3.1.5 基本信息——头像信息

头像信息作为result结构体下的一级字段存在。包含的字段如下(注:两个字段最多只有1个有结果):

字段 含义 类型 取值
avatar_url 个人头像图片url string 以url形式存在的个人头像,比如有些html简历,头像就是一个url链接。
avatar_data 个人头像图片数据 string 以图片形式嵌入在简历中的个人头像,解析后的结果为:”data:image/#ext;base64, #data”,
其中#ext为图片格式,#data为经base64编码的实际图片数据。

3.1.6 基本信息——文本内容

文本内容作为result结构体下的一级字段存在。包含的字段如下:

字段 含义 类型 取值
cont_basic_info 基本信息文本内容 string 文本内容
cont_education 教育经历文本内容 string 文本内容
cont_job_exp 工作经历文本内容 string 文本内容
cont_proj_exp 项目经历文本内容 string 文本内容
cont_intership 实习经历文本内容 string 文本内容
cont_social_exp 社会实践文本内容 string 文本内容
cont_campus_exp 在校活动文本内容 string 文本内容
cont_job_skill 个人技能文本内容 string 文本内容
cont_my_desc 自我评价文本内容 string 文本内容
cont_hobby 兴趣爱好文本内容 string 文本内容
cont_language 语言技能文本内容 string 文本内容
cont_certificate 所获证书文本内容 string 文本内容
cont_award 所获奖励文本内容 string 文本内容
cont_training 培训经历文本内容 string 文本内容
cont_course 所学课程文本内容 string 文本内容
cont_cover_letter 求职信文本内容 string 文本内容
cont_extra_info 附加信息文本内容 string 文本内容
raw_text 原始简历文本内容 string 文本内容

3.2 教育经历

教育经历存放于result结构体下的一级字段education_objs中,每一段教育经历包含的字段如下:

字段 含义 类型 取值
start_date 开始时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”
end_date 结束时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”、“至今”
edu_college 学校 string 学校名称
edu_college_type 学校类型 string 参考前面college_type字段
edu_college_rank 学校排名 string 取值1~1000
edu_college_dept 院系 string 院系名称
edu_major 专业 string 专业名称
edu_recruit 是否统招 string 参考前面recruit字段
edu_gpa gpa成绩 string 用户填写的内容
edu_degree 学历 string 用户填写的内容
edu_degree_norm 学历(规范化) string 小学、初中、高中、中专、大专、本科、硕士研究生、博士研究生、博士后、mba

3.3 工作经历及实习经历

工作经历及实习经历存放于result结构体下的一级字段job_exp_objs中,其中实习经历通过job_nature="实习"进行标识。
每一段工作经历包含的字段如下:

字段 含义 类型 取值
start_date 开始时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”
end_date 结束时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”、“至今”
job_cpy 公司 string 公司名称
job_cpy_nature 公司性质 string 上市、民营、国企、央企、外企、外资、美资、港资等公司或企业
job_cpy_size 公司规模 string 用户填写的内容
job_cpy_desc 公司描述 string 用户填写的内容
job_industry 行业 string 行业名称
job_position 职位 string 职位名称
job_dept 所在部门 string 部门名称
job_nature 工作性质 string 全职、兼职、实习
job_salary 工作薪资 string 用户填写的内容
job_staff 下属人数 string 用户填写的内容
job_report_to 汇报对象 string 用户填写的内容
job_location 工作地点 string 用户填写的内容
job_why_leave 离职原因 string 用户填写的内容
job_duration 持续时间 string 比如“1年3个月”、“3年”、“6个月”
job_capacity 工作能力 string 用户填写的内容
job_content 工作内容 string 用户填写的内容

3.4 社会及学校实践经历

社会及学校实践经历存放于result结构体下的一级字段social_exp_objs中(若要解析实践经历,需要在请求接口中增加参数need_social_exp=1)。
每一段实践经历包含的字段和工作经历的字段信息相同,具体字段如下:

字段 含义 类型 取值
start_date 开始时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”
end_date 结束时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”、“至今”
job_cpy 单位 string 单位名称或者活动组织名称,可以是某一个实体名称,也可以是某一项活动名称
job_cpy_nature 公司性质 string 上市、民营、国企、央企、外企、外资、美资、港资等公司或企业
job_cpy_size 公司规模 string 用户填写的内容
job_cpy_desc 公司描述 string 用户填写的内容
job_industry 行业 string 行业名称
job_position 职位 string 职位名称
job_dept 所在部门 string 部门名称
job_nature 工作性质 string 全职、兼职、实习
job_salary 工作薪资 string 用户填写的内容
job_staff 下属人数 string 用户填写的内容
job_report_to 汇报对象 string 用户填写的内容
job_location 工作地点 string 用户填写的内容
job_why_leave 离职原因 string 用户填写的内容
job_duration 持续时间 string 比如“1年3个月”、“3年”、“6个月”
job_capacity 工作能力 string 用户填写的内容
job_content 工作内容 string 用户填写的内容

3.5 项目经历

项目经历存放于result结构体下的一级字段proj_exp_objs中,每一段项目经历包含的字段如下:

字段 含义 类型 取值
start_date 开始时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”
end_date 结束时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”、“至今”
proj_name 项目名称 string 项目名称
proj_cpy 所在公司 string 公司名称
proj_position 担任职位 string 职位名称
proj_content 项目内容 string 项目内容
proj_resp 项目职责 string 项目职责

3.6 培训经历

培训经历存放于result结构体下的一级字段training_objs中,每一段培训经历包含的字段如下:

字段 含义 类型 取值
start_date 开始时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”
end_date 结束时间 string 日期,比如“2019.09.01”、“2019.09”、“2019”、“至今”
train_org 培训机构 string 机构名称
train_loc 培训地点 string 地点名称
train_cert 所获证书 string 证书名称
train_cont 培训内容 string 内容描述

3.7 技能列表

技能列表存放于result结构体下的一级字段skills_objs中,每一个技能包含的字段如下:

字段 含义 类型 取值
skills_name 技能名称 string 技能名词,比如“java开发”、“市场调研”等
skills_level 熟练程度 string 熟练程度
skills_time 技能使用时间 string 时长

3.8 语言技能

语言技能存放于result结构体下的一级字段lang_objs中,每一个语言技能包含的字段如下:

字段 含义 类型 取值
language_name 语言名称 string 语言名称,比如“英语”、“俄语”等
language_level 熟练程度 string 熟练程度
language_read_write 读写能力 string 比如“熟练”等
language_listen_speak 听说能力 string 比如“熟练”等

3.9 语言证书列表

语言证书列表存放于result结构体下的一级字段cert_objs中,每一个语言证书包含的字段如下:

字段 含义 类型 取值
langcert_lang 语言名称 string 语言名称,比如“英语”、“俄语”等
langcert_name 证书名称 string 证书名称
langcert_score 证书成绩 string 成绩,比如625,不同证书的成绩范围不同

3.10 所有证书列表

所有证书列表(包括语言证书、职业证书等)存放于result结构体下的一级字段all_cert_objs中,每一个证书包含的字段如下:

字段 含义 类型 取值
cert_name 证书名称 string 证书名称,比如“证券从业资格证书”、“计算机二级”等