Menu
SIKAI Developer Docs
  • Introduction
  • Plan Information
  • Resume Parsing
  • Candidate Profile
  • Talent Database
  • Talent Search
  • Candidate-Job Matching
  • Job Parsing
  • Job Database
  • Knowledge Graph
  • Introduction

    SIKAI

    Welcome to the SIKAI API documentation.

    SIKAI provides production-ready resume parsing and resume intelligence APIs for HR technology, recruiting, and executive-search products. Our services turn unstructured hiring data into reliable structured information, helping teams improve processing efficiency and reduce operational costs.

    About us

    Our team has published research at international data-science conferences, with work referenced by Wikipedia and indexed by SCI and IEEE. We specialize in multilingual resume parsing, semantic talent search, and intelligent candidate-job matching.

    We continuously apply current research to practical recruiting workflows and support customers worldwide from teams in China and the United States.

    Service introduction

    Every open role may receive hundreds of applications. Recruiting teams need accurate candidate data and fast screening workflows to avoid missing qualified people or spending time on poor matches.

    SIKAI's resume parsing, talent search, and matching APIs help recruiting systems ingest, store, analyze, and retrieve candidate data efficiently.

    We support two deployment models:

    Plan Information

    Interface description

    Get package information

    The user package information returned includes the remaining resume parsing quota and package expiration time.

    Request description

    Request header field description (header)

    Parameter description (parameters)

    Parameter Parameter type Required Description
    id String Yes User ID
    secret String Yes User secret
    https://api.xiaoxizn.com/v1/plan?id=CLIENTID&secret=SECRET
    

    Return result description

    Return result Return result type Description
    plan_type String User plan type (by_quota or by_time or by_monthly_quota)
    plan_end_at String User plan expiration time
    left_quota Integer User resume parsing limit
    product_name String Product name

    Sample example

    [
        {
            "plan_type": "plan_end_at",
            "left_quota": 9840,
            "product_name": "简历解析",
            "plan_end_at": "2018-10-13T20:39:16.152Z"
        },
        {
            "plan_type": "by_quota",
            "left_quota": 10000,
            "product_name": "人物画像"
        },
        {
            "plan_type": "by_quota",
            "left_quota": 9990,
            "product_name": "人岗匹配"
        },
        {
            "plan_type": "by_quota",
            "left_quota": 9961,
            "product_name": "简历画像解析"
        }
    ]
    

    Resume Parsing

    Interface description

    Parse Coding Resume

    Send the base64-encoded resume file and return the parsing results. The new version 2.6.0 or above supports multiple analysis modes, including extreme speed mode, normal mode and high-precision mode.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    rawtext Int No Whether to return the original resume content, 1 returns, 0 does not return
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it
    avatar Int No Whether to extract resume avatar, 1 will be processed, 0 will not be processed
    parse_mode String No SIKAI's original parsing mode, customers can choose the most suitable resume parsing mode according to specific needs, fast extreme speed mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_mode String No Image to text OCR mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_service String No OCR service provider, tencent Tencent OCR, xiaoxi SIKAI self-developed OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    resume_base String Yes Base64 encoded resume file content
    file_name String Yes Resume file name (please make sure the suffix is correct)

    Example of request content structure:

    {
        "resume_base": "BASE64RESUME",
        "file_name": "my-resume.pdf"
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    cv_name Resume file name System cache file name String
    cv_id Resume ID System cached resume ID String
    errorcode Error code Please refer to Error code summary, if the parsing is successful, it will be 0 Int
    errormessage Error message Parsing error message String
    version Version Resume parsing version String
    cv_language Resume language zh, zh/en, en String
    src_site Resume source 51job, lagou, liepin, zhilian, other String
    src_id Resume ID The resume ID corresponding to the recruitment website. If the source of the resume is not identified, the ID will be empty String
    updated_time Update time Resume update time, empty if not String
    avatar_data Resume avatar picture Resume avatar picture in BASE64 format. If there is no avatar, an empty string will be returned String
    avatar_url The URL where the resume avatar picture is located If the avatar picture in the resume is in the form of a link, save the link URL where the avatar is located. If there is no link, an empty string will be returned String
    parsing_result Chinese parsing results Please refer to Return to parsing result list, if there is no parsing result, it will be {} Object
    english_parsing_result English parsing results Please refer to Return to parsing result list, if there is no parsing result, it will be {} Object
    resume_integrity Resume integrity score Resume integrity score, the resume content is approximately complete, the higher the score, the score range is 0-1 Double

    Sample example

    {
        "cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
        "src_site": "zhilian",
        "src_id" : "JM552042269R90250001123",
        "updated_time" : "2019-01-02",
        "errormessage": "succeed",
        "cv_id": "",
        "errorcode": 0,
        "version": "4.2.1",
        "cv_language": "zh",
        "avatar_data": "",
        "avatar_url": "",
        "parsing_result": {...},
        "english_parsing_result": {...},
        "resume_integrity": 0.6485568
    }
    

    Parse file resume (local)

    This API is only available for local deployment. Send the original resume file and return the parsed results. The new version 2.6.0 or above supports multiple analysis modes, including extreme speed mode, normal mode and high-precision mode.

    Request description

    Request query description (query)

    Parameter Parameter type Required Description
    rawtext Int No Whether to return the original resume content, 1 returns, 0 does not return
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it
    avatar Int No Whether to extract resume avatar, 1 will be processed, 0 will not be processed (local deployment only)
    parse_mode String No SIKAI's original parsing mode, customers can choose the most suitable resume parsing mode according to specific needs, fast extreme speed mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_mode String No Image to text OCR mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_service String No OCR service provider, tencent Tencent OCR, xiaoxi SIKAI self-developed OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    file File Yes Original resume file

    Example of request content structure:

    {
        "file": {原始简历},
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    cv_name Resume file name System cache file name String
    cv_id Resume ID System cached resume ID String
    errorcode Error code Please refer to Error code summary, if the parsing is successful, it will be 0 Int
    errormessage Error message Parsing error message String
    version Version Resume parsing version String
    cv_language Resume language zh, zh/en, en String
    src_site Resume source zhilian, 51job, liepin, lagou String
    avatar_data Resume avatar picture Resume avatar picture in BASE64 format. If there is no avatar, an empty string will be returned String
    avatar_url The URL where the resume avatar picture is located If the avatar picture in the resume is in the form of a link, save the link URL where the avatar is located. If there is no link, an empty string will be returned String
    parsing_result Chinese parsing results Please refer to Return to parsing result list, if there is no parsing result, it will be {} Object
    english_parsing_result English parsing results Please refer to Return to parsing result list, if there is no parsing result, it will be {} Object
    resume_integrity Resume integrity score Resume integrity score, the resume content is approximately complete, the higher the score, the score range is 0-1 Double

    Sample example

    {
        "cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
        "src_site": "zhilian",
        "src_id" : "JM552042269R90250001123",
        "updated_time" : "2019-01-02",
        "errormessage": "succeed",
        "cv_id": "",
        "errorcode": 0,
        "version": "4.2.1",
        "cv_language": "zh",
        "avatar_data": "",
        "avatar_url": "",
        "resume_integrity": 0.6485568,
        "parsing_result": {
            "basic_info": {...},
            "contact_info": {...},
            "education_experience": {...},
            "work_experience": {...},
            "social_experience": {...},
            "project_experience": {...},
            "training_experience": {...},
            "others": {...},
            "resume_rawtext": {...}
        },
        "english_parsing_result": {
            "basic_info": {...},
            "contact_info": {...},
            "education_experience": {...},
            "work_experience": {...},
            "social_experience": {...},
            "project_experience": {...},
            "training_experience": {...},
            "others": {...},
            "resume_rawtext": {...}
        }
    }
    

    Result list

    Basic information

    The basic information variable name is basic_info and the variable type is object

    Variable name Variable meaning Remarks Field type
    name Name Chinese name String
    gender Gender Male/Female String
    work_start_year Start working years Four-digit year, such as 2013 String
    national_identity_number ID number Chinese resident identity card number String
    date_of_birth Birthday Date of birth, such as 1981-02-01, if there is only year and month, it will be 1981-02 String
    ethnic Ethnicity 56 ethnic groups in China, such as Han, Zhuang String
    current_location Location City or region, such as Xicheng, Beijing, Changsha, Hunan String
    current_location_norm Location (standardized) Location standardization China-Beijing-Beijing-Changping District, only supports China region String
    detailed_location Detailed address Specific family residence, such as No. 1, Laodong West Road, Yuhua District, Changsha City String
    age Age Current age, integer Int
    num_work_experience Work experience Current working years, integer Int
    current_company Current company String
    current_position Current position String
    school_name Graduation school Highest academic degree school String
    school_type Graduation school category 985 211/211/null value String
    degree Educational qualifications Highest academic qualifications Ph.D./MBA/EMBA/Master's/Undergraduate/College/High School/Technical Secondary School/Junior High School String
    major Major Highest degree major String
    desired_position Desired position String
    current_salary Current salary Current salary or current salary range, such as 20,000-30,000 yuan/month, 150,000-300,000 yuan, etc., whichever is based on the resume String
    desired_salary Expected salary Expected salary or expected salary range, such as 2001-2999 yuan/month, 10k-12k, etc., whichever is based on the resume String
    industry Industry Industry of latest job String
    desired_industry Desired industry The candidate mentioned the desired industry. This field currently only supports Chinese resume extraction String
    current_status Job search status Employed, looking for a job/Employed, considering good career opportunities/Employed, not considering other opportunities for the time being/Resigned/Fresh graduates String
    political_status Political outlook Party members/league members/people String
    marital_status Marital status Single/Married String
    zipcode Zip code * 6-digit zip code, such as 510610 String
    birthplace Place of birth Place of birth, such as Guangzhou, Guangdong, Luoyang, Jiangsu. Subject to resume description String
    birthplace_norm Place of origin (standardized) Standardized place of origin region, such as China-Jiangsu-Nanjing, only supports China region String
    expect_location Expected working region Expected working city or region, multiple regions separated by commas, such as Beijing, Shanghai String
    expect_location_norm Expected working area (standardized) Expected working city or region, multiple areas are separated by English commas, which are standardized place names, China-Guangdong-Guangzhou, China-Guangdong-Shenzhen, only supports Chinese regions String
    lastupdate_time Resume parsing completion time Resume parsing request completion time format is "2020-10-09-06-23-15" String
    recent_graduate_year Recent graduation year Indicates the year in which the candidate graduated from the most recent academic qualification, such as 2020 String
    professional_level Candidate's professional level Evaluate the candidate's level based on experience, junior/intermediate/senior/senior. This field currently only supports Chinese resume extraction String

    Sample example

    "basic_info":
    {
        "name": "张三",
        "gender": "男",
        "work_start_year": "2009",
        "national_identity_number": "44010419860822102",
        "date_of_birth": "1972",
        "ethnic": "汉族",
        "current_location": "湖南长沙",
        "current_location_norm": "中国-湖南-长沙",
        "detailed_location": "长沙市雨花区劳动西路1号",
        "age": 46,
        "num_work_experience": 8,
        "current_company": "湘潭广电中心",
        "current_position": "摄影师/记者",
        "school_name": "北京师范大学",
        "school_type": "985 211",
        "degree": "本科",
        "major": "新闻学",
        "desired_position": "财务/审计/税务、行政/后勤/文秘、仓库/物料管理员",
        "current_salary": "20000-30000元/月",
        "desired_salary": "30000-50000元/月",
        "industry": "新闻",
        "desired_industry": "新闻/传媒",
        "current_status": "已离职",
        "political_status": "群众",
        "marital_status": "已婚",
        "zipcode": "310000",
        "birthplace": "广东广州",
        "birthplace_norm": "中国-广东-广州",
        "expect_location": "北京,上海",
        "expect_location_norm": "中国-北京-北京,中国-上海-上海",
        "lastupdate_time": "2019-04-26-19-31-54",
        "recent_graduate_year": "2009",
        "professional_level": "高级"
    }
    

    Contact information

    The contact information variable name is contact_info and the variable type is object

    Variable name Variable meaning Remarks Field type
    phone_number Mobile phone Domestic 11-digit mobile phone number String
    home_phone_number Landline phone * Domestic 8-digit landline number String
    email Email Qualified email address String
    QQ QQ number QQ number String
    wechat WeChat ID * WeChat number String

    Sample example

    "contact_info":
    {
        "phone_number": "13833334444",
        "home_phone_number": "38880842",
        "email": "xxx@163.com",
        "QQ": "827193845",
        "wechat": "827193845"
    }
    

    Educational background

    The educational background variable name is education_experience and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    start_time_year Start time year 4-digit year, 2006 String
    start_time_month Start time month 2-digit month, 06 String
    end_time_year End time year 4-digit year, 2009 String
    end_time_month End time month 2-digit month, 09 String
    still_active Is it still 1/0, 1 means not graduated yet Int
    school_name School String
    school_level School level 985 211/211/null value String
    study_model Class Mode * Full-time, part-time String
    location Location City name String
    degree Degree Doctoral/MBA/EMBA/Master/Undergraduate/College/High School/Technical Secondary School/Junior High School String
    major Major String
    GPA GPA String
    ranking Ranking * Student's ranking in grade String
    courses Courses studied String
    department College String
    school_rank School ranking Latest ranking of Chinese universities String
    abroad Is it an overseas institution 1/0, 1 means overseas institutions and institutions in Hong Kong, Macao and Taiwan Int
    abroad_country Overseas country The name of an overseas country or region, such as a university in mainland China, is an empty character String

    Sample example

    "education_experience":
    [
        {
            "start_time_year": "2006",
            "start_time_month": "06",
            "end_time_year": "2009",
            "end_time_month": "09",
            "still_active": 0,
            "school_name": "湖南师范大学",
            "school_level": "985 211",
            "study_model": "全职",
            "location": "长沙",
            "degree": "本科",
            "major": "新闻学",
            "GPA": "3.81",
            "ranking": "15/320",
            "courses": "新闻与采访,经济学,文学鉴赏,社会舆论心理学",
            "department": "新闻学院",
            "school_rank": "128",
            "abroad": 1,
            "abroad_country": "美国"
        }
    ]
    

    Work experience

    The work experience variable name is work_experience and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    start_time_year Start time year 4-digit year, 2016 String
    start_time_month Start time month 2-digit month, 01 String
    end_time_year End time year 4-digit year, 2018 String
    end_time_month End time month 2-digit month, 05 String
    still_active Is it still in place 1/0, 1 means it is still in its position Int
    company_name Company name String
    department Department String
    location Location String
    job_title Position name String
    description Job description String
    industry Company industry The company's industry. If it is not filled in and a candidate profile is used, the company's industry will be automatically inferred based on the portrait model String
    job_function Job function Job function String
    company_size Company size Number of people in the company, 100-499 people, more than 1000 people, etc. String
    company_type Company type Company type, such as private, state agency, individual, etc., please refer to the resume description String
    salary Salary level The salary level of this position, for example, 3000-5000 yuan/month String
    underling_num Number of subordinates Number of subordinates to manage, 10 people String
    report_to Reporting object The resume mentions the reporting object, such as general manager String
    skills Work skills The skills used in this work experience. This field currently only supports Chinese resume extraction Array[String]

    Sample example

    "work_experience":
    [
        {
            "start_time_year": "2016",
            "start_time_month": "01",
            "end_time_year": "2018",
            "end_time_month": "05",
            "still_active": 1,
            "company_name": "湘潭广电中心",
            "department": "摄影部",
            "location": "湘潭",
            "job_title": "摄影师/记者",
            "description": "在湘潭广电中心的时政新闻部实习记者的期间,在实习老师的的指导下初步掌握了相关的新闻记者工作流程,包括采访、摄像、新闻稿的编辑、后期编辑等。并积累了一定的实习经验,完善了所学习的专业知识\n",
            "industry": "新闻",
            "job_function": "影视/媒体/出版/印刷",
            "company_size": "500-1000人",
            "company_type": "民营",
            "salary": "2000-4000元",
            "underling_num": "10人",
            "report_to": "总经理",
            "skills": [
                        "后期编辑",
                        "摄像",
                        "采访"
                    ]
        }
    ]
    

    Social experience

    The social experience variable is named social_experience and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    start_time_year Start time year 4-digit year, 2013 String
    start_time_month Start time month 2-digit month, 03 String
    end_time_year End time year 4-digit year, 2013 String
    end_time_month End time month 2-digit month, 11 String
    still_active Is it still in place 1/0, 1 means it is still in its position Int
    organization_name Company/school/club name String
    department Department String
    location Location String
    job_title Position name String
    description Job description String

    Sample example

    "social_experience":
    [
        {
            "start_time_year": "2013",
            "start_time_month": "03",
            "end_time_year": "2013",
            "end_time_month": "11",
            "still_active": 0,
            "organization_name": "大学生市场调研竞赛",
            "department": "科技部",
            "location": "北京",
            "job_title": "参赛者",
            "description": "自己组队进行了比赛,并在此过程之中进行了市场调研、现状研究、模型分析、创\n新设计、预期成果等\n参与的学校社团有学生会、市场部、勤工助学部等并在期间参与多次活动组织与策划任务"
        }
    ]
    

    Project experience

    The project experience variable name is project_experience and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    start_time_year Start time year 4-digit year, 2014 String
    start_time_month Start time month 2-digit month, 01 String
    end_time_year End time year 4-digit year, 2014 String
    end_time_month End time month 2-digit month, 03 String
    still_active Whether it is still 1/0, 1 means the experience is still continuing Int
    project_name Project name String
    company_name The company to which the project belongs This field currently only supports Chinese resume extraction String
    location Location Project location city or region String
    job_title Position name String
    job_function The standard function to which the position belongs If a candidate profile is used, the standard function of the project will be automatically inferred based on the portrait model, otherwise it will be an empty string String
    description Project description String
    skills Project skills The skills used in this project experience. This field currently only supports Chinese resume extraction Array[String]

    Sample example

    "project_experience":
    [
        {
            "start_time_year": "2014",
            "start_time_month": "01",
            "end_time_year": "2014",
            "end_time_month": "03",
            "still_active": 0,
            "project_name": "小看(双平台已上线)",
            "company_name": "小看科技有限公司",
            "location": "北京",
            "job_title": "参加者",
            "job_function": "项目经理",
            "description": "职责:\n获取底层用户手机本地的相册中的数据集,熟练使用 PhotoKit 和 ALAssetsLibrary 来进行用户本地\n图片视频集的获取,并且根据每个图片自身的信息不同进行重新划分,例如是否使用过美图秀秀等这一类\n的图片美化软件修过的图片,以及不同应用接受保存或者创建的图片,同时进行速率优化,在用户的手机",
            "skills": [
                "PhotoKit",
                "ALAssetsLibrary"
                    ]
        }
    ]
    

    Training experience

    The training experience variable name is training_experience and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    start_time_year Start time year 4-digit year, 2014 String
    start_time_month Start time month 2-digit month, 01 String
    end_time_year End time year 4-digit year, 2014 String
    end_time_month End time month 2-digit month, 03 String
    still_active Whether it is still 1/0, 1 means the training experience is still continuing Int
    organization_name Training institution name String
    location Location String
    subject Training topic String
    description Training description String

    Sample example

    "training_experience":
    [
        {
            "start_time_year": "2014",
            "start_time_month": "01",
            "end_time_year": "2014",
            "end_time_month": "03",
            "still_active": 0,
            "organization_name": "新东方厨师学校",
            "location": "北京",
            "subject": "厨师培训",
            "description": "在一个月的培训中,我熟练掌握了怎么烧一顿好吃的泡面"
        }
    ]
    

    Supplementary information

    Supplementary information The variable name is others and the variable type is object

    Variable name Variable meaning Remarks Field type
    skills Skills Integrated and extracted list of professional skills Array[String]
    it_skills Computer skills Integrated extracted computer skills list Array[String]
    business_skills Business skills Integrated extracted business skills list Array[String]
    language Language Master language skills Array[String]
    certificate Certificate Obtained certificate Array[String]
    awards Awards Awards received Array[String]
    self_evaluation Self-evaluation Personal evaluation description String

    Sample example

    "others": {
        "skills": [
            "word",
            "spss",
            "excle",
            "eviews",
            "powerpoint",
            "市场调研",
            "客户服务"
        ],
        "it_skills": [
            "spss"
        ],
        "business_skills": [
            "word",
            "powerpoint"
        ],
        "language": [
            "英语",
            "汉语"
        ],
        "certificate": [
            "英语四级",
            "会计电算化",
            "普通话证书",
            "证券从业资格证"
        ],
        "awards": [
            "茶学院征文大赛二等奖",
            "三等奖学金",
            "民生银行手机创新大赛三等奖"
        ],
        "self_evaluation": "我是一个好人"
    }
    

    Raw text

    To return the original text, you need to set the request query rawtext=1, the original text variable name is resume_rawtext, and the variable type is string

    Sample example

    "resume_rawtext": "姓名:候选人\n目标职能:人事总监,人事经理,行政经理/主管/办公室主任\n工作经验:8年"
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python2

    This code requires pip install requests to be installed.

    Parsing coding resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import base64
    
    # 注:需要安装requests模块
    
    def main():
      cv_file = "resume.txt" #请替换为您的简历
      print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
      cv_url = "http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
      return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
      file_handler = open(file_path, 'rb')
      content = base64.b64encode(file_handler.read())
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      json = {
        'resume_base': content,
        'file_name': file_path
      }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Parse file resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/parse_file?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        json_data = {"file": open(file_path, 'rb')}
        result = requests.post(url, files=json_data, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Python3

    This code requires pip install requests to be installed.

    Parsing coding resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt"  # 请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast"  # 支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        file_handler = open(file_path, 'rb')
        content = base64.b64encode(file_handler.read())
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json = {
            'resume_base': content.decode('utf-8'),
            'file_name': file_path
        }
        result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    
    

    Parse file resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/parse_file?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        json_data = {"file": open(file_path, 'rb')}
        result = requests.post(url, files=json_data, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Java

    This code requires installation of apache-http, json, commons-io

    import java.io.File;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    public class parse_base {
    
        public static void testResumeParser(String url, String fname, String client_id, String client_secret) throws Exception {
            byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
            String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
    
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            JSONObject json = new JSONObject();
            json.put("file_name", fname);   // 文件名
            json.put("resume_base", data); // 经base64编码过的文件内容
            StringEntity params = new StringEntity(json.toString());
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
            String fname = "./resume.txt";  //替换为您的文件名
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
    
            testResumeParser(url, fname, client_id, client_secret);
        }
    }
    

    Golang

    package main
    
    import (
        "bytes"
        "crypto/tls"
        "fmt"
        "log"
        "net/http"
        "os"
        "encoding/base64"
        "encoding/json"
        "bufio"
        "io/ioutil"
    )
    
    // Creates a new file upload http request
    func newfileUploadRequest(uri string, path string) (*http.Request, error) {
        file, err := os.Open(path)
        if err != nil {
            return nil, err
        }
        defer file.Close()
    
        // Read entire JPG into byte slice.
        reader := bufio.NewReader(file)
        content, _ := ioutil.ReadAll(reader)
    
        // Encode as base64.
        encoded := base64.StdEncoding.EncodeToString(content)
        values := map[string]string{"resume_base": encoded, "file_name": path}
    
        jsonValue, _ := json.Marshal(values)
    
        req, err := http.NewRequest("POST", uri, bytes.NewBuffer(jsonValue))
        req.Header.Set("Content-Type", "application/json")
        req.Header.Set("id", "your_client_id") //替换为您的ID
        req.Header.Set("secret", "your_client_secret") //替换为您的密匙
        return req, err
    }
    
    func api_cv(file_path string) {
        request, err := newfileUploadRequest("http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", file_path)
        if err != nil {
            log.Fatal(err)
        }
    
        tr := &http.Transport{
            TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
        }
    
        client := &http.Client{Transport: tr}
        resp, err := client.Do(request)
        if err != nil {
            log.Fatal(err)
        } else {
            body := &bytes.Buffer{}
            _, err := body.ReadFrom(resp.Body)
            if err != nil {
                log.Fatal(err)
            }
            resp.Body.Close()
            fmt.Println(body)
        }
    }
    
    func main() {
        api_cv("./resume.txt") //替换为您的简历
    }
    

    Javascript

    This code requires npm install request to be installed.

    var request = require('request');
    var fs = require('fs');
    
    var filePath = './resume.txt'; //替换为您的简历
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
            'resume_base': Buffer(fs.readFileSync(filePath))
                .toString('base64'),
            'file_name': filePath
        }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Ruby

    require "uri"
    require "net/http"
    require 'json'
    require 'base64'
    
    file_path = "./resume.txt" #替换为您的简历
    encoded_string = Base64.encode64(File.open(file_path, "rb").read)
    
    uri = URI('http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast') #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
    req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
    req['id'] = 'your_client_id' #替换为您的ID
    req['secret'] = 'your_client_secret' #替换为您的密匙
    req.body = {resume_base: encoded_string, file_name: file_path}.to_json
    res = Net::HTTP.start(uri.hostname, uri.port) do |http|
      http.request(req)
    end
    
    puts res.body
    

    PHP

    <?php
        $url = "http://api.xiaoxizn.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast"; //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
        $file_path= './resume.txt'; //替换为您的简历
        $file = base64_encode(file_get_contents($file_path));
        $post_data = array(
            "resume_base" => $file,
            "file_name" => $file_path
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Supported file formats

    Currently we can parse resumes in nearly a hundred mainstream formats such as PDF, DOC, DOCX, XML, HTML, TXT, MNT, JPEG, and PNG.

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    80 Resume parsing file error
    81 English resume parsing error
    90 This file format is not supported
    91 Image file parsing is not supported
    92 The document is not a real resume
    93 English resume parsing is not supported

    Candidate Profile

    Interface description

    Analyze coding resume

    Send the base64-encoded resume file and return the portrait analysis results.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    parsing_result Int No Whether to return to parsing the resume content, 1 returns, 0 does not return
    rawtext Int No Whether to return the original resume content when parsing the resume content, 1 returns, 0 does not return
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it
    avatar Int No Whether to extract resume avatar, 1 will be processed, 0 will not be processed
    parse_mode String No SIKAI's original parsing mode, customers can choose the most suitable resume parsing mode according to specific needs, fast extreme speed mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_mode String No Image to text OCR mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_service String No OCR service provider, tencent Tencent OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    resume_base String Yes Base64 encoded resume file content
    file_name String Yes Resume file name (please make sure the suffix is correct)

    Example of request content structure:

    {
        "resume_base": "BASE64RESUME",
        "file_name": "RESUMENAME"
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    cv_name Resume file name System cache file name String
    cv_id Resume ID System cached resume ID String
    errorcode Error code Please refer to Error code summary, if the parsing is successful, it will be 0 Int
    errormessage Error message Parsing error message String
    version Version Resume parsing version String
    cv_language Resume language zh, zh/en, en String
    src_site Resume source zhilian, 51job String
    avatar_data Resume avatar picture Resume avatar picture in BASE64 format. If there is no avatar, an empty string will be returned String
    avatar_url The URL where the resume avatar picture is located If the avatar picture in the resume is in the form of a link, save the link URL where the avatar is located. If there is no link, an empty string will be returned String
    parsing_result Chinese parsing result Returned when parsing_result=1, please refer to Return parsing result list, if there is no parsing result, it will be {} Object
    english_parsing_result English parsing result Returned when parsing_result=1, please refer to Return parsing result list, if there is no parsing result, it will be {} Object
    predicted_result Character portrait prediction Please refer to Return to analysis result list Object

    Sample example

    {
        "cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
        "src_site": "zhilian",
        "src_id" : "JM552042269R90250001123",
        "updated_time" : "2019-01-02",
        "errormessage": "succeed",
        "cv_id": "",
        "errorcode": 0,
        "version": "2.4.1",
        "cv_language": "zh",
        "avatar_data": "",
        "avatar_url": "",
        "parsing_result": {...},
        "english_parsing_result": {...},
        "predicted_result": {...}
    }
    

    Analyze and parse the resume

    Send the json format that has been parsed by SIKAI resume and return the resume portrait analysis results. Need resume parsing with SIKAI The fields in parsing_result in json format are exactly the same

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    parsing_result Object Yes SIKAI resume parsing json result, please refer to Return to parsing result list

    Example of request content structure:

    {
        "parsing_result": {...}
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the parsing is successful, it will be 0 Int
    errormessage Error message Parse error message
    predicted_result Character portrait prediction Please refer to Return to analysis result list Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "predicted_result": {...}
    }
    

    Analyze file resume (local)

    This API is only available for local deployment. Send the original resume file and return the profile analysis results.

    Request description

    Request query description (query)

    Parameter Parameter type Required Description
    parsing_result Int No Whether to return to parsing the resume content, 1 returns, 0 does not return
    rawtext Int No Whether to return the original resume content when parsing the resume content, 1 returns, 0 does not return
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it
    avatar Int No Whether to extract resume avatar, 1 will be processed, 0 will not be processed (local deployment only)
    parse_mode String No SIKAI's original parsing mode, customers can choose the most suitable resume parsing mode according to specific needs, fast extreme speed mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_mode String No Image to text OCR mode, general normal mode, accurate high-precision mode, the default parsing mode is normal mode
    ocr_service String No OCR service provider, tencent Tencent OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    file File Yes Original resume file

    Example of request content structure:

    {
        "file": {原始简历},
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    cv_name Resume file name System cache file name String
    cv_id Resume ID System cached resume ID String
    errorcode Error code Please refer to Error code summary, if the parsing is successful, it will be 0 Int
    errormessage Error message Parsing error message String
    version Version Resume parsing version String
    cv_language Resume language zh, zh/en, en String
    src_site Resume source zhilian, 51job String
    avatar_data Resume avatar picture Resume avatar picture in BASE64 format. If there is no avatar, an empty string will be returned String
    avatar_url The URL where the resume avatar picture is located If the avatar picture in the resume is in the form of a link, save the link URL where the avatar is located. If there is no link, an empty string will be returned String
    parsing_result Chinese parsing result Returned when parsing_result=1, please refer to Return parsing result list, if there is no parsing result, it will be {} Object
    english_parsing_result English parsing result Returned when parsing_result=1, please refer to Return parsing result list, if there is no parsing result, it will be {} Object
    predicted_result Character portrait prediction Please refer to Return to analysis result list Object

    Sample example

    {
        "cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
        "src_site": "zhilian",
        "src_id" : "JM552042269R90250001123",
        "updated_time" : "2019-01-02",
        "errormessage": "succeed",
        "cv_id": "",
        "errorcode": 0,
        "version": "2.4.1",
        "cv_language": "zh",
        "avatar_data": "",
        "avatar_url": "",
        "parsing_result": {...},
        "english_parsing_result": {...},
        "predicted_result": {...}
    }
    

    Result list

    Resume skills analysis

    Based on information such as resume work experience, project experience, and description skills, SIKAI knowledge graph and machine learning model are used to predict comprehensive resume skills. Predicted skills will cover summarizing the skills already on the resume, and further expand to skills that do not appear directly in the resume but are related. The skill score in the returned result corresponds to the correlation coefficient between the skill and the resume. The candidate skills variable name is predicted_skills and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    score Professional skill score Corresponding to the professional skill score formula, ranging from 0-1 Double
    skill Professional skill name String

    Sample example

    "predicted_skills":
    [
        {
            "score": 0.9900551679068115,
            "skill": "JAVA"
        },
        {
            "score": 0.9437187602615934,
            "skill": "Android"
        },
        {
            "score": 0.9146758073698338,
            "skill": "Hadoop"
        },
        {
            "score": 0.8948237479718333,
            "skill": "Spring"
        },
        {
            "score": 0.8099258858447139,
            "skill": "项目管理"
        },
        {
            "score": 0.7689174693647406,
            "skill": "Mysql"
        }
    ]
    

    Resume title analysis

    Based on resume work experience, project experience, training experience and other information, SIKAI knowledge graph and machine learning model are used to predict multi-level job titles suitable for candidates. The job titles from the first level to the third level range from broad to detailed. The position score in the returned results corresponds to the correlation coefficient between the position and the resume. The candidate title variable name is predicted_titles and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    score Position score The position name corresponds to the fraction, ranging from 0-1 Double
    title Multi-level position title Nested format Object
    title.l1 First-level position title String
    title.l2 Second-level position title String
    title.l3 Third-level position title String

    Sample example

    "predicted_titles":
    [
        {
            "score": 1.0,
            "title":
            {
                "l1": "IT/互联网/通信",
                "l2": "软件/互联网开发/后端",
                "l3": "JAVA"
            }
        },
        {
            "score": 0.6068965095550017,
            "title":
            {
                "l1": "IT/互联网/通信",
                "l2": "软件/互联网开发/后端",
                "l3": "安卓开发"
            }
        },
        {
            "score": 0.2752016047234638,
            "title":
            {
                "l1":"IT/互联网/通信",
                "l2":"互联网产品/运营管理",
                "l3":"项目管理"
            }
        }
    ]
    

    Job hopping rate prediction

    Based on information such as resume work experience, educational experience, candidate's salary and industry average, industry information, frequency of job changes, etc., the SIKAI machine learning model is used to predict the candidate's job-hopping rate. The higher the score, the more likely the candidate is to change jobs. If the resume clearly mentions that you are looking for a job, the job-hopping rate is 1 The candidate job-hopping rate variable name is predicted_turnover, and the variable type is double

    Variable name Variable meaning Remarks Field type
    predicted_turnover Job-hopping rate prediction The candidate's current job-hopping probability, ranging from 0-1 Double

    Sample example

    "predicted_turnover": 0.8724
    

    Salary forecast

    Based on resume work experience, education experience, project experience, training experience, highest level of study, major, working years, professional title and other information, use the SIKAI machine learning model to predict the candidate's salary. The candidate salary prediction variable is named predicted_salary and the variable type is string

    Variable name Variable meaning Remarks Field type
    predicted_salary Salary prediction Nine levels in total under_4000, 4000_to_6000, 6000_to_8000, 8000_to_10000, 10000_to_15000, 15000_to_20000, 20000_to_30000, 30000_to_40000, 40000+ String

    Sample example

    "predicted_salary": "10000_to_15000"
    

    Desired salary withdrawal

    Directly extract the expected salary filled in by the candidate from the resume. The candidate's desired salary variable is named desired_salary and the variable type is string

    Variable name Variable meaning Remarks Field type
    desired_salary Subjective expected salary Nine levels in total under_4000, 4000_to_6000, 6000_to_8000, 8000_to_10000, 10000_to_15000, 15000_to_20000, 20000_to_30000, 30000_to_40000, 40000+ String

    Sample example

    "desired_salary": "10000_to_15000"
    

    Overall ability value evaluation

    Based on the comprehensive description of the candidate's resume, predict the candidate's overall ability score. The educational background index is based on academic qualifications, school rankings, performance points and other factors; the honor index is based on resume award information; the language index is based on language type; the leadership index is based on work project experience and professional titles; the social activity index is based on resume social experience; the work experience index is based on the candidate's work experience, years, position, etc. The variable name of the candidate's overall ability value is predicted_capability, and the variable type is object

    Variable name Variable meaning Remarks Field type
    education Education background index 0-10 score Double
    honor Honor index obtained 0-10 score Double
    language Language index 0-10 score Double
    leadership Leadership Index 0-10 score Double
    socialexp Social activity index 0-10 score Double
    workexp Work experience index 0-10 score Double

    Sample example

    "predicted_capability":
    {
        "education": 6.5,
        "honor": 6.0,
        "language": 7.0,
        "leadership": 8.0,
        "socialexp": 6.0,
        "workexp": 6.8
    }
    

    Industry affiliation evaluation

    Based on the resume's work experience, education experience, project experience and other descriptions, predict the candidate's affiliation score for the following 12 major industries. The higher the score, the higher the degree of affiliation to the industry. The candidate industry affiliation variable is named predicted_industry and the variable type is object

    Variable name Variable meaning Remarks Field type
    Internet Internet industry affiliation 0-10 score Double
    Product Product industry affiliation 0-10 score Double
    Personnel/Administration/Senior Management Personnel/Administration/Senior Management Industry Belonging Degree 0-10 Score Double
    Consulting/Legal/Civil Service Consulting/Legal/Civil Service Industry Belonging Degree 0-10 Score Double
    Engineer Engineer industry affiliation 0-10 score Double
    Construction/Real Estate Construction/Real Estate Industry Belonging Degree 0-10 Score Double
    Education/Translation/Service Industry Education/Translation/Service Industry Industry Belonging Degree 0-10 Score Double
    Production/Purchasing/Logistics Production/Purchasing/Logistics Industry Belonging Degree 0-10 Score Double
    Biological/pharmaceutical/medical/nursing Biological/pharmaceutical/medical/nursing industry affiliation 0-10 score Double
    Operation/Customer Service/Sales/Market Operation/Customer Service/Sales/Market Industry Belonging Degree 0-10 Score Double
    Finance Financial industry affiliation 0-10 score Double
    Others Other industry affiliations 0-10 score Double

    Sample example

    "predicted_industry":
    {
        "互联网": 10.0,
        "产品": 7.0,
        "人事/行政/高级管理": 5.0,
        "其他": 5.0,
        "咨询/法律/公务员": 5.0,
        "工程师": 6.0,
        "建筑/房地产": 5.0,
        "教育/翻译/服务业": 5.0,
        "生产/采购/物流": 5.0,
        "生物/制药/医疗/护理": 5.0,
        "运营/客服/销售/市场": 5.0,
        "金融": 6.0
    }
    

    Job loyalty analysis

    Based on the job change experience of the resume and the type of each extracted work experience, the candidate's loyalty to the company and industry functions stability is calculated through the big data algorithm. The variable type is object

    Variable name Variable meaning Remarks Field type
    average_job_function_time The average stay time of each function, if the function has not been changed, it is Null In units of months Double
    average_industry_time The average length of stay in each industry, if you have not changed industries, it is Null In units of months Double
    average_work_time The average length of stay in each job, or Null if you have not changed jobs In monthly units Double
    work_stability Comprehensive judgment of the candidate's job loyalty Stable/frequent job-hopping String

    Sample example

    "stability":
    {
        "average_job_function_time": 112.0,
        "average_industry_time": 112.0,
        "average_work_time": 74.66666666666667,
        "work_stability": "稳定"
    },
    

    Resume highlight analysis

    Through tens of millions of data, we summarize the reasons for success in the workplace and provide you with the most scientific way to decode the potential advantages of candidates. The variable name of resume highlight analysis is highlights, and the variable type is object

    Variable name Variable meaning Remarks Field type
    occupation Highlights of work experience Highlights discovered in work experience Array[String]
    education Highlights of learning experience Highlights discovered in educational experience Array[String]
    project Highlights of project experience Highlights discovered in project experience Array[String]
    others Other highlights Other highlights Array[String]
    tags Highlight tags Highlight tags Array[String]

    Sample example

    "highlights":
      {
          "occupation": ["行业龙头企业从业经历", "专业技能扎实", "有领导经历"],
          "education": ["拥有MBA学位", "TOP2院校毕业"],
          "project": ["拥有丰富的项目经验", "有项目外包经验"],
          "others" ["英语水平不错哦", "计算机水平挺高", "有非常难考的注册会计师证书哦"],
          "tags" ["名企经历", "海外留学经历", "技术达标", "证书达人"]
      }
    

    Resume risk analysis

    Summarize and analyze potential risks in the workplace through tens of millions of data to help you discover potential risk factors of candidates. The resume risk analysis variable name is risks and the variable type is object

    Variable name Variable meaning Remarks Field type
    occupation Work experience risks Risk points in work experience Array[String]
    education Risk points in learning experience Risk points in educational experience Array[String]
    tags Risk point tags Risk point tags Array[String]

    Sample example

    "risks":
      {
          "occupation": ["第一段工作经历晚于毕业时间9个月", "有3段工作经历时长不到一年,工作不太稳定", "过往有过外包的工作经历"],
          "education": ["有专升本的经历", "本科经历异常,一共读了7年"],
          "tags" ["专升本", "外包经历", "工作不稳定", "明显工作空档期"]
      }
    

    Resume tag extraction

    Combining machine learning and recruitment knowledge graph technology to provide candidates with a standardized tag management system, it is convenient for recruiters to fully understand the candidates by just reading the tags. At the same time, knowledge graph technology is used, Can provide multiple dimensions of implicit information, such as candidate professional skills (each skill can obtain its category, front-end, back-end, algorithm, product management, etc.), historical company information (such as providing the industry status of the company based on the knowledge graph), Graduation school information (whether it is a prestigious overseas school, country, whether it is a top domestic school, whether it is 985, 211, key undergraduate), candidate's standard industry background (according to the company, the projects done combined with the knowledge graph provide the candidate's industry background), language mastery (language proficiency is inferred from language test information, study abroad country, etc.), candidate's professional level, Do you have management experience, soft skills labels (written expression ability, logical thinking, communication skills, etc.), etc.

    The standardized job parsing variable name is tags, the variable type is Object, and the * field indicates that it is still under development.

    Variable name Variable meaning Remarks Field type
    basic Basic information tag Type is experience, level, expect_location, current_location, salary, political_status, age, gender Array[Object]
    basic.tag Basic information tag name String
    basic.type Tag type String
    education Education background tag Type is degree, abroad, abroad_country, major, school_level, *publication Array[Object]
    education.tag Education background tag name String
    education.type Tag type String
    professional Professional tag Type is standard_title, job_title, industry, management, company_class Array[Object]
    professional.tag Professional tag name String
    professional.type Label type String
    skills Skill tags Types are professional_skill, soft_skill Array[Object]
    skills.tag Skill tag name String
    skills.type Tag type String
    skills.subclass Skill type category String
    others Other information tags Type is language, certificate, award Array[Object]
    others.tag Other information tag name String
    others.type Tag type String
    others.level Mastery level, currently only language mastery level is supported String

    Sample example

      "tags": {
        "basic": [
          {
            "tag": "5-10年经验",
            "type": "experience"
          },
          {
            "tag": "资深",
            "type": "level"
          },
          {
            "tag": "北京",
            "type": "current_location"
          },
          {
            "tag": "天津",
            "type": "expect_location"
          },
          {
            "tag": "30-40K",
            "type": "salary"
          },
          {
            "tag": "中共党员",
            "type": "political_status"
          },
          {
            "tag": "30-35岁",
            "type": "age"
          },
          {
            "tag": "男",
            "type": "gender"
          }
        ],
        "education": [
          {
            "tag": "博士学位",
            "type": "degree"
          },
          {
            "tag": "海外留学经历",
            "type": "abroad"
          },
          {
            "tag": "留学地区:美国",
            "type": "abroad_country"
          },
          {
            "tag": "计算机专业",
            "type": "major"
          },
          {
            "tag": "985院校",
            "type": "school_level"
          },
          {
            "tag": "211院校",
            "type": "school_level"
          },
          {
            "tag": "发表过NIPS文章",
            "type": "publication"
          }
        ],
        "professional": [
          {
            "tag": "互联网-后端开发-算法",
            "type": "standard_title"
          },
          {
            "tag": "互联网-后端开发-大数据",
            "type": "standard_title"
          },
          {
            "tag": "机器学习工程师",
            "type": "job_title"
          },
          {
            "tag": "Hadoop工程师",
            "type": "job_title"
          },
          {
            "tag": "互联网行业",
            "type": "industry"
          },
          {
            "tag": "管理岗位经验",
            "type": "management"
          },
          {
            "tag": "世界500强企业",
            "type": "company_class"
          }
        ],
        "skills": [
          {
            "tag": "Hadoop",
            "type": "professional_skill",
            "subclass": "大数据"
          },
          {
            "tag": "HBase",
            "type": "professional_skill",
            "subclass": "大数据"
          },
          {
            "tag": "NLP",
            "type": "professional_skill",
            "subclass": "机器学习"
          },
          {
            "tag": "Spark",
            "type": "professional_skill",
            "subclass": "大数据"
          },
          {
            "tag": "Storm",
            "type": "professional_skill",
            "subclass": "大数据"
          },
          {
            "tag": "Python",
            "type": "professional_skill",
            "subclass": "后端开发"
          },
          {
            "tag": "C++",
            "type": "professional_skill",
            "subclass": "后端开发"
          },
          {
            "tag": "逻辑思维",
            "type": "soft_skill",
            "subclass": "软性技能"
          },
          {
            "tag": "沟通能力",
            "type": "soft_skill",
            "subclass": "软性技能"
          },
          {
            "tag": "文字表达能力",
            "type": "soft_skill",
            "subclass": "软性技能"
          },
          {
            "tag": "专研精神",
            "type": "soft_skill",
            "subclass": "软性技能"
          }
        ],
        "others": [
          {
            "tag": "英语六级",
            "type": "certificate"
          },
          {
            "tag": "托福",
            "type": "certificate"
          },
          {
            "tag": "会计师证",
            "type": "certificate"
          },
          {
            "tag": "日语",
            "type": "language",
            "level": "熟练"
          },
          {
            "tag": "英语",
            "type": "language",
            "level": "精通"
          },
          {
            "tag": "本科生奖学金",
            "type": "award"
          }
        ]
      }
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python2

    This code requires pip install requests to be installed.

    Analyze Coding Resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import base64
    
    # 注:需要安装requests模块
    
    def main():
      cv_file = "resume.txt" #请替换为您的简历
      print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
      cv_url = "http://api.xiaoxizn.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
      return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
      file_handler = open(file_path, 'rb')
      content = base64.b64encode(file_handler.read())
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      json = {
        'resume_base': content,
        'file_name': file_path
      }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Analyze file resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/analyze_file?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        json_data = {"file": open(file_path, 'rb')}
        result = requests.post(url, files=json_data, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Analyze the parsed resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
        cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与小析简历解析格式一模一样
        print(cv_api(cv_file))
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/bundle/analyze_json"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json_data = json.load(open(file_path, 'rb'))
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Python3

    This code requires pip install requests to be installed.

    Analyze Coding Resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"# 支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        file_handler = open(file_path, 'rb')
        content = base64.b64encode(file_handler.read())
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json = {
            'resume_base': content.decode('utf-8'),
            'file_name': file_path
        }
        result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Analyze file resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    import json
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #请替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/analyze_file?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        json_data = {"file": open(file_path, 'rb')}
        result = requests.post(url, files=json_data, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Analyze the parsed resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    import json
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与小析简历解析格式一模一样
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/bundle/analyze_json"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json_data = json.load(open(file_path, 'rb'))
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Java

    This code requires installation of apache-http, json, commons-io

    Analyze coding resume

    import java.io.File;
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    public class analyze_base {
    
        public static void testResumeParser(String url, String fname, String client_id, String client_secret) throws Exception {
            byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
            String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
    
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            JSONObject json = new JSONObject();
            json.put("file_name", fname);   // 文件名
            json.put("resume_base", data); // 经base64编码过的文件内容
            StringEntity params = new StringEntity(json.toString());
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
            String fname = "./resume.txt";  //替换为您的文件名
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
    
            testResumeParser(url, fname, client_id, client_secret);
        }
    }
    

    Analyze the parsed resume

    import java.io.File;
    import java.io.BufferedReader;
    import java.io.FileReader;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.apache.commons.io.FileUtils;
    import org.json.JSONObject;
    
    public class analyze_json {
    
        public static void AnalyzeJson(String url, String fname, String client_id, String client_secret) throws Exception {
            File file = new File(fname);
            String content = FileUtils.readFileToString(file, "utf-8");
            // 有些java程序会在unicode前产生\uFEFF, 需要先行替换
            if (content.startsWith("\uFEFF")){
                content = content.replace("\uFEFF", "");
            }
            // Convert JSON string to JSONObject
    
            JSONObject resumejson = new JSONObject(content);
            System.out.println(content);
            HttpPost httpPost = new HttpPost(url);
    
            // 设置头字段
            httpPost.addHeader("content-type", "application/json");
            httpPost.addHeader("id", client_id); // 请替换成您的ID
            httpPost.addHeader("secret", client_secret); // 请替换成您的密钥
    
            // 设置内容信息
            // 将json 变回string, 发送请求
            httpPost.setEntity(new StringEntity(resumejson.toString(), Consts.UTF_8));
    
            // 发送请求
             HttpClient httpclient = new DefaultHttpClient();
             HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            // 人物画像分析 json,需要与小析简历解析格式完全一致,不然会失败
            String url = "http://api.xiaoxizn.com/v1/bundle/analyze_json?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
            String fname = "./resume.json";  //替换为您的文件名
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
            AnalyzeJson(url, fname, client_id, client_secret);
        }
    }
    

    Golang

    package main
    
    import (
        "bytes"
        "crypto/tls"
        "fmt"
        "log"
        "net/http"
        "os"
        "encoding/base64"
        "encoding/json"
        "bufio"
        "io/ioutil"
    )
    
    // Creates a new file upload http request
    func newfileUploadRequest(uri string, path string) (*http.Request, error) {
        file, err := os.Open(path)
        if err != nil {
            return nil, err
        }
        defer file.Close()
    
        // Read entire JPG into byte slice.
        reader := bufio.NewReader(file)
        content, _ := ioutil.ReadAll(reader)
    
        // Encode as base64.
        encoded := base64.StdEncoding.EncodeToString(content)
        values := map[string]string{"resume_base": encoded, "file_name": path}
    
        jsonValue, _ := json.Marshal(values)
    
        req, err := http.NewRequest("POST", uri, bytes.NewBuffer(jsonValue))
        req.Header.Set("Content-Type", "application/json")
        req.Header.Set("id", "your_client_id") //替换为您的ID
        req.Header.Set("secret", "your_client_secret") //替换为您的密匙
        return req, err
    }
    
    func api_cv(file_path string) {
        request, err := newfileUploadRequest("http://api.xiaoxizn.com/v1/bundle/analyze_base", file_path)
        if err != nil {
            log.Fatal(err)
        }
    
        tr := &http.Transport{
            TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
        }
    
        client := &http.Client{Transport: tr}
        resp, err := client.Do(request)
        if err != nil {
            log.Fatal(err)
        } else {
            body := &bytes.Buffer{}
            _, err := body.ReadFrom(resp.Body)
            if err != nil {
                log.Fatal(err)
            }
            resp.Body.Close()
            fmt.Println(body)
        }
    }
    
    func main() {
        api_cv("./resume.txt") //替换为您的简历
    }
    

    Javascript

    This code requires npm install request to be installed.

    var request = require('request');
    var fs = require('fs');
    
    var filePath = './resume.txt'; //替换为您的简历
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1", //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
            'resume_base': Buffer(fs.readFileSync(filePath))
                .toString('base64'),
            'file_name': filePath
        }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Ruby

    require "uri"
    require "net/http"
    require 'json'
    require 'base64'
    
    file_path = "./resume.txt" #替换为您的简历
    encoded_string = Base64.encode64(File.open(file_path, "rb").read)
    
    uri = URI('http://api.xiaoxizn.com/v1/bundle/analyze_base')
    req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
    req['id'] = '' #替换为您的ID
    req['secret'] = '' #替换为您的密匙
    req.body = {resume_base: encoded_string, file_name: file_path}.to_json
    res = Net::HTTP.start(uri.hostname, uri.port) do |http|
      http.request(req)
    end
    
    puts res.body
    

    PHP

    <?php
        $url = "http://api.xiaoxizn.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
        $file_path= './resume.txt'; //替换为您的简历
        $file = base64_encode(file_get_contents($file_path));
        $post_data = array(
            "resume_base" => $file,
            "file_name" => $file_path
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    80 Resume parsing server internal error
    81 English server internal error
    90 This file format is not supported
    91 Image file parsing is not supported
    92 The document is not a real resume
    93 English resume parsing is not supported

    Talent Database

    Interface description

    Insert original resume

    Send resume information and save resumes to candidate-job matching and talent search databases. Currently, resume insertion and deduplication supports the following four modes: overwrite (only keep newly inserted resumes, delete all previous duplicate resumes), skip (only keep resumes already in the database, new ones are not inserted), keep_latest (only keep the resumes with the latest update year according to intelligent algorithms), keep_both (do not remove duplicates, insert resumes directly)

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it. Default is 0.

    Request content description (body)

    Parameter Parameter type Required Description
    resume_base String Yes The base64-encoded resume file content.
    file_name String Yes Resume file name (please make sure the suffix is correct).
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    index String No The name of the resume library Index that needs to be inserted (only for local deployment), the default is resumes.
    update_mode String No The deduplication mode of inserting resume, now supports overwrite, skip, keep_both, keep_latest and the default is keep_both.
    predicted_result Int No Whether to perform portrait analysis and store it together when inserting, 1 means to perform portrait analysis, 0 means not to perform it. Default is 0. If the portrait is not purchased for local deployment, it cannot be set to 1.

    Example of request content structure:

    {
        "resume_base": "BASE64RESUME",
        "file_name": "my-resume.pdf",
        "folder_name": "my_resume",
        "index": "resumes",
        "update_mode": "keep_latest",
        "predicted_result": 0,
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the resume is successfully inserted, it will be 0 Int
    errormessage Error message Error message String
    cv_id Resume ID The unique ID of each resume in the resume database String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "cv_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
    }
    

    Insert parsed resume (local)

    This API is for local deployment only. Send SIKAI resume parsed json format, and store the resume in the candidate-job matching database. It needs to be exactly the same as the fields in the SIKAI resume parsing json format parsing_result. Currently, resume insertion and deduplication supports the following four modes: overwrite (only keep newly inserted resumes, delete all previous duplicate resumes), skip (only keep resumes already in the database, new ones are not inserted), keep_latest (only keep the resumes with the latest update year according to intelligent algorithms), keep_both (do not remove duplicates, insert resumes directly)

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    parsing_result Object Yes json format after SIKAI resume parsing, please refer to resume parsing return results
    predicted_result Object No json format after SIKAI portrait analysis, please refer to Character portrait return results
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    index String No The name of the resume library Index that needs to be inserted (only for local deployment), the default is resumes.
    update_mode String No The deduplication mode for inserting resume, now supports overwrite, skip, keep_both, keep_latest and the default is keep_both.
    tags Object No Additional custom tag fields can be inserted. You need to add a custom tag name and format through the corresponding API in advance, please refer to Add a custom tag field
    candidates Array[Object] No Deliver candidate information. It can contain candidate_id, job_id, job_title, stage_id, stage_type, consideration_status, creator_id, created_at, source

    Example of request content structure:

    {
        "parsing_result": {...},
        "predicted_result": {...},
        "folder_name": "my resume",
        "index": "resumes",
        "update_mode": "keep_latest",
        "tags": {
            "customized_tag_1": ["已入职", "已发offer"],
            "customized_tag_2": "数据科学家",
            ...
        }
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the resume is successfully inserted, it will be 0 Int
    errormessage Error message Error message String
    cv_id Resume ID The unique ID of each resume in the resume database String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "cv_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
    }
    

    Delete resume

    Delete resumes from the candidate-job matching database based on INDEX name and resume ID.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the resume is successfully deleted, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Get a single resume

    Get a single resume based on resume ID.

    Request instructions

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if obtained successfully, it will be 0 Int
    errormessage Error message Error message String
    resume Resume information Please refer to Candidate-Job Matching result list Object

    Sample Example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "resume":     {
            "cv_id": "090a53f943431f51e9902a7851fce7ec",
            "parsing_result": {...}
        }
    }
    

    Get duplicate resumes through original resumes

    Obtain the suspected duplicate resume ID based on the original.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    resume_base String Yes The base64-encoded resume file content.
    file_name String Yes Resume file name (please make sure the suffix is correct).
    folder_name String No The name of the target folder for resume plagiarism checking, which can be used for quick search. The default is default-folder.
    index String No The Index name of the target resume database that needs to be checked (only for local deployment), the default is resumes.
    source Array[String]/String No Suspected duplicate resume fields that need to be returned. If you want to return all basic information, enter source="parsing_result.basic_info", and an empty array will be returned by default
    max_return Int No Maximum number of suspected duplicate resumes returned, default 100 (only local deployment required)

    Example of request content structure:

    {
        "resume_base": "BASE64RESUME",
        "file_name": "my-resume.pdf",
        "folder_name": "my_resume",
        "index": "resumes"
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if obtained successfully, it will be 0 Int
    errormessage Error message Error message String
    duplicate_ids Suspected duplicate resume ID Suspected duplicate resume CV_ID Array[String]
    duplicate_resumes Suspected duplicate resume content Control the returned result containing fields through the source field. By default, duplicate resume content will not be returned and an empty array will be returned Array[Objec]

    Sample Example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "duplicate_ids": ["090a53f943431f51e9902a7851fce7ec"],
        "duplicate_resumes": [{...}]
    }
    

    Get duplicate resumes through parsed resumes

    Obtain the suspected duplicate resume ID based on the original.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    parsing_result String Yes json format after SIKAI resume parsing, please refer to resume parsing return results
    folder_name String No The name of the target folder for resume plagiarism checking, which can be used for quick search. The default is default-folder.
    index String No The Index name of the target resume database that needs to be checked (only for local deployment), the default is resumes.
    source Array[String]/String No Suspected duplicate resume fields that need to be returned. If you want to return all basic information, enter source="parsing_result.basic_info", and an empty array will be returned by default
    max_return Int No Maximum number of suspected duplicate resumes returned, default 100 (only local deployment required)

    Example of request content structure:

    {
        "parsing_result": {...},
        "folder_name": "my resume",
        "index": "resumes"
        }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if obtained successfully, it will be 0 Int
    errormessage Error message Error message String
    duplicate_ids Suspected duplicate resume ID Suspected duplicate resume CV_ID Array[String]
    duplicate_resumes Suspected duplicate resume content Control the returned result containing fields through the source field. By default, duplicate resume content will not be returned and an empty array will be returned Array[Objec]

    Sample Example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "duplicate_ids": ["090a53f943431f51e9902a7851fce7ec"],
        "duplicate_resumes": [{...}]
    }
    

    List all resumes

    Returns all resumes in our database. By default, the first 20 resumes are returned without any filtering.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    index String No Resume database Index name (only for local deployment), the default is resumes.
    offset Int No Query the starting position. Default is 0, range is 0-10000
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the resume is successfully listed, it will be 0 Int
    errormessage Error message Error message String
    hits Number of resumes Total number of resumes in the corresponding target resume database Int
    resumes List resumes Please refer to Candidate-Job Matching results list Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 200,
        "resumes": [...]
    }
    

    Update resume fields (local)

    This API is for local deployment only. Update resume custom fields based on resume ID.

    Request instructions

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    folder_name Array[String]/String No The name of the target folder for resume plagiarism checking, which can be used for quick search
    candidates Array[Object] No Delivery candidate record

    Example of request content structure:

    {
        "folder_name": ["数据科学家"],
        "candidates": [{
            "candidate_id": "1",
            "job_id": "1",
            "job_title": "数据科学家",
            "creator_id": "1",
            "stage_id": "1",
            "consideration_status": true,
            "stage_type": "面试",
            "created_at": "2021-04-22T10:45:00Z",
            "source": "51job"
        }]
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the field is added successfully, it will be 0 Int
    errormessage Error message Error message String

    Sample Example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Update resume custom fields (local)

    This API is for local deployment only. Update resume custom fields based on resume ID.

    Request instructions

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    tags.<tag> Array[String]/String No Custom search field, please refer to Add custom tag field

    Example of request content structure:

    {
      "tags": {
        "customized_tag_1": [
          "已入职",
          "已发offer"
        ],
        "customized_tag_2": "数据科学家"
      }
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the field is added successfully, it will be 0 Int
    errormessage Error message Error message String

    Sample Example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Create database (local)

    This API is for local deployment only. Create database Index.

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    index String No Search the index name of the database, the default is resumes

    Example of request content structure:

    {
        "index": "resumes"
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the creation is successful, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Get database list (local)

    This API is for local deployment only. Get the search database Index list.

    Request description

    Request header field description (header)

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if obtained successfully, it will be 0 Int
    errormessage Error message Error message String
    indices index list Array[String]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "indices": ["index1", "index2"]
    }
    

    Delete database (local)

    This API is for local deployment only. Delete the search database Index.

    Request description

    Request header field description (header)

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the deletion is successful, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Add custom fields (local)

    This API is for local deployment only. Add the specified type to the specified INDEX to provide fields for intelligent search. After the addition is completed, it is recommended to wait 2-3 seconds for the background search database to be updated before inserting the resume and searching. Before the new field is added, no resume containing this field cannot be inserted into the target INDEX, otherwise a field already exists error will occur. The newly added fields need to exist in the resume inserted later and are encapsulated using tags. If the newly added field is named customized_tag, the field information inserted into the resume must be placed in the following sample. For specific samples, please refer to insert analytical resume.

    {
        "parsing_result": {...},
        "index": "resumes",
        "tags": {
            "customized_tag": ...
        }
    }
    

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    tag_name String Yes The name of the newly added searchable field. The document will be subsequently referred to as <tag>. Do not include characters such as ., min, max, etc. in the name. Field names only support English letters and underscores.
    tag_type String Yes The field type of newly added searchable fields, currently supports text/array_text/array_keyword/integer/float/date/bool

    Example of request content structure:

    {
        "tag_name": "<tag>",
        "tag_type": "text"
    }
    

    Custom field type description (tag-body)

    tag_type The optional types are shown in the following table.

    Field type Description Sample
    text Text type data passed the interview, failed the interview
    array_text Text type data array ARRAY[java, c++, python]
    array_keyword Text keyword type data array ARRAY[java, c++, python]
    integer Integer data 1, 8
    float Floating point type data 1.03, 4.88
    date Date type data Currently ES7.5 version and above support 2019/05/01, 2019-05-01, 2019-05-01 11:11:11, 2019-05-01 11:11:11.111, 2019-05-01T11:11:11.111, 2019/05/01 11:11:11.111, ES7.4 and below only support 2019-05-01T11:11:11 Format
    bool Boolean data True, False

    Assume that the inserted field name is customized_tag. Do not include characters such as ., min, max, etc. in the name. Field names only support English letters and underscores. For the search method, please refer to Search Resume.

    Field type Supported search fields Reference sample Search method description Description
    text tags.min_<tag> tags.min_customized_tag Text minimum value search, just ordinary string size comparison If searching for abc, abcd can be filtered
    text tags.max_<tag> tags.max_customized_tag Text maximum value search, just ordinary string size comparison If searching for abc, abcd cannot pass the filter
    text tags.<tag> tags.customized_tag Text segmentation search If you search for big data R&D, both the words big data and R&D will pass the filter
    text tags.<tag>.keyword tags.customized_tag.keyword Text keyword search If you search for big data research and development, the field must be exactly equal to big data research and development to pass the filter
    array_text tags.<tag> tags.customized_tag Use text array for word segmentation search, AND logic If searching for ARRAY[java, big data], all elements of the array need to be included to pass the filtering
    array_text tags.<tag>.or tags.customized_tag.or Use text array for word segmentation search, OR logic If searching for ARRAY[java, big data], as long as it contains java, big data, any one of them can pass the filter
    array_keyword tags.<tag> tags.customized_tag Use text array for keyword search, AND logic If searching for ARRAY [java, big data], all elements of the array need to be included (the text is exactly the same) to pass the filter
    array_keyword tags.<tag>.or tags.customized_tag.or Use text array for keyword search, OR logic If you search for ARRAY[java, big data], as long as it contains (the same text) java, big data, any one of them can pass the filter
    integer tags.min_<tag> tags.min_customized_tag Integer type minimum value search If you search for 5, only the value greater than or equal to 5 will pass the search
    integer tags.max_<tag> tags.max_customized_tag Integer type maximum value search If you search for 5, only the value less than or equal to 5 will pass the search
    integer tags.<tag> tags.customized_tag Integer type equals search If searching for 5, only the value equal to 5 will pass the search
    float tags.min_<tag> tags.min_customized_tag Floating point type minimum value search If you search for 5.0, only the value greater than or equal to 5.0 will pass the search
    float tags.max_<tag> tags.max_customized_tag Floating point type maximum value search If you search for 5.0, only the value less than or equal to 5.0 will pass the search
    date tags.min_<tag> tags.min_customized_tag Time type minimum value search For example, if you search for 2015-01-01T12:10:30, the search will only be passed if it is later than this time
    date tags.max_<tag> tags.max_customized_tag Time type maximum value search For example, if you search for 2015-01-01T12:10:30, the search will only be passed if it is earlier than this time
    bool tags.<tag> tags.customized_tag Boolean type search If you search for False, only the value that is False will pass the search

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the addition is successful, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Usage process case

    This API allows users to customize the search filter field (FILTER) for the specified INDEX. Please refer to the following cases for specific usage:

    A user added two new fields, interview stage (phase) and HR score (hr_score), in addition to the standard fields of SIKAI resume parsing, and hopes to add them to the search conditions.

    This API can be used to update the existing database fields of the specified INDEX. The interview stage is divided into delivery/preliminary screening/first interview/second interview/OFFER, and the HR score is 0-5.

    first step

    Send a request to add a search field to http://localhost:port/indices/:index/tags to add an interview phase field (phase)

    Example of request content structure:

    {
        "tag_name": "phase",
        "tag_type": "text"
    }
    

    Send add search field request to http://localhost:port/indices/:index/tags to add HR score field (hr_score)

    Example of request content structure:

    {
        "tag_name": "hr_score",
        "tag_type": "float"
    }
    

    Step 2

    Insert a resume containing this field. The newly added field needs to be included under the field tags and can only be inserted using the insert-json API. The following format must be followed when inserting a resume.

    {
        "parsing_result": {...},
        "predicted_result": {...},
        "folder_name": "my resume",
        "index": "resumes",
        "update_mode": "keep_latest",
        "tags":{"phase": "一面", "hr_score": 3.5}
        }
    

    Step 3

    Conduct a search. If you need to screen candidates who are in the face-to-face stage and have an HR score of 3 or above, you can refer to the following example.

    {
        "filter": [
            {"tags.phase.keyword": "一面"},
            {"tags.min_hr_score": 3.0}
        ],
        "index": "resumes"
    }
    

    Add custom search field (local)

    This API is for local deployment only. Adds a new compound search field in the specified INDEX. Therefore, the compound search field is prefixed with ud, which means user-defined. Assuming the query_name is my_query, you can search by ud_my_query.

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    query_search_field ARRAY[Object] Yes Newly added QUERY field and weight information
    query_search_field.field String Yes Path to search field
    query_search_field.weight Float/Int Yes The weight of the corresponding search field
    query_name String Yes Newly added QUERY logical name

    Example of request content structure:

    {
        "query_name": "text",
        "query_search_field": [{"field": "parsing_result.basic_info.current_position", "weight":20},
                       {"field": "parsing_result.basic_info.current_company", "weight":10}]
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the addition is successful, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Talent Search

    Interface description

    Search resume

    Smart resume search in resume library. Users must first use the Candidate Data Module This function can be used only by insert resume interface.

    Note: The user database is initialized without any data. If the user needs to conduct a smart resume search test, You need to first insert the matching resume into your exclusive talent database according to Insert Resume. Once the resume is inserted, it is permanently valid and supports unlimited searches. For specific resume database operations, please refer to the resume database module.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    query Array[Object] No Search criteria. The final returned results will be sorted by intelligent scoring based on the search criteria.
    filter Array[Object] No Filter condition. This condition is used for hard filtering and has nothing to do with the sorting of the returned results.
    index String No Query the database name. The default is resumes
    offset Int No Query the starting position. Default is 0, range is 0-10000
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter

    Search and filter conditions description (search-body)

    A summary of fields that can be placed in query and filter. Multiple selection means that multiple search values ​​can be searched together in the form of array, such as "school_name": ["Peking University", "Tsinghua University"]. Experience category indicates whether the search field can be classified into the same experience. If the search field experience category is the same, you can filter multiple fields within the same experience in the form of brackets, such as {"school_name": "Peking University", "major": "Finance"}. If an array is entered in main when searching, each condition in main needs to be met before the results will be returned. If you want to use the intelligent multi-dimensional search mode, you can put multiple keywords in main and separate them with spaces, such as main": "java python", and the returned results will be intelligently sorted by considering both.

    Parameters Parameter type Multiple selection Experience category Description
    main String Yes Full-text comprehensive search, only applicable within query conditions.
    resume_rawtext String Yes Raw text search.
    folder_name String Yes Resume folder name.
    name String Is the name.
    gender String Is Gender. Male, Female
    political_status String Yes Political status. Party members, League members, the masses
    phone_number String Is a mobile phone.
    email String Yes Email.
    QQ String Yes QQ number.
    wechat String Yes WeChat.
    current_location String Yes The current city. Currently only cities are supported, not provinces.
    expect_location String Yes Expected city. Currently only cities are supported, not provinces.
    degree String Yes Educational experience Educational experience. Junior high school, Technical secondary school, High school, College, Undergraduate, Master, MBA, EMBA, PhD.
    school_level String Yes Education experience School level. 211, 985.
    school_name String Yes Education experience School name.
    school_name.keyword String Yes Education experience School name. (exact match)
    major String Yes Education experience Major.
    courses String Yes Education experience Courses studied.
    abroad Int No Education experience Whether it is an overseas institution, 1 means yes, 0 means no
    abroad_country String Yes Education experience Overseas institution country
    current_position String Yes The current position.
    desired_position String Yes Desired position.
    min_work_exp Int No Minimum working years. 0-99
    max_work_exp Int No Maximum working years. 0-99
    min_age Int No Minimum age limit
    max_age Int No Maximum age limit
    early_graduate_year Int No Earliest graduation time
    latest_graduate_year Int No Latest graduation time
    company_name String Yes Work experience Company name.
    company_name.keyword String Yes Work experience Company name. (exact match)
    industry String Yes Work experience Industry.
    job_function String Yes Work experience The function of the position.
    job_title String Yes Work experience Position name.
    job_title.keyword String Yes Work experience Position name. (exact match)
    department String Yes Work experience Department name.
    work_description String Yes Work experience Description of work experience.
    social_description String Yes Description of social experience.
    project_description String Yes Project experience description.
    training_description String Yes Training experience Description of training experience.
    training_organization_name String Yes Training experience Name of training organization.
    skills String Is a skill.
    it_skills String Yes Computer skills.
    business_skills String Yes Business skills.
    language String is the language.
    certificate String Yes Certificate.
    awards String Is the award.
    self_evaluation String Yes Self-evaluation.
    tags.<tag> Custom search fields, please refer to Add custom tag fields (for local deployment only)
    max_candidate_created_at Datetime No The latest delivery time, the delivery field needs to be set. The format is 2021-04-22T10:45:00Z (only for local deployment)
    min_candidate_created_at Datetime No The earliest delivery time, the delivery field needs to be set. The format is 2021-04-22T10:45:00Z (only for local deployment)
    candidate_consideration_status Boolean No Candidate submission elimination status (for local deployment only)
    candidate_job_title String Yes Delivery job name (only for local deployment)

    Example of request content structure:

    {
        "query": [
            {"main": "数据科学 python"}
        ],
        "filter": [
            {"degree": ["中专", "大专"]},
            {"current_location": "深圳"},
            {"school_name": ["北京大学", "清华大学"], "major": "金融"},
            {"folder_name": "测试简历"}
        ],
        "index": "resumes",
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the search is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Number of matches The total number of matches in the resume database Int
    resumes Matching resumes Please refer to Recruitment Matching Result List, and does not include rawscore and score fields Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 1200,
        "resumes": [...]
    }
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python2

    This code requires pip install requests to be installed.

    Insert resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import base64
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt" #替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/peipei/resumes"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path, folder_name='default-folder'):
        file_handler = open(file_path, 'rb')
        content = base64.b64encode(file_handler.read())
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json_data = {
            'resume_base': content.decode('utf-8'),
            'file_name': file_path,
            'folder_name': folder_name,
            'update_mode': 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
        }
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Insert parsing resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
        cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与小析简历解析格式一模一样
        print(cv_api(cv_file))
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/resumes/json"
        return upload_file(cv_url, cv_file)
    
    # 可以替换您的文件夹名称,如不同岗位使用不同的文件夹名称,本地部署不需要用户名密码
    def upload_file(url, file_path, folder_name='default-folder'):
        headers = {
            # 本接口仅支持本地部署,本地部署不需要用户名密码
            'Content-Type': 'application/json'
        }
        json_data = dict()
        json_data['parsing_result'] = json.load(open(file_path, 'rb'))['parsing_result']
        json_data['folder_name'] = folder_name
        json_data['update_mode'] = 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
    
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Delete resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    
    
    # 注:需要安装requests模块
    
    def main():
        cv_id = ""# 请替换成您想删除的cv_id
        print(cv_api(cv_id))
    
    
    def cv_api(cv_id):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        # 如您要删除的cv_id是12345,则请求路径为 http://api.xiaoxizn.com/v1/peipei/resumes/12345
        url = "http://api.xiaoxizn.com/v1/peipei/resumes/%s" % cv_id
        result = requests.delete(url, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Filter all resumes

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    
    # 注:需要安装requests模块
    
    def main():
        print(list_api())
    
    def list_api():
        # 默认输出20份简历,可参照 https://wiki.xiaoxizn.com/en/#recommender-api-all
        url = "http://api.xiaoxizn.com/v1/peipei/resumes"
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        result = requests.get(url, headers=headers, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Resume search

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    
    # 注:需要安装requests模块
    
    def main():
        print(json.loads(upload_jd()))
    
    
    def upload_jd():
        url = "http://api.xiaoxizn.com/v1/peipei/search_resumes"
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json = {
            # 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
            "query": [{"main": "数据科学 python"}],
            # 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
            "filter": [{"current_location": "深圳"}, {"school_level": "211"}]
        }
        result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    
    

    Python3

    This code requires pip install requests to be installed.

    Insert resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def main():
        cv_file = "resume.txt"#替换为您的简历
        print(cv_api(cv_file))
    
    
    def cv_api(cv_file):
        cv_url = "http://api.xiaoxizn.com/v1/peipei/resumes"
        return upload_file(cv_url, cv_file)
    
    
    def upload_file(url, file_path, folder_name='default-folder'):
        file_handler = open(file_path, 'rb')
        content = base64.b64encode(file_handler.read())
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json_data = {
            'resume_base': content.decode('utf-8'),
            'file_name': file_path,
            'folder_name': folder_name,
            'update_mode': 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
        }
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Insert parsing resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    import json
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    def main():
        cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与小析简历解析格式一模一样
        print(cv_api(cv_file))
    
    def cv_api(cv_file):
        cv_url = "http://localhost:port/resumes/json"
        return upload_file(cv_url, cv_file)
    
    # 可以替换您的文件夹名称,如不同岗位使用不同的文件夹名称,本地部署不需要用户名密码
    def upload_file(url, file_path, folder_name='default-folder'):
        headers = {
            # 本接口仅支持本地部署,本地部署不需要用户名密码
            'Content-Type': 'application/json'
        }
        json_data = dict()
        json_data['parsing_result'] = json.load(open(file_path, 'rb'))['parsing_result']
        json_data['folder_name'] = folder_name
        json_data['update_mode'] = 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
    
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Delete resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    
    importlib.reload(sys)
    
    # 注:需要安装requests模块
    
    def main():
        cv_id = ""# 请替换成您想删除的cv_id
        print(cv_api(cv_id))
    
    
    def cv_api(cv_id):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        # 如您要删除的cv_id是12345,则请求路径为 http://api.xiaoxizn.com/v1/peipei/resumes/12345
        url = "http://api.xiaoxizn.com/v1/peipei/resumes/%s" % (cv_id)
        result = requests.delete(url, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Filter all resumes

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    def main():
        print(list_api())
    
    def list_api():
        # 默认输出20份简历,可参照 https://wiki.xiaoxizn.com/en/#recommender-api-all
        url = "http://api.xiaoxizn.com/v1/peipei/resumes"
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        result = requests.get(url, headers=headers, timeout=15, verify=False)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    

    Resume search

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import requests
    import json
    
    
    # 注:需要安装requests模块
    
    def main():
        print(json.loads(upload_jd()))
    
    
    def upload_jd():
        url = "http://api.xiaoxizn.com/v1/peipei/search_resumes"
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        json = {
            # 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
            "query": [{"main": "数据科学 python"}],
            # 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
            "filter": [{"current_location": "深圳"}, {"school_level": "211"}]
        }
        result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
        return result.text
    
    
    if __name__ == "__main__":
        main()
    
    

    Java

    This code requires installation of apache-http, json, commons-io

    Insert resume

    import java.io.File;
    import java.io.BufferedReader;
    import java.io.FileReader;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.apache.commons.io.FileUtils;
    import org.json.JSONObject;
    
    public class insert_resume {
        public static void testInsertResume(String url, String fname, String client_id, String client_secret, String folder_name, String update_mode) throws Exception {
            byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
            String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
    
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            JSONObject json = new JSONObject();
            json.put("folder_name", "default-folder");   // 如有需要,可输入
            json.put("file_name", fname);   // 文件名
            json.put("resume_base", data); // 经base64编码过的文件内容
            json.put("update_mode", update_mode); // 去重模式
            StringEntity params = new StringEntity(json.toString());
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/resumes";
            String fname = "resume.txt";  //替换为您的文件名
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
            String folder_name = "default-folder"; // 替换成您想插入简历的文件夹名称,默认为default-folder
            String update_mode = "overwrite"; // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
            testInsertResume(url, fname, client_id, client_secret, folder_name, update_mode);
        }
    }
    

    Insert parsing resume

    import org.apache.commons.io.FileUtils;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    
    public class insert_resume_json {
        public static void testjson(String url, String fname, String folder_name, String update_mode) throws Exception {
            File file = new File(fname);
            String content = FileUtils.readFileToString(file, "utf-8");
            // 有些java程序会在unicode前产生\uFEFF, 需要先行替换
            if (content.startsWith("\uFEFF")){
                content = content.replace("\uFEFF", "");
            }
            // Convert JSON string to JSONObject
    
            JSONObject resumejson = new JSONObject(content);
            resumejson.put("folder_name": folder_name);
            resumejson.put("update_mode": update_mode);
            System.out.println(content);
            HttpPost httpPost = new HttpPost(url);
    
            // 设置头字段, json插入简历库仅支持本地部署,不需要用户名密码
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            // 将json 变回string, 发送请求
            httpPost.setEntity(new StringEntity(resumejson.toString(), Consts.UTF_8));
    
            // 发送请求
             HttpClient httpclient = new DefaultHttpClient();
             HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            // 插入 json 格式简历至人岗匹配数据库
            String url = "http://localhost:port/resumes/json"; //port替换成您的人岗匹配端口
            String fname = "resume.json";  //替换为您的文件名
            String folder_name = "default-folder"; // 替换成您想插入简历的文件夹名称,默认为default-folder
            String update_mode = "overwrite"; // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
            testjson(url, fname, folder_name, update_mode);
        }
    }
    

    Delete resume

    import java.io.File;
    import java.io.BufferedReader;
    import java.io.FileReader;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.methods.HttpDelete;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.apache.commons.io.FileUtils;
    import org.json.JSONObject;
    
    public class delete_resume {
        public static void testDeleteResume(String url, String cv_id, String client_id, String client_secret) throws Exception {
            HttpDelete httpDelete = new HttpDelete(url + cv_id);
    
            // 设置头字段
            httpDelete.setHeader("id", client_id);
            httpDelete.setHeader("secret", client_secret);
            httpDelete.addHeader("content-type", "application/json");
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpDelete);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/resumes/";
            String cv_id = "";  //替换为您想删除的简历的cv_id, 如您想删除简历的cv_id是12345,则url为 http://api.xiaoxizn.com/v1/peipei/resumes/12345
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
    
            testDeleteResume(url, cv_id, client_id, client_secret);
        }
    }
    

    Filter all resumes

    import java.io.File;
    import java.io.BufferedReader;
    import java.io.FileReader;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.methods.HttpDelete;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.apache.commons.io.FileUtils;
    import org.json.JSONObject;
    
    public class list_resume {
        public static void testListResume(String url, String client_id, String client_secret) throws Exception {
            // 使用get请求
            HttpGet httpGet = new HttpGet(url);
    
            // 设置头字段
            httpGet.setHeader("id", client_id);
            httpGet.setHeader("secret", client_secret);
            httpGet.addHeader("content-type", "application/json");
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpGet);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/resumes";
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
    
            testListResume(url, client_id, client_secret);
        }
    }
    

    Resume search

    import java.io.File;
    import java.util.ArrayList;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONArray;
    import org.json.JSONObject;
    
    
    
    public class search_resume {
    
        public static void searcher(String url, String client_id, String client_secret) throws Exception {
            HttpPost httpPost = new HttpPost(url);
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            JSONObject json = new JSONObject();
            // 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
            json.put("query", new JSONArray("[{\"main\": \"数据科学 python\"}]"));
            // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
            json.put("filter", new JSONArray("[{\"school_level\": \"211\"}, {\"current_location\": \"深圳\"}]"));
            StringEntity params = new StringEntity(json.toString(), Consts.UTF_8);
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost, Consts.UTF_8);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/match_resumes";
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
            searcher(url, client_id, client_secret);
        }
    }
    

    Javascript

    This code requires npm install request to be installed.

    Insert resume

    var request = require('request');
    var fs = require('fs');
    
    var filePath = './resume.txt'; //替换为您的简历
    var folder_name = 'default-folder'; //替换成你想插入的文件夹,如不输入,则使用默认文件夹
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/peipei/resumes",
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
            'resume_base': Buffer(fs.readFileSync(filePath)).toString('base64'),
            'file_name': filePath,
            'folder_name': folder_name,
            'update_mode': 'overwrite' // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
    }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Delete resume

    var request = require('request');
    
    var cv_id = 'd29703da-aec2-11ea-aba3-0242ac130003'// 请替换成您想删除的cv_id
    
    var options = {
        url: 'http://api.xiaoxizn.com/v1/peipei/resumes/' + cv_id,
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        }
        };
    
    var result = request.delete(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Filter all resumes

    var request = require('request');
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/peipei/resumes",
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        }
        };
    
    var result = request.get(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Resume search

    var request = require('request');
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/peipei/search_resumes",
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
          // 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
          "query": [{"main": "数据科学 python"}],
          // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
          "filter": [{"current_location": ["深圳", "广州"]}, {"school_level": "211"}]    }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    PHP

    Insert resume

    <?php
        $url = "http://api.xiaoxizn.com/v1/peipei/resumes";
        $file_path= './resume.txt'; //替换为您的简历
        $update_mode= 'overwrite';
        $folder_name= 'default-folder';
        $file = base64_encode(file_get_contents($file_path));
        $post_data = array(
            "resume_base" => $file,
            "file_name" => $file_path,
            "update_mode" => $update_mode, // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
            "folder_name" => $folder_name  // 替换成您想插入简历的文件夹名称,默认为default-folder
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Delete resume

    <?php
        $cv_id = "c99b56c0-aed4-11ea-aba3-0242ac130003"; // 替换成要删除的CVID
        $url = "http://api.xiaoxizn.com/v1/peipei/resumes/{$cv_id}";
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Filter all resumes

    <?php
        $url = "http://api.xiaoxizn.com/v1/peipei/resumes";
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_HTTPGET, 1);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Resume search [search-list-test-[php]]

    <?php
        $url = "http://api.xiaoxizn.com/v1/peipei/search_resumes";
        $post_data = array(
        "query" => array(
            array("main" => "数据科学 python"),            // 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
        "filter" => array(
            array("current_location" => "沈阳"),    // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
            array("school_level" => "211")     // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
        )
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    73 Update Index error
    80 Request error
    81 English server internal error
    90 This file format is not supported
    91 Image file parsing is not supported
    92 The document is not a real resume
    93 English resume parsing is not supported
    101 Authorization failed

    Candidate-Job Matching

    Interface description

    Match multiple resumes for a single position

    Send the job title and job description, and return the most matching resume in the user's resume database. Users must first use the Candidate Data Module This function can be used only by insert resume interface.

    Note: The user database is initialized without any data. If the user needs to match multiple resumes, You need to first insert the matching resume into your exclusive talent database according to Insert Resume. Once the resume is inserted, it is permanently valid and can be quickly matched to multiple positions. For specific resume database operations, please refer to the resume database module.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    job Object Yes The person and job match the job content.
    job.job_title String Yes Job title. If a job description is provided, the job title may be omitted.
    job.description String Yes Job description. If a job title is provided, a job description may be omitted.
    filter Array[Object] No Please refer to Filter conditions
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter
    index String No The index name of the query. Defaults to resumes.

    Example of request content structure:

    {
        "job": {
            "job_title": "机器学习工程师",
            "description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
        },
        "filter": [
            {"degree": ["中专", "大专"]},
            {"current_location": "深圳"},
            {"school_name": ["北京大学", "清华大学"], "major": "金融"},
            {"folder_name": "测试简历"}
        ],
        "index": "resumes",
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Number of matches The total number of matches in the resume database Int
    resumes Matching resumes Please refer to Recruitment Matching Result List Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 1200,
        "resumes": [...]
    }
    

    Match a single original resume for a single position

    Send job title, job description and resume information, and return multi-dimensional matching scores.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it. Default is 0.
    ocr_service String No OCR service provider, tencent Tencent OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    resume Object Yes Resume content.
    resume.resume_base String Yes The content of the resume file encoded by base64.
    resume.file_name String Yes Resume file name (please make sure the suffix is correct).
    job Object Yes Job content.
    job.job_title String No Job title. If a job description is provided, the job title can be omitted
    job.description String No Job description. If a job title is provided, a job description may be omitted.

    Example of request content structure:

    {
        "job": {
            "job_title": "机器学习工程师",
            "description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
        },
        "resume": {
            "resume_base": "BASE64RESUME",
            "file_name": "my-resume.pdf"
        }
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    score Match score Please refer to return to score result list Object

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "score": {...}
    }
    

    Single position matching single parsed resume

    Send job title, job description and resume information, and return multi-dimensional matching scores.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    resume Object Yes Resume content.
    resume.parsing_result Object Yes Parses resume content. Please refer to Resume parsing result list
    job Object Yes Job content.
    job.job_title String No Job title. If a job description is provided, the job title can be omitted
    job.description String No Job description. If a job title is provided, a job description may be omitted.

    Example of request content structure:

    {
        "job": {
            "job_title": "机器学习工程师",
            "description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
        },
        "resume": {
            "parsing_result": {...}
        }
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    score Match score Please refer to return to score result list Object

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "score": {...}
    }
    

    Match multiple positions with a single original resume

    Send a resume and return the most matching job title and position information in the user's job database. Users must first use the Job Database Module This function can be used only by Insert Job Interface.

    Note: The user database is initialized without any data. If the user needs to match multiple job positions, You need to first insert the matching positions into your exclusive job database according to Insert Position. Once inserted, the position is permanently valid and multiple resumes can be matched quickly. For specific job database operations, please refer to the job database module.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    handle_image Int No Whether to process image resumes, 1 will process it, 0 will not process it. Default is 0.
    ocr_service String No OCR service provider, tencent Tencent OCR, alicloud Alibaba OCR, baidu Baidu OCR, the default is Baidu OCR (local deployment only)

    Request content description (body)

    Parameter Parameter type Required Description
    resume Object Yes Resume content.
    resume.resume_base String Yes The content of the resume file encoded by base64.
    resume.file_name String Yes Resume file name (please make sure the suffix is correct).
    filter Array[Object] No Only supports folder_name, which is the name of the target folder. It can be used for quick search. The default is default-folder.
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter

    Example of request content structure:

    {
        "resume": {
            "resume_base": "BASE64RESUME",
            "file_name": "my-resume.pdf"
        },
        "filter": [
            {"folder_name": "测试职位"}
        ],
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Number of matches Total number of matches for positions in the job database Int
    jobs Matching positions Please refer to Candidate-Job Matching results list Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 1200,
        "jobs": [...]
    }
    

    Resume matching multiple positions after single parsing

    Send the parsed json format resume and return the most matching job title and position information in the user's job database. Users must first use the Job Database Data Module This function can be used only by Insert Job Interface.

    Note: The user database is initialized without any data. If the user needs to match multiple job positions, You need to first insert the matching positions into your exclusive talent database according to Insert Position. Once inserted, the position is permanently valid and multiple resumes can be matched quickly. For specific job database operations, please refer to the job database module.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    resume Object Yes Resume content.
    resume.parsing_result Object Yes Parses resume content. Please refer to Resume parsing result list
    filter Array[Object] No Only supports folder_name, which is the name of the target folder. It can be used for quick search. The default is default-folder.
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter

    Example of request content structure:

    {
        "resume": {
            "parsing_result": {...}
        },
        "filter": [
            {"folder_name": "测试职位"}
        ],
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Number of matches Total number of matches for positions in the job database Int
    jobs Matching positions Please refer to Candidate-Job Matching results list Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 1200,
        "jobs": [...]
    }
    

    Match a single original resume to a similar resume (under development)

    Send resume information and return similar resumes.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    resume Object Yes Resume content.
    resume.resume_base String Yes The content of the resume file encoded by base64.
    resume.file_name String Yes Resume file name (please make sure the suffix is correct).
    filter Array[Object] No Please refer to Filter conditions
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter
    index String No The index name of the query. Defaults to resumes.

    Example of request content structure:

    {
        "resume": {
            "resume_base": "BASE64RESUME",
            "file_name": "my-resume.pdf"
        },
        "filter": [
            {"degree": ["中专", "大专"]},
            {"current_location": "深圳"},
            {"school_name": ["北京大学", "清华大学"], "major": "金融"},
            {"folder_name": "测试简历"}
        ],
        "index": "resumes",
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Number of matches The total number of matches in the resume database Int
    resumes Matching resumes Please refer to Recruitment Matching Result List Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 1200,
        "resumes": [...]
    }
    

    Result list

    Resume matching list

    Variable name Variable meaning Remarks Field type
    cv_id Resume ID Resume identification ID String
    cv_name Resume hash Resume content hash containing resume suffix String
    match_level Match level (only for personnel matching interface) 0 is no match at all, 1 is a slight match, 2 is a general match, 3 is a moderate match, 4 is a very good match, 5 is a perfect match Int
    match_score Match score (only for candidate-job matching interface) Score range 0-5, the higher it is, the better the match Double
    parsing_result Resume content Please refer to Resume parsing results list Object

    Sample example

    The best candidate variable name is resumes and the variable type is array[object]

    "resumes":
    [
        {
            "cv_id": "090a53f943431f51e9902a7851fce7ec",
            "cv_name": "5d9ca20117ce4fd6ffd1f1abf12618ab.html",
            "match_score": 4.2,
            "match_level": 5,
            "parsing_result": {...}
        },
        {
            "cv_id": "090a53f943431f51e9902a7851fce7eb",
            "cv_name": "5d9ca20117ce4fd6ffd1f1abf12618sb.html",
            "match_score": 3.8,
            "match_level": 4,
            "parsing_result": {...}
        },
        {
            "cv_id": "090a53f943431f51e9902a7851fce7ea",
            "cv_name": "5d9ca20117ce4fd6ffd1f1abf12618cb.html",
            "match_score": 3.5,
            "match_level": 4,
            "parsing_result": {...}
        }
    ]
    

    Single resume job scores

    Variable name Variable meaning Remarks Field type
    match_score Enter the comprehensive matching score between the resume information and the position The score range is 0-5, the higher it is, the better the match Double
    match_level Enter the resume information and the comprehensive match level of the position 0 is no match at all, 1 is a slight match, 2 is a general match, 3 is a relatively good match, 4 is a very good match, 5 is a perfect match Int
    contribution Enter resume information and a comprehensive multi-dimensional score for the position The range of a single dimension is 0-5, and the weighted average can get the comprehensive score Object
    contribution.company_score Past work unit visibility score Score range 0-5, according to the company knowledge graph, the greater the previous work unit visibility, the higher the score Double
    contribution.school_score School level score Score range 0-5, the higher the graduate school level, the higher the score, 985, 211, first-class school, etc. Double
    contribution.degree_score Degree score Score range 0-5, the higher the degree, the higher the score Double
    contribution.exp_score Work experience score Score range 0-5, the more years of working experience, the higher the score Double
    contribution.title_score Functional match score Score range 0-5, the higher the match between past work experience and matching position function, the higher the score Double
    contribution.declare_skill_score Mentioned skill matching score Score range 0-5, JD mentioned skill matching score Double
    contribution.infer_skill_score Invisible skill matching score Score range 0-5, JD did not mention it, the skill matching score recommended based on the skill knowledge graph Double

    Sample example

    The variable name of the single resume candidate-job matching score variable is score, and the variable type is Object

    "score": {
        "match_score": 3.2,
        "match_level": 3,
        "contribution":{
                "company_score": 1.5,
                "school_score": 4.0,
                "degree_score": 4.0,
                "exp_score": 5.0,
                "title_score": 3.0,
                "declare_skill_score": 2.5,
                "infer_skill_score": 1.5,
                }
    }
    

    Candidate-Job Matching list

    Variable name Variable meaning Remarks Field type
    job_id Job ID Job identification ID String
    match_level Match level (only for personnel matching interface) 0 is no match at all, 1 is a slight match, 2 is a general match, 3 is a moderate match, 4 is a very good match, 5 is a perfect match Int
    match_score Match score (only for candidate-job matching interface) Score range 0-5, the higher it is, the better the match Double
    parsing_result Position content Please refer to Position parsing results list Object

    Sample example

    The optimal position variable name is jobs and the variable type is array[object]

    "jobs":
    [
        {
            "job_id": "3a6fdf9e-b76d-11ed-99a6-784f434f64f1",
            "match_level": 5,
            "match_score": 4.4,
            "parsing_result": {...}
        },
        {
            "job_id": "38d1e86c-b76d-11ed-99c4-784f434f64f3",
            "match_level": 5,
            "match_score": 4.3,
            "parsing_result": {...}
        },
        {
            "job_id": "383cb1ac-b76d-11ed-b79b-784f434f64f2",
            "match_level": 3,
            "match_score": 3.5,
            "parsing_result": {...}
        }
    ]
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python2

    This code requires pip install requests to be installed.

    Match multiple resumes

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
      print(json.loads(upload_jd()))
    
    def upload_jd():
      url = "http://api.xiaoxizn.com/v1/peipei/match_resumes"
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      json = {
            "job":{
            # 替换为您的岗位名称
            "job_title": "机器学习工程师",
            # 替换为您的岗位描述
            "description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
            }
    }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Match single resume

    # python2.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    import base64
    
    
    # 注:需要安装requests模块
    
    def main():
      cv_file = "resume.txt" #请替换为您的简历
      print(json.loads(upload_jd(cv_file)))
    
    def upload_jd(file_path):
      url = "http://api.xiaoxizn.com/v1/peipei/score_resume"
      file_handler = open(file_path, 'rb')
      content = base64.b64encode(file_handler.read())
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      resume = {
        'resume_base': content,
        'file_name': file_path
      }
      json = {
            "job":{
            # 替换为您的岗位名称
            "job_title": "人事行政经理",
            # 替换为您的岗位描述
            "description": "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"
            },
          "resume": resume
    }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Python3

    This code requires pip install requests to be installed.

    Match multiple resumes

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import requests
    import json
    
    def main():
        print(json.loads(upload_jd()))
    
    def upload_jd():
        url = "http://api.xiaoxizn.com/v1/peipei/match_resumes"
        headers = {
            'id': 'your_client_id', #替换为您的ID
            'secret': 'your_client_secret' #替换为您的密匙
        }
        json = {
            "job":{
                # 替换为您的岗位名称
                "job_title": "机器学习工程师",
                # 替换为您的岗位描述
                "description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
            }
        }
        result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Match single resume

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import requests
    import json
    import base64
    
    
    # 注:需要安装requests模块
    
    def main():
      cv_file = "resume.txt" #请替换为您的简历
      print(json.loads(upload_jd(cv_file)))
    
    def upload_jd(file_path):
      url = "http://api.xiaoxizn.com/v1/peipei/score_resume"
      file_handler = open(file_path, 'rb')
      content = base64.b64encode(file_handler.read())
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      resume = {
          'resume_base': content.decode('utf-8'),
          'file_name': file_path
      }
      json = {
            "job":{
            # 替换为您的岗位名称
            "job_title": "人事行政经理",
            # 替换为您的岗位描述
            "description": "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"
            },
          "resume": resume
    }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Match multiple positions based on the original resume file

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import requests
    import json
    import base64
    
    
    # 注:需要安装requests模块
    
    def main():
      cv_file = "resume.txt" #请替换为您的简历
      print(json.loads(upload_jd(cv_file)))
    
    def upload_jd(file_path):
      url = "http://api.xiaoxizn.com/v1/peipei/match_jobs"
      file_handler = open(file_path, 'rb')
      content = base64.b64encode(file_handler.read())
      headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
      }
      resume = {
          'resume_base': content.decode('utf-8'),
          'file_name': file_path
      }
      json = {
        "resume": resume,
        "offset": 0,
        "limit": 100,
        "filter": [
          {"folder_name": "default-folder"}
        ],
    }
      result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
      return result.text
    
    
    if __name__ == "__main__":
      main()
    

    Match multiple positions based on json format resume parsing result file

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import requests
    import json
    import base64
    
    
    # 注:需要安装requests模块
    
    def main():
      job_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与小析简历解析格式一模一样
      print(job_api(job_file))
    
    def job_api(job_file):
      url = "http://api.xiaoxizn.com/v1/peipei/match_jobs_json"
      return upload_file(url, job_file)
    
    def upload_file(url, file_path):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        resume = json.load(open(file_path, 'rb'))
        json_data = {
        "resume": resume,
        "offset": 0,
        "limit": 100,
        "filter": [
          {"folder_name": "default-folder"}
        ],
    }
        result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers).json()
        return result
    
    if __name__ == "__main__":
        main()
    

    Java

    This code requires installation of apache-http, json, commons-io

    Match multiple resumes

    import java.io.File;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    public class java_demo {
    
        public static void recommender(String url, String client_id, String client_secret) throws Exception {
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置内容信息
            JSONObject json = new JSONObject();
            JSONObject job = new JSONObject();
            job.put("job_title", "机器学习工程师"); // 替换为您的岗位名称
            jpb.put("description", "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;" ); //替换为您的岗位描述
            json.put("job", job)
            StringEntity params = new StringEntity(json.toString());
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/match_resumes";
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
            recommender(url, client_id, client_secret);
        }
    }
    

    Match single resume

    import java.io.File;
    
    import org.apache.commons.codec.binary.Base64;
    import org.apache.http.Consts;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.json.JSONObject;
    
    public class score_resume {
    
        public static void recommender(String url, String fname, String client_id, String client_secret) throws Exception {
            byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
            String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
    
            HttpPost httpPost = new HttpPost(url);
    
            // 设置头字段
            httpPost.setHeader("id", client_id);
            httpPost.setHeader("secret", client_secret);
            httpPost.addHeader("content-type", "application/json");
    
            // 设置简历信息
            JSONObject json = new JSONObject();
    
            JSONObject resume = new JSONObject();
            resume.put("file_name", fname);   // 文件名
            resume.put("resume_base", data); // 经base64编码过的文件内容
            json.put("resume", resume);
    
            // 设置岗位信息
            JSONObject job = new JSONObject();
            job.put("job_title", "人事行政经理"); // 替换为您的岗位名称
            job.put("description", "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系" ); //替换为您的岗位描述
            json.put("job", job);
            StringEntity params = new StringEntity(json.toString(), Consts.UTF_8);
            httpPost.setEntity(params);
    
            // 发送请求
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response = httpclient.execute(httpPost);
    
            // 处理返回结果
            String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
            //System.out.println(resCont);
    
            JSONObject res = new JSONObject(resCont);
            System.out.println(res.toString(4));
        }
        public static void main(String[] args) throws Exception {
            String url = "http://api.xiaoxizn.com/v1/peipei/score_resume";
            String client_id = "your_client_id";    //替换为您的ID
            String client_secret = "your_client_secret";    //替换为您的密匙
            String fname = "./resume.txt";  //替换为您的文件名
            recommender(url, fname, client_id, client_secret);
        }
    }
    

    Javascript

    This code requires npm install request to be installed.

    Match multiple resumes

    var request = require('request');
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/peipei/match_resumes",
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
            'job': {
                'job_title': '机器学习工程师', // 替换为您的岗位名称
                'description': '熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;'  //替换为您的岗位描述
            },
          // 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
          'filter': [{'current_location': ['深圳', '广州']}, {'school_level': '211'}]    }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Match single resume

    var request = require('request');
    var fs = require('fs');
    
    var filePath = './resume.txt'; //替换为您的简历
    
    var options = {
        url: "http://api.xiaoxizn.com/v1/peipei/score_resume",
        headers: {
            'id': 'your_client_id', //替换为您的ID
            'secret': 'your_client_secret' //替换为您的密匙
        },
        json: {
            'job': {
                'job_title': '人事行政经理', // 替换为您的岗位名称
                'description': '全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系'  //替换为您的岗位描述
            },
          'resume': {
            'resume_base': Buffer(fs.readFileSync(filePath)).toString('base64'),
            'file_name': filePath
        }
    }
    };
    
    var result = request.post(options, function(err, resp, body) {
        if (err) {
            console.log(err);
            process.exit(1);
        } else {
            console.log(body);
            process.exit(0);
        }
    });
    

    Ruby

    Match multiple resumes

    require "uri"
    require "net/http"
    require 'json'
    require 'base64'
    
    uri = URI('http://api.xiaoxizn.com/v1/peipei/match_resumes')
    req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
    req['id'] = 'your_client_id' #替换为您的ID
    req['secret'] = 'your_client_secret' #替换为您的密匙
    #替换您的搜索岗位名称与描述
    req.body = {job: {job_title: "机器学习工程师", description: "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"}}.to_json
    res = Net::HTTP.start(uri.hostname, uri.port) do |http|
      http.request(req)
    end
    
    puts res.body
    

    Match single resume

    require "uri"
    require "net/http"
    require 'json'
    require 'base64'
    file_path = "./resume.txt" #替换为您的简历
    encoded_string = Base64.encode64(File.open(file_path, "rb").read)
    uri = URI('http://api.xiaoxizn.com/v1/peipei/score_resume')
    req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
    req['id'] = 'your_client_id' #替换为您的ID
    req['secret'] = 'your_client_secret' #替换为您的密匙
    #替换您的搜索岗位名称与描述
    req.body = {resume: {resume_base: encoded_string, file_name: file_path}, job: {job_title: "人事行政经理", description: "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"}}.to_json
    res = Net::HTTP.start(uri.hostname, uri.port) do |http|
    http.request(req)
    end
    
    puts res.body
    

    PHP

    Match multiple resumes

    <?php
        $url = "http://api.xiaoxizn.com/v1/peipei/match_resumes";
        $post_data = array("job" => array(
            "job_title" => "机器学习工程师", // 替换为您的岗位名称
            "description" => "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;" //替换为您的岗位描述
        ),
        "filter" => array(
            array("current_location" => "沈阳"),    // 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
            array("school_level" => "211")     // 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
        )
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Match single resume

    <?php
        $url = "http://api.xiaoxizn.com/v1/peipei/score_resume";
        $file_path= './resume.txt'; //替换为您的简历
        $file = base64_encode(file_get_contents($file_path));
        $resume_data = array(
            "resume_base" => $file,
            "file_name" => $file_path
        );
        $post_data = array("job" => array(
            "job_title" => "人事行政经理", // 替换为您的岗位名称
            "description" => "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系" //替换为您的岗位描述
        ),
        "resume" => $resume_data
        );
        $post_data_string = json_encode($post_data);
        $header_data = array(
            'Content-Type: application/json',
            'id: your_client_id', //替换为您的ID
            'secret: your_client_secret' //替换为您的密匙
        );
        $ch = curl_init();
        curl_setopt($ch , CURLOPT_URL , $url);
        curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch , CURLOPT_POST, 1);
        curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
        curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
        $output = curl_exec($ch);
        curl_close($ch);
        print_r($output);
    ?>
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    80 Resume parsing server internal error
    81 English server internal error
    90 This file format is not supported
    91 Image file parsing is not supported
    92 The document is not a real resume
    93 English resume parsing is not supported

    Job Parsing

    Interface description

    Parse job information

    Send a plain text job description and return parsed results.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    job.description String Yes JD text content
    job.job_title String No Recruitment position name
    delimiter String No REGEX used to cut text, the default is [\s::,]+

    Example of request content structure:

    {
        "job":{
          "description": "1、计算机或相关专业,大学本科及以上学历;
                              2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法;
                              3、熟悉java、Python等流行编程语言,熟悉tf、pytorch等框架,编程能力强。
                              4、对大数据相关工具 Hadoop,Spark,Storm,Hbase等有实际使用经验;
                              5、有搜索、推荐或广告等行业背景优先。
                              6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。",
          "job_title": "机器学习工程师"
        }
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    version Version information String
    parsing_result Position parsing result Object
    parsing_result.origin Integrate job parsing information Please refer to Job parsing result integration list, if there is no parsing result, it will be {} Object
    parsing_result.standard Standardized parsing result result Please refer to Standardized parsing result list, if there is no parsing result, it will be {} Object
    parsing_result.tags Position parsing tags Please refer to Position parsing tag result list, if there is no parsing result, it will be {} Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "parsing_result": {
            "origin": {...},
            "standard": {...},
            "tags": {...}
          }
    }
    

    Result list

    Original position parsing result

    The variable name of the original job parsing result is origin, the variable type is Object, and the * field indicates that it is still under development.

    Variable name Variable meaning Remarks Field type
    company_name Company name Recruitment company name String
    job_title Position name Recruitment position name String
    job_function Job function Standard function to which the position belongs String
    department Recruiting department Description of the department where the position is located String
    degree Educational requirements Description of job education requirements String
    major Professional requirements Description of professional requirements for the position String
    work_exp Working years Working years information description String
    num_hire Recruitment number Job recruitment description String
    school_level School requirements Description of school level requirements String
    company_requirement Company requirement * Previous company preference String
    professional_skills Professional skill requirements Description of professional skill requirements String
    soft_skills Soft skill requirements Description of soft skill requirements String
    bonus_skills Bonus skill requirements Bonus skill requirement description String
    languages Language requirements Language requirement description String
    certificates Certificates Description of certificate requirements String
    gender Gender requirement Gender requirement description String
    age Age requirement Age requirement description String
    company_industry Company industry * Company industry description String
    management_requirement Management capability requirements * String
    professional_requirement Functional experience requirement String
    industry_requirement Industry experience requirement String
    salary Salary level Salary level description String
    benefit Benefits Benefit description String
    address Work address Work address information String
    email Email Email information String
    phone_number Phone Contact phone information String
    wechat WeChat String
    company_intro Company introduction Company introduction description String

    Sample example

    "origin":
    {
        "company_name": "小析智能",
        "job_title": "算法工程师",
        "job_function": "算法",
        "department": "R&D",
        "degree": "本科及以上\n大学本科及以上学历;",
        "major": "1、计算机或相关专业",
        "work_exp": "经验5-10年",
        "num_hire": "招5人",
        "school_level": "985,211大学优先",
        "company_requirement": "BAT工作经历优先",
        "professional_skills": "熟悉主流机器学习和文本挖掘算法;\n3、熟悉java、Python等流行编程语言\n熟悉tf、pytorch等框架\n编程能力强。\n4、对大数据相关工具",
        "soft_skills": "4. 有良好的逻辑思维能力、沟通能力和文字表达能力;",
        "bonus_skills": "熟悉云数据库优先",
        "languages": "流利英语口语,能够用英语进行邮件沟通",
        "certificates": "全国计算机二级证优先考虑",
        "gender": "男女不限",
        "age": "年龄35-44岁之间",
        "company_industry": "计算机互联网行业",
        "management_requirement": "具有项目主管经验",
        "professional_requirement": "Hbase等有实际使用经验;\n6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。",
        "industry_requirement": "5、有搜索、推荐或广告等行业背景优先。",
        "salary": "40k-70k",
        "benefit": "创始团队来自国内外名校,拥有多年丰富工作经验;股东方资金实力雄厚,无需融资;业内资源丰富,有良好的金融行业合作关系;公司80%以上为技术人员,氛围和谐简单~",
        "address": "北京经济技术开发区荣华中路22号亦城财富中心B座11层",
        "email": "xxx@xxx.com",
        "phone_number": "88888888",
        "wechat": "XXXXXXXXX",
        "company_intro": "公司有100人,2018年成立,刚通过A轮融资"
    }
    

    Standardized position information extraction

    The standardized job parsing variable name is standard, the variable type is Object, and the * field indicates that it is still under development.

    Variable name Variable meaning Remarks Field type
    gender Standardized gender requirements Object
    gender.value Standardized gender requirements Not limited to /male/female String
    gender.type Standardized gender requirement type requirement/optional String
    political_status Standardized political requirements Object
    political_status.value Standardized political appearance requirements No limit to / league members / party members String
    political_status.type Standardized gender requirement type requirement/optional String
    abroad Overseas university requirements Object
    abroad.value Overseas institution requirements No limit/overseas String
    abroad.type Overseas institution requirement type requirement/optional String
    age Standardized age requirement Object
    age.lowerbound Lower age limit 0-100, default 0 if not mentioned Int
    age.upperbound Upper age limit 0-100, default 100 if not mentioned Int
    age.type Age requirement type requirement/optional String
    work_exp Standardized work experience requirements Object
    work_exp.lowerbound Lower limit of work experience 0-100, default 0 if not mentioned Int
    work_exp.upperbound Upper limit of work experience 0-100, default 100 if not mentioned Int
    work_exp.type Work experience requirement type requirement/optional String
    degree Standard academic requirements Description of job academic requirements Object
    degree.lowerbound Lower limit of academic qualifications PhD/MBA/EMBA/Master's/Undergraduate/College/High School/Technical Secondary School/Junior High School String
    degree.upperbound Upper limit of academic qualifications PhD/MBA/EMBA/Master/Undergraduate/College/High School/Technical Secondary School/Junior High School String
    degree.type Educational requirement type requirement/optional String
    school_level Standardized school requirements Object
    school_level.lowerbound The lower limit of school level requirements worldclass/top/abroad/985/211/good/empty String
    school_level.upperbound The upper limit of school level requirements worldclass/top/abroad/985/211/good/empty String
    school_level.type School level requirement type requirement/optional String
    certificate Certificate information Array[Object]
    certificate.value Certificate name String
    city Working city Standardized working city information Array[Object]
    city.value Working city City name String
    major Professional required Array[Object]
    major.value Professional term String
    soft_skills Array of soft skill requirements Array[Object]
    soft_skills.value Soft skill name String
    professional_requirement Functional experience requirements Array[Object]
    professional_requirement.value Function name String
    professional_requirement.exp Years requirement Int
    industry_requirement Industry experience requirement Array[Object]
    industry_requirement.value Industry name String
    industry_requirement.exp Year requirement Int
    languages Standardized language requirements There are three language requirements: understand/proficient/expert Array[Object]
    languages.value Language name String
    languages.level Language proficiency requirements understand/proficient/expert String
    professional_skills Standardized professional skills requirements There are three requirements for professional skills: understand/proficient/expert Array[Object]
    professional_skills.value Skill name String
    professional_skills.level Language proficiency requirements understand/proficient/expert String

    Sample example

    "standard":
    {
        "gender": {
            "value": "不限",
            "type": "optional"
        },
        "political_status": {
            "value": "不限",
            "type": "optional"
        },
        "abroad": {
            "value": "海外",
            "type": "optional"
        },
        "age": {
            "lowerbound": 0,
            "type": "optional",
            "upperbound": 40
        },
        "work_exp": {
            "lowerbound": 5,
            "type": "optional",
            "upperbound": 10
        },
        "degree": {
            "lowerbound": "本科",
            "type": "requirement",
            "upperbound": "博士"
        },
        "school_level": {
            "lowerbound": "211",
            "type": "requirement",
            "upperbound": "worldclass"
        },
        "certificate": [{
            "value": "全国计算机二级"
        }],
        "city": [{
            "value": "北京"
        }],
        "major": [{
            "value": "计算机相关"
        }],
        "soft_skills": [{
                "value": "逻辑思维"
            },
            {
                "value": "沟通能力"
            },
            {
                "value": "文字表达能力"
            }
        ],
        "professional_requirement": [{
                "value": "大数据开发",
                "exp": 5
            },
            {
                "value": "数据分析",
                "exp": 3
            }
        ],
        "industry_requirement": [{
            "value": "广告行业",
            "exp": 1
        }],
        "languages": [{
                "value": "英语",
                "level": "expert"
            },
            {
                "value": "西班牙语",
                "level": "proficient"
            },
            {
                "value": "日语",
                "level": "understand"
            }
        ],
        "professional_skills": [{
                "value": "数据分析",
                "level": "expert"
            },
            {
                "value": "Python",
                "level": "expert"
            },
            {
                "value": "Hadoop",
                "level": "understand"
            },
            {
                "value": "HBase",
                "level": "understand"
            },
            {
                "value": "NLP",
                "level": "understand"
            },
            {
                "value": "Spark",
                "level": "understand"
            },
            {
                "value": "Storm",
                "level": "understand"
            },
            {
                "value": "Pytorch",
                "level": "proficient"
            },
            {
                "value": "大数据",
                "level": "proficient"
            },
            {
                "value": "机器学习",
                "level": "proficient"
            },
            {
                "value": "C++",
                "level": "proficient"
            },
            {
                "value": "Javascript",
                "level": "proficient"
            },
            {
                "value": "深度学习",
                "level": "proficient"
            }
        ]
    }
    

    Job tag extraction

    The standardized job parsing variable name is tags, the variable type is Object, and the * field indicates that it is still under development.

    Variable name Variable meaning Remarks Field type
    basic Basic information tag Type is experience, level, location, salary, political_status, age, gender Array[Object]
    basic.tag Basic information tag name String
    basic.type Tag type String
    education Education background tag Type is degree, abroad, major, school_level, *publication Array[Object]
    education.tag Education background tag name String
    education.type Tag type String
    professional Professional tag Type is standard_title, job_title, industry, management Array[Object]
    professional.tag Professional tag name String
    professional.type Label type String
    skills Skill tags Types are professional_skill, soft_skill Array[Object]
    skills.tag Skill tag name String
    skills.type Tag type String
    skills.subclass Skill category String
    others Other information tags Type is language, certificate, award, company_class, *benefit Array[Object]
    others.tag Other information tag name String
    others.type Tag type String
    others.level Mastery level, currently only supports language mastery requirements String

    Sample example

    "tags": {
        "basic": [{
                "tag": "5-10年经验",
                "type": "experience"
            },
            {
                "tag": "资深",
                "type": "level"
            },
            {
                "tag": "北京",
                "type": "location"
            },
            {
                "tag": "30-40K",
                "type": "salary"
            },
            {
                "tag": "中共党员",
                "type": "political_status"
            },
            {
                "tag": "30-35岁",
                "type": "age"
            },
            {
                "tag": "性别不限",
                "type": "gender"
            }
        ],
        "education": [{
                "tag": "本科",
                "type": "degree"
            },
            {
                "tag": "海外留学经历",
                "type": "abroad"
            },
            {
                "tag": "计算机相关专业",
                "type": "major"
            },
            {
                "tag": "985院校",
                "type": "school_level"
            },
            {
                "tag": "211院校",
                "type": "school_level"
            },
            {
                "tag": "期刊论文",
                "type": "publication"
            }
        ],
        "professional": [{
                "tag": "互联网-后端开发-算法",
                "type": "standard_title"
            },
            {
                "tag": "机器学习工程师",
                "type": "job_title"
            },
            {
                "tag": "互联网行业",
                "type": "industry"
            },
            {
                "tag": "管理职位经验",
                "type": "management"
            }
        ],
        "skills": [{
                "tag": "Hadoop",
                "type": "professional_skill",
                "subclass": "大数据"
            },
            {
                "tag": "HBase",
                "type": "professional_skill",
                "subclass": "大数据"
            },
            {
                "tag": "NLP",
                "type": "professional_skill",
                "subclass": "机器学习"
            },
            {
                "tag": "Spark",
                "type": "professional_skill",
                "subclass": "大数据"
            },
            {
                "tag": "Storm",
                "type": "professional_skill",
                "subclass": "大数据"
            },
            {
                "tag": "Python",
                "type": "professional_skill",
                "subclass": "后端开发"
            },
            {
                "tag": "C++",
                "type": "professional_skill",
                "subclass": "后端开发"
            },
            {
                "tag": "逻辑思维",
                "type": "soft_skill",
                "subclass": "软性技能"
            },
            {
                "tag": "沟通能力",
                "type": "soft_skill",
                "subclass": "软性技能"
            },
            {
                "tag": "文字表达能力",
                "type": "soft_skill",
                "subclass": "软性技能"
            },
            {
                "tag": "专研精神",
                "type": "soft_skill",
                "subclass": "软性技能"
            }
        ],
        "others": [{
                "tag": "英语六级",
                "type": "certificate"
            },
            {
                "tag": "托福",
                "type": "certificate"
            },
            {
                "tag": "会计师证",
                "type": "certificate"
            },
            {
                "tag": "日语",
                "type": "language",
                "level": "熟练"
            },
            {
                "tag": "英语",
                "type": "language",
                "level": "熟练"
            },
            {
                "tag": "本科生奖学金",
                "type": "award"
            },
            {
                "tag": "五险一金",
                "type": "benefit"
            },
            {
                "tag": "免费下午茶",
                "type": "benefit"
            },
            {
                "tag": "世界五百强",
                "type": "company_class"
            },
            {
                "tag": "行业龙头",
                "type": "company_class"
            }
        ]
    }
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python3

    This code requires pip install requests to be installed.

    Parsing positions

    # python3.x
    # _*_ coding:utf-8 _*_
    import sys
    import importlib
    import requests
    import base64
    
    # 注:需要安装requests模块
    
    import json
    import requests
    
    def parse_jd(jd, title=''):
        body = {}
        body['job'] = {"description": jd, "job_title": title}
        headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
        }
        url = "https://api.xiaoxizn.com/v1/peipei/parse_jd"
        result = requests.post(url, json=body, headers=headers)
        return result
    
    if __name__ == "__main__":
        txt = """任职要求:
    
        1、本科及以上学历,计算机、通信、电子、自动化等相关专业
    
        2、一年以上机器视觉与图像处理行业项目开发经验,具有全国计算机二级证书
    
        3、熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具
    
        4、精通C++/C#编程语言
    
        5、对图像识别算法有深刻理解及应用经验优先
    
        6、具有强的协调沟通能力、分析解决问题能力及团队合作精神
    
        7、熟悉神经网络、支持向量机、深度学习等优先考虑
        2、 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;
        """
        result = parse_jd(txt, title="算法工程师").json()['parsing_result']
        print(json.dumps(result, indent=4, ensure_ascii=False))
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    80 Server internal error

    Job Database

    Interface description

    Insert original position

    Send unparsed original job information, and the system will parse the job content and store it in the job database.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    job.job_title Yes The job title.
    job.description Yes Job description.
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    tags Array[String] No Job tags, used to search for positions. Default is empty

    Example of request content structure:

    {
        "job": {
            "job_title": "机器学习工程师",
            "description": "1、计算机或相关专业,大学本科及以上学历;
                            2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法;
                            3、熟悉java、Python等流行编程语言,熟悉tf、pytorch等框架,编程能力强。
                            4、对大数据相关工具 Hadoop,Spark,Storm,Hbase等有实际使用经验;
                            5、有搜索、推荐或广告等行业背景优先。
                            6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。
                            "
        },
        "folder_name": "default-folder",
        "tags": ["招聘中"]
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the position is successfully inserted, it will be 0 Int
    errormessage Error message Error message String
    job_id Job ID The unique ID of each position in the job database String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "job_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
    }
    

    Insert parsed position (local)

    This API is only available for local deployment. Send the parsed initial job information and store it directly in the job database.

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    parsing_result Object Yes Parsed position information.
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    tags Array[String] No Job tags, used to search for positions. Default is empty

    Example of request content structure:

    {
        "parsing_result": 岗位格式,
        "folder_name": "default-folder",
        "tags": ["招聘中"]
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the position is successfully inserted, it will be 0 Int
    errormessage Error message Error message String
    job_id Job ID The unique ID of each position in the job database String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "job_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
    }
    

    Delete position

    Delete positions from the candidate-job matching database based on position ID.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the position is successfully deleted, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Update position (local)

    This API is for local deployment only. Update job content based on job ID.

    Request instructions

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    parsing_result Object No Parsed position information.
    folder_name String No The name of the target folder, useful for quick searches.
    tags Array[String] No Job tags, used to search for positions.

    Example of request content structure:

    {
        "parsing_result": 岗位格式,
        "folder_name": "default-folder",
        "tags": ["招聘中"]
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the position is updated successfully, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    List all positions

    Returns all jobs in our database. By default, the top 20 jobs are returned without any filtering.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request query description (query)

    Parameter Parameter type Required Description
    folder_name String No Target folder name, can be used for quick search, default is default-folder.
    tag String No Returns the positions for a specific tag.
    offset Int No Query the starting position. Default is 0, range is 0-10000
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_RESULT_MAX_RETURN parameter

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the position is successfully listed, it will be 0 Int
    errormessage Error message Error message String
    hits Number of positions The total number of positions in the corresponding target position database Int
    jobs List positions Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 200,
        "jobs": [{
            "job_id": "090a53f943431f51e9902a7851fce7eb",
            "folder_name": "default-folder",
            "tags": ["招聘中"],
            "parsing_result": {...}
        }]
    }
    

    Create database (local)

    This API is for local deployment only. Create database Index.

    Request description

    Request header field description (header)

    Request content description (body)

    Parameter Parameter type Required Description
    index String No Search the index name of the database, the default is resumes

    Example of request content structure:

    {
        "index": "resumes"
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the creation is successful, it will be 0 Int
    errormessage Error message Error message String

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed"
    }
    

    Result list

    Position format overview

    {
        "company_info": {
            "name": "小析智能",
            "industry": "计算机互联网行业",
            "description": "公司有100人,2018年成立,刚通过A轮融资"
        },
        "contact_info": {
            "email": "xxx@xxx.com",
            "phone_number": "88888888",
            "wechat": "XXXXXXXXX"
        },
        "job_info": {
            "job_title": "算法工程师",
            "job_function": "算法",
            "department": "R&D",
            "description": "1、计算机或相关专业,大学本科及以上学历; 2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法;",
            "min_annual_salary": 40000,
            "max_annual_salary": 80000,
            "num_hire": 10,
            "benefits": "创始团队来自国内外名校,拥有多年丰富工作经验;股东方资金实力雄厚,无需融资;业内资源丰富,有良好的金融行业合作关系;公司80%以上为技术人员,氛围和谐简单",
            "address": "北京经济技术开发区荣华中路22号亦城财富中心B座11层",
            "city": "北京",
            "job_type": "社招"
        },
        "job_requirements": {
            "min_degree": "本科",
            "min_age": 20,
            "max_age": 25,
            "gender": "男",
            "school_types": ["985", "211", "海外"],
            "major_types": ["计算机", "电子工程"],
            "certificates": ["计算机二级", "英语6级"],
            "languages": ["英语", "中文"],
            "min_work_exp": 10,
            "industries": ["电商", "广告"],
            "technical_skills": ["java", "python"],
            "soft_skills": ["思维能力", "沟通能力"],
            "political_status": ["团员", "党员"],
            "other_tags": ["自定义标签"]
        }
    }
    

    Company information

    The basic information variable name is company_info and the variable type is object

    Variable name Variable meaning Remarks Field type
    description Description Company description String
    industry Industry Company Industry String
    name Company name Company name String

    Sample example

    "company_info":
    {
        "description": "小析智能云服务平台是广州数说新语科技有限公司旗下平台。小析智能云服务平台提供先进的简历解析和简历挖掘技术解决方案,致力于人力资源行业智能化这一进程。通过技术提升行业工作效率,减少人力资源管理成本;同时帮助招聘和猎头行业更 好地进行内容业务数据处理,提供工作效率。",
        "industry": "人工智能",
        "name": "广州数说新语科技有限公司",
    }
    

    Contact information

    The contact information variable name is contact_info and the variable type is object

    Variable name Variable meaning Remarks Field type
    email Email Qualified email address String
    phone_number Phone Phone number String
    wechat WeChat ID * WeChat number String

    Sample example

    "contact_info":
    {
        "email": "contactme@xiaoxizn.com",
        "phone_number": "18922485376",
        "wechat": "xiaoxi-jk"
    }
    

    Job information

    The educational background variable name is job_info and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    job_title Job title Job title String
    job_function Job function Job function String
    department Department Department where the position is located String
    description Job description Job description String
    salary Salary Salary of position String
    num_hire Number of people recruited Number of people recruited for the position Int
    school_level School level 985 211 String
    benefits Position advantages Position advantages String
    address Position address Position address String
    city City City where the position is located String
    job_type Nature of position Social recruitment/school recruitment/internship String

    Sample example

    "job_info":
    [
        {
            "job_title": "算法工程师",
            "job_function": "算法",
            "department": "R&D",
            "description": "1、计算机或相关专业,大学本科及以上学历; 2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法;",
            "salary": "20000",
            "num_hire": 3,
            "benefits": "创始团队来自国内外名校,拥有多年丰富工作经验;股东方资金实力雄厚,无需融资;业内资源丰富,有良好的金融行业合作关系;公司80%以上为技术人员,氛围和谐简单",
            "address": "广州市天河区天河北路559号",
            "city": "北京",
            "job_type": "社招"
        }
    ]
    

    Job requirements

    The work experience variable name is job_requirements and the variable type is array[object]

    Variable name Variable meaning Remarks Field type
    min_degree Education requirements Minimum education requirements String
    min_age Minimum age Minimum age requirement String
    max_age Maximum age Maximum age String
    gender Gender requirement Gender requirement String
    min_work_exp Work experience requirement Minimum working years requirement Int
    political_status Political identity requirement Political identity requirement String
    school_types School requirements School requirements, 211/985 Array[String]
    major_types Professional requirements Position professional requirements Array[String]
    certificates Certificate requirements Position certificate requirements Array[String]
    languages Language requirements Position language requirements Array[String]
    industries Industry requirements Job industry requirements Array[String]
    technical_skills Technical requirements Position technical requirements Array[String]
    soft_skills Soft skill requirements Position soft skill requirements Array[String]
    tags Custom tags Custom tags Array[String]

    Sample example

    "job_requirements":
    [
        {
            "min_degree": "本科及以上学历",
            "min_age": "20",
            "max_age": "35",
            "gender": "不限",
            "min_work_exp": 10,
            "political_status": "不限",
            "school_types": ["985", "211"],
            "major_types": ["计算机","电子工程"],
            "certificates": ["计算机二级", "英语6级"],
            "languages": ["英语", "中文"],
            "industries": ["电商", "金融"],
            "technical_skills": ["java", "python"],
            "soft_skills": ["思维能力", "沟通能力"],
            "tags": ["自定义标签"]
        }
    ]
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python3

    This code requires pip install requests to be installed.

    Insert position

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def insert_jd(jd, title='',folder_name='default-folder',tags=[]):
        body = {}
        headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
        }
        url = "http://api.xiaoxizn.com/v1/peipei/jobs"
        body['job'] = {"description": jd, "job_title": title}
        body['folder_name'] = folder_name
        body['tags'] = tags
        result = requests.post(url, json=body, headers=headers)
        return result
    
    if __name__ == "__main__":
        jd = """
        1、本科及以上学历,计算机、通信、电子、自动化等相关专业
    
        2、一年以上机器视觉与图像处理行业项目开发经验,具有全国计算机二级证书
    
        3、熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具
    
        4、精通C++/C#编程语言
    
        5、对图像识别算法有深刻理解及应用经验优先
    
        6、具有强的协调沟通能力、分析解决问题能力及团队合作精神
    
        7、熟悉神经网络、支持向量机、深度学习等优先考虑
        2、 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;
        """#替换为您的职位
    
        result = insert_jd(jd , title="算法工程师").json()
        print(result)
    

    Insert parsing position

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    import base64
    
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    
    def insert_jd():
        headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
        }
        url = "http://api.xiaoxizn.com/v1/peipei/jobs/json"
        json = {
            "parsing_result": {
                "company_info": {
                    "name": "小析智能 ",
                    "industry": "",
                    "description": ""
                },
                "job_info": {
                    "job_title": "搜索算法专家",
                    "job_function": "IT/互联网-后端开发-算法",
                    "department": "",
                    "description": " 百度科技 搜索算法专家 40k-70k /北京 / 经验5-10年 / 本科及以上 / 全职 搜索NLP 08:03 发布于拉勾网 完善在线简历 上传附件简历 搜索算法专家 / 40k-70k 收藏 投个简历 职位诱惑: 五险一金;自带电脑有补贴;5-10天年假 职位描述: 工作职责: 1、负责公司搜索算法重构和优化工作,参与搜索框架设计与性能优化; 2、负责搜索意图识别优化,对query进行模型纠错、概率扩展、规范化改写并对意图识别有效性进行评估,对少结果无结果进行效果优化; 3、负责上位词、下位词、实体词挖掘并建立品牌、地址、类目、关键词词典。 4、 负责对商品进行匹配、分类、聚类,生成商品标签、推荐语等; 5、 参与ES索引性能优化 岗位要求: 1、计算机或相关专业,大学本科及以上学历; 2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法; 3、熟悉java、Python等流行编程语言,熟悉tf、pytorch等框架,编程能力强。 4、对大数据相关工具 Hadoop,Spark,Storm,Hbase等有实际使用经验; 5、有搜索、推荐或广告等行业背景优先。 6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。 工作地址 北京 - 大兴区 - 亦庄 - 北京经济技术开发区荣华中路22号亦城财富中心B座11层",
                    "min_annual_salary": "40k",
                    "max_annual_salary": "70k",
                    "num_hire": "",
                    "benefits": "",
                    "address": "北京 - 大兴区 - 亦庄 - 北京经济技术开发区荣华中路22号亦城财富中心B座11层 ",
                    "city": "北京",
                    "job_type": ""
                },
                "job_requirements": {
                    "min_degree": "本科及以上 大学本科及以上学历 ",
                    "min_age": 0,
                    "max_age": 100,
                    "gender": "不限",
                    "school_types": ["985", "211", "海外"],
                    "major_types": ["计算机", "电子工程"],
                    "certificates": ["计算机二级", "英语6级"],
                    "languages": ["英语", "中文"],
                    "min_work_exp": "5",
                    "industries": ["电商", "广告"],
                    "political_status": ["团员", "党员"],
                    "technical_skills": [
                        "opencv",
                        "c++",
                        "c#编程语言",
                        "深度学习",
                        "图像处理算法",
                        "halcon",
                        "视觉算法",
                        "机器学习算法",
                        "tensorflow",
                        "深度学习框架",
                        "caffe",
                        "招聘",
                        "机器视觉",
                        "图像处理",
                        "项目开发",
                        "图像识别算法",
                        "神经网络",
                        "支持向量机",
                        "项目管理"
                    ],
                    "soft_skills": [
                        "沟通能力",
                        "团队合作"
                    ],
                    "other_tags": [
                        {
                            "tag": "英语",
                            "level": "熟练",
                            "type": "language"
                        },
                        {
                            "tag": "计算机二级证书",
                            "type": "certificate"
                        },
                        {
                            "tag": "英语六级",
                            "type": "certificate"
                        }
                    ]
                },
                "contact_info": {
                    "email": "",
                    "phone_number": "",
                    "wechat": ""
                }
            },
            "folder_name": "default-folder",
            "tags": ["招聘中"]
        }
        result = requests.post(url, headers=headers, json=json, timeout=15, verify=False)
        return result.text
    
    if __name__ == "__main__":
      result=insert_jd()
      print(result)
    

    Delete position

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    
    importlib.reload(sys)
    
    # 注:需要安装requests模块
    
    def main():
        job_id = ""# 请替换成您想删除的job_id
        print(cv_api(job_id))
    
    
    def cv_api(job_id):
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        # 如您要删除的job_id是12345,则请求路径为 http://api.xiaoxizn.com/v1/peipei/resumes/12345
        url = "http://api.xiaoxizn.com/v1/peipei/jobs/%s" % (job_id)
        result = requests.delete(url, headers=headers)
        return result.text
    
    if __name__ == "__main__":
        main()
    

    Filter all positions

    # python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    import importlib
    import requests
    importlib.reload(sys)
    
    
    # 注:需要安装requests模块
    
    def main():
        print(list_api())
    
    def list_api():
        url = "http://api.xiaoxizn.com/v1/peipei/jobs"
        headers = {
            'id': 'your_client_id',  # 替换为您的ID
            'secret': 'your_client_secret'  # 替换为您的密匙
        }
        result = requests.get(url, headers=headers, timeout=15, verify=False).json()
        return result
    
    
    if __name__ == "__main__":
        main()
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Resolution service expired
    12 File size exceeds 2M
    13 Concurrency limit per second exceeded
    20 secret_key error
    30 API server internal error
    70 Required field does not exist
    71 Header field error
    72 The filter parameters do not meet the requirements
    80 Resume parsing server internal error
    81 English server internal error
    90 This file format is not supported
    91 Image file parsing is not supported
    92 The document is not a real resume
    93 English resume parsing is not supported

    Knowledge Graph

    Interface description

    The current knowledge graph contains the following entities:

    Entity type Description
    company company
    job_title Position name
    standard_job_title Standard function name
    university school
    school College/department within a university
    major professional
    skill Skills
    industry Industry

    Company search

    Used to search for corresponding company entities through company-related information. You can enter any company's full name, company abbreviation, product name, etc. Returns the corresponding entity ID, company name, industry, location, logo and other basic information, including the search score.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/companies?keyword=阿里巴巴
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of companies Total number of matching companies in the company database Int
    companies Company list Please refer to Company search result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "companies": [
            {...},
            {...},
            {...}
        ]
    }
    

    Company auto-completion

    It is used to complete the company name through part of the company name prefix when the search input is incomplete, and can identify the company name, company abbreviation, product name, etc. Compared with search, the completion interface is used to predict the user's search target company in real time while the user is typing. Therefore, the matching conditions are more relaxed than the search and only basic information such as company name and entity ID is returned.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/companies?keyword=阿里巴巴
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of companies Total number of matching companies in the company database Int
    companies Company list Please refer to Company auto-complete result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "companies": [
            {...},
            {...},
            {...}
        ]
    }
    

    Company entity alignment

    Based on the information entered by the user, the company entities are aligned through the full company name, company abbreviation, product name, etc. Entity alignment that can be applied to company names in resume parsing results. The interface returns relatively complete company information.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    https://api.xiaoxizn.com/v1/kg/augment/company?keyword=阿里巴巴
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    company Company details Please refer to Company Entity Alignment Result Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "company": {...}
    }
    

    Company details

    Query company specific details by company entity ID. Returns complete company information in the knowledge graph database.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    company Company details Please refer to Company details results Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "company": {...}
    }
    

    Company statistics

    Query company data statistics by company entity ID. Returns the complete corresponding statistical information in the knowledge graph database.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    stats Company statistics Please refer to Company statistics results Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "stats": {...}
    }
    

    School Search

    Used to search for corresponding school entities through school-related information. You can enter the full name of any school, the abbreviation of the school, etc. Returns the corresponding entity ID, school name, location, logo and other basic information, including the search score.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/universities?keyword=北京大学
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of schools Total number of hits in the school database Int
    universities School list Please refer to school search result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "universities": [
            {...},
            {...},
            {...}
        ]
    }
    

    School auto-completion

    It is used to complete the school name with partial study name prefixes when the search input is incomplete, and can identify the full name of the school, the abbreviation of the school, etc. Compared with search, the completion interface is used to predict the target school that the user is searching for in real time while the user is typing. Therefore, the matching conditions are more relaxed than the search and only basic information such as school name and entity ID is returned.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/universities?keyword=北京大学
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of schools Total number of hits in the school database Int
    universities School list Please refer to School auto-complete result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "universities": [
            {...},
            {...},
            {...}
        ]
    }
    

    School entity alignment

    According to the information entered by the user, align the school entities through the full name of the school, the abbreviation of the school, etc. Entity alignment that can be applied to school names in resume parsing results. The interface returns relatively complete school information.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    https://api.xiaoxizn.com/v1/kg/augment/university?keyword=北京大学
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    university School details Please refer to School Entity Alignment Result Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "university": {...}
    }
    

    School details

    Query the specific details of the school through the school entity ID. Return the complete school information in the knowledge graph database.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    university School details Please refer to School details results Object

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "university": {...}
    }
    

    Professional auto-completion

    Enter any professional keywords, etc., and the professional name will be automatically completed.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/majors?keyword=金融
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of majors Total number of major matches in the major library Int
    majors Professional list Please refer to Professional auto-complete result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "majors": [
            {...},
            {...},
            {...}
        ]
    }
    

    College auto-completion

    Enter any college keywords, etc., and the college name will be automatically completed.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/colleges?keyword=数学
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of colleges Total number of hits for colleges in the college library Int
    colleges College list Please refer to College auto-complete result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "colleges": [
            {...},
            {...},
            {...}
        ]
    }
    

    Job title auto-completion

    Enter any job title keywords and the job title will be automatically completed.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/job_titles?keyword=北京大学
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of job names Total number of matching job names in the job name database Int
    job_titles Job title list Please refer to Job title automatic completion result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "job_titles": [
            {...},
            {...},
            {...}
        ]
    }
    

    Skill auto-completion

    Enter any skill keyword and the skill name will be automatically completed.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    limit Int No The quantity returned by the query. Default is 10
    offset Int No The amount to skip as offset.
    https://api.xiaoxizn.com/v1/kg/suggester/skills?keyword=python
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code 0 if parsing is successful Int
    errormessage Error message Parsing error message String
    hits Total number of skills Total matching number of skills in the skill library Int
    skills Skills list Please refer to Skills auto-complete result list Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "skills": [
            {...},
            {...},
            {...}
        ]
    }
    

    Entity alignment query

    Enter any name, and the algorithm performs an alignment search and returns the best matching standard entity name and entity type.

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Parameter description (parameters)

    Parameter Parameter type Required Description
    keyword String Yes Search keyword
    type String No The type of the target entity, currently supports skill, job_title, standard_job_title, major, school. If not entered, the algorithm will automatically infer the entity type
    https://api.xiaoxizn.com/v1/kg/entities?keyword=python
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits The total number of matching entities The number of matching entities in the knowledge graph Int
    entities List of matching entities Please refer to Knowledge Graph Linked Entities Array[Object]

    Sample example

    {
        "errormessage": "succeed",
        "errorcode": 0,
        "hits": 234,
        "entities": [
            {...},
            {...},
            {...}
        ]
    }
    

    Sends the entity name and target entity type, and returns the most closely connected entity of the specified type. Here are some examples that may answer the question:

    What skills are most important for an algorithm engineer?

    What major do JAVA engineers generally graduate from?

    What types of jobs are suitable for graduates in applied mathematics?

    What are the common job titles under the back-end development function?

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    entity.entity_name String Yes The name of the entity that needs to be queried
    entity.target_entity_type String Yes The type of the target entity. Currently, job_title, standard_job_title, skill, major, all are supported as target queries. all means there is no limit to the type of returned entity
    entity.src_entity_type String No Enter the name of the entity. Currently, job_title, standard_job_title, major, skill are supported
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_KG_RESULT_MAX_RETURN parameter

    Example of request content structure:

    {
        "entity": {
            "entity_name": "机器学习工程师",
            "target_entity_type": "skill",
            "src_entity_type": "job_title"
        },
        "offset": 1,
        "limit": 100
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Returns the number of entities The total number of resume matches in the resume database Int
    src_entity_type Input entity type If the user enters the entity type, the user input shall prevail, otherwise the algorithm will automatically perform type judgment Int
    entities Matching entities Please refer to Knowledge Graph Entity Result List Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 10,
        "src_entity_type": "job_title",
        "entities": [...]
    }
    

    Similar query for entities of the same category

    Send the entity name and entity type and return the most similar entity information of the same type. Here are some examples that may answer the question:

    What related skills do you need to master while mastering JAVA?

    What are the subdivided directions for algorithm engineers?

    Are there any similar institutions to Fudan University?

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    entity.entity_name String Yes The name of the entity that needs to be queried
    entity.src_entity_type String No Enter the type of entity. Currently, job_title, skill, major, school are supported. If not entered, the algorithm will automatically determine the type
    offset Int No Query the starting position. Default is 0, range is 0-10000.
    limit Int No The quantity returned by the query. The default is 20, and the range is 1-1000. Local deployment users can modify it through the configuration file ES_KG_RESULT_MAX_RETURN parameter

    Example of request content structure:

    {
        "entity": {
            "entity_name": "机器学习工程师",
            "src_entity_type": "job_title"
        },
        "offset": 0,
        "limit": 10
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    hits Returns the number of entities The total number of resume matches in the resume database Int
    src_entity_type Input entity type If the user enters the entity type, the user input shall prevail, otherwise the algorithm will automatically perform type judgment Int
    entities Matching entities Please refer to Knowledge Graph Entity Result List Array[Object]

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "hits": 10,
        "src_entity_type": "job_title",
        "entities": [...]
    }
    

    Calculation of similarity score of two entities

    Send two entity information and return the similarity score. Here are some examples that may answer the question:

    How similar are the skills of SQL and JAVA? How critical is PYTHON for machine learning engineers?

    Request description

    Request header field description (header)

    Header field parameters Field type Required Description
    id String Yes User ID
    secret String Yes User secret

    Request content description (body)

    Parameter Parameter type Required Description
    entity_first.entity_name String Yes The name of the entity that needs to be queried
    entity_first.src_entity_type String No Enter the type of entity. Currently, job_title, skill, major, school are supported. If not entered, the algorithm will automatically judge the type
    entity_second.entity_name String Yes The name of the entity that needs to be queried
    entity_second.src_entity_type String No Enter the type of entity. Currently, job_title, skill, major, school are supported. If not entered, the algorithm will automatically judge the type

    Example of request content structure:

    {
        "entity_first": {
            "entity_name": "机器学习工程师",
            "src_entity_type": "job_title"
        },
          "entity_second": {
            "entity_name": "神经网络",
            "src_entity_type": "skill"
        },
    }
    

    Return result description

    Variable name Variable meaning Remarks Field type
    errorcode Error code Please refer to Error code summary, if the match is successful, it will be 0 Int
    errormessage Error message Error message String
    score Relevance score Score from 0-1 Double

    Sample example

    {
        "errorcode": 0,
        "errormessage": "succeed",
        "score": 0.823423
    }
    

    Result list

    Variable name Variable meaning Remarks Field type
    entity_id Company entity ID Company entity ID String
    company_name Full company name Full registered company name String
    regist_base_name Company base name The base name in the company's full registered name String
    company_abbr_name Company abbreviation Company abbreviation String
    country Country Company country String
    city City Company city String
    company_type Company type Company type String
    founded_date Establishment time Company establishment time String
    industry Industry Company industry String
    sub_industry Sub-industry Sub-industry of the company String
    company_stage Company stage Current stage of the company String
    logo_url Company logo Company logo String
    score Search score Search score (the higher the score, the better the match) Double

    Sample example

    "companies": [
        {
            "entity_id": "--sibrLosochoW1w"
            "company_name": "深圳市腾讯计算机系统有限公司",
            "regist_base_name": "腾讯",
            "company_abbr_name": "腾讯科技",
            "country": "中国",
            "city": "深圳",
            "company_type": "民企",
            "founded_date": "1998-11-11",
            "industry": "IT/互联网",
            "sub_industry": "社交网络",
            "company_stage": "已上市",
            "logo_url": "https://img.xiaoxizn.com/static/company/logo/--sibrLosochoW1w.jpg",
            "score": 228.068,
        },
        {
            "entity_id": "bSKLfrq31ZPdJ6Bu",
            "company_name": "深圳市腾讯网域计算机网络有限公司",
            "regist_base_name": "腾讯网域",
            "company_abbr_name": "腾讯网域",
            "country": "中国",
            "city": "深圳",
            "company_type": "民企",
            "founded_date": "1997-4-28",
            "industry": "IT/互联网",
            "sub_industry": "游戏",
            "company_stage": "未融资",
            "logo_url": "https://img.xiaoxizn.com/static/company/logo/bSKLfrq31ZPdJ6Bu.jpg",
            "score": 168.57733,
            }
    ]
    

    Company auto-completion

    Variable name Variable meaning Remarks Field type
    company_abbr_name Company abbreviation Company abbreviation String
    company_name Full company name Full registered company name String
    entity_id Company entity ID Company entity ID String
    logo_url Company logo link Company logo String
    regist_base_name Company base name The base name in the company's full registered name String

    Sample example

    "companies": [
          {
              "company_abbr_name": "腾讯科技",
              "company_name": "深圳市腾讯计算机系统有限公司",
              "entity_id": "--sibrLosochoW1w",
              "logo_url": "https://img.xiaoxizn.com/static/company/logo/--sibrLosochoW1w.jpg",
              "regist_base_name": "腾讯"
          },
          {
              "company_abbr_name": "易搜信息",
              "company_name": "济南易搜信息科技有限公司",
              "entity_id": "2JdNiKetSZ_afqXv",
              "logo_url": "https://img.xiaoxizn.com/static/company/logo/2JdNiKetSZ_afqXv.jpg",
              "regist_base_name": "易搜"
          },
          {
              "company_abbr_name": "讯腾智科",
              "company_name": "北京讯腾智慧科技股份有限公司",
              "entity_id": "6U3KLiHUBiHB4tk-",
              "logo_url": "https://img.xiaoxizn.com/static/company/logo/6U3KLiHUBiHB4tk-.jpg",
              "regist_base_name": "讯腾"
          },
          {
              "company_abbr_name": "讯腾鹰巡",
              "company_name": "北京讯腾鹰巡时代信息技术有限公司",
              "entity_id": "oHH9qAdbtmdOa6gT",
              "logo_url": "https://img.xiaoxizn.com/static/company/logo/oHH9qAdbtmdOa6gT.jpg",
              "regist_base_name": "讯腾鹰巡时代"
          }
    ]
    

    Company entity alignment

    Variable name Variable meaning Remarks Field type
    entity_id Company entity ID Company entity ID String
    company_name Full company name Full registered company name String
    regist_base_name Company base name The base name in the company's full registered name String
    regist_industry The company's basic industry The basic industry in the company's full registered name Array[String]
    regist_location Company base city Base city in company registration full name String
    regist_company_type Company base type Base type in company registration full name String
    company_abbr_name Company abbreviation Company abbreviation String
    country Country Company country String
    city City Company city String
    investment_category Company capital type Company capital type String
    company_type Company type Company type String
    founded_date Establishment time Company establishment time String
    industry Industry Company industry String
    sub_industry Sub-industry Sub-industry of the company String
    company_stage Company stage Current stage of the company String
    logo_url Company logo Company logo String
    general_tags Company tag list Company tag list Array[String]
    description Company introduction Company introduction String

    Sample example

    "company": {
        "entity_id": "HRhC5_2K3zCcNe3_",
        "company_name": "百度(中国)有限公司",
        "regist_base_name": "百度",
        "regist_industry": [
            "科技",
            "搜索"
        ],
        "regist_location": "北京",
        "regist_company_type": "有限公司",
        "company_abbr_name": "百度",
        "country": "中国",
        "city": "北京",
        "investment_category": "国内",
        "company_type": "民企",
        "founded_date": "2000",
        "industry": "商业服务",
        "sub_industry": "B2D开发者服务",
        "company_stage": "已上市",
        "logo_url": "https://img.xiaoxizn.com/static/company/logo/HRhC5_2K3zCcNe3_.jpg",
        "general_tags": [
            "硬件",
            "科技",
            "移动互联网",
            "综合",
            "综合视频网站",
            "网络文学",
            "视频",
            "视频广告",
            "视频网站",
            "金融",
            "阅读",
            "风投"
        ],
        "description": "百度,全球最大的中文搜索引擎、最大的中文网站。2000年1月创立于北京中关村。    1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于2000年1月1日在中关村创建了百度公司。从最初的不足10人发展至今,员工人数超过17000人。如今的百度,已成为中国最受欢迎、影响力最大的中文网站。百度拥有数千名研发工程师,这是中国乃至全球最为优秀的技术团队,这支队伍掌握着世界上最为先进的搜索引擎技术,使百度成为中国掌握世界尖端科学核心技术的中国高科技企业,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。    从创立之初,百度便将“让人们最便捷地获取信息,找到所求”作为自己的使命,成立以来,公司秉承“以用户为导向”的理念,不断坚持技术创新,致力于为用户提供“简单,可依赖”的互联网搜索产品及服务,其中包括:以网络搜索为主的功能性搜索,以贴吧为主的社区搜索,针对各区域、行业所需的垂直搜索,Mp3搜索,以及门户频道、IM等,全面覆盖了中文网络世界所有的搜索需求,根据第三方权威数据,百度在中国的搜索份额超过80%。    在面对用户的搜索产品不断丰富的同时,百度还创新性地推出了基于搜索的营销推广服务,并成为最受企业青睐的互联网营销推广平台。目前,中国已有数十万家企业使用了百度的搜索推广服务,不断提升着企业自身的品牌及运营效率。通过持续的商业模式创新,百度正进一步带动整个互联网行业和中小企业的经济增长,推动社会经济的发展和转型。    为推动中国数百万中小网站的发展,百度借助超大流量的平台优势,联合所有优质的各类网站,建立了世界上最大的网络联盟,使各类企业的搜索推广、品牌营销的价值、覆盖面均大面积提升。与此同时,各网站也在联盟大家庭的互助下,获得最大的生存与发展机会。作为国内的一家知名企业,百度也一直秉承“弥合信息鸿沟,共享知识社会”的责任理念,坚持履行企业公民的社会责任。成立来,百度利用自身优势积极投身公益事业,先后投入巨大资源,为盲人、少儿、老年人群体打造专门的搜索产品,解决了特殊群体上网难问题,极大地弥补了社会信息鸿沟问题。此外,在加速推动中国信息化进程、净化网络环境、搜索引擎教育及提升大学生就业率等方面,百度也一直走在行业领先的地位。2011年初,百度还特别成立了百度基金会,围绕知识教育、环境保护、灾难救助等领域,更加系统规范地管理和践行公益事业。    2005年,百度在美国纳斯达克上市,一举打破首日涨幅最高等多项纪录,并成为首家进入纳斯达克成分股的中国公司。通过数年来的市场表现,百度优异的业绩与值得依赖的回报,使之成为中国企业价值的代表,傲然屹立于全球资本市场。2009年,百度更是推出全新的框计算技术概念,并基于此理念推出百度开放平台,帮助更多优秀的第三方开发者利用互联网平台自主创新、自主创业,在大幅提升网民互联网使用体验的同时,带动起围绕用户需求进行研发的产业创新热潮,对中国互联网产业的升级和发展产生巨大的拉动效应。    今天,百度已经成为中国最具价值的品牌之一,英国《金融时报》将百度列为“中国十大世界级品牌”,成为这个榜单中最年轻的一家公司,也是唯一一家互联网公司。而“亚洲最受尊敬企业”、“全球最具创新力企业”、“中国互联网力量之星”等一系列荣誉称号的获得,也无一不向外界展示着百度成立数年来的成就。    多年来,百度董事长兼CEO李彦宏,率领百度人所形成的“简单可依赖”的核心文化,深深地植根于百度。这是一个充满朝气、求实坦诚的公司,以搜索改变生活,推动人类的文明与进步,促进中国经济的发展为己任,正朝着更为远大的目标而迈进。",
    }
    

    Company details

    Variable name Variable meaning Remarks Field type
    entity_id Company entity ID Company entity ID String
    company_name Full company name Full registered company name String
    regist_base_name Company base name The base name in the company's full registered name String
    regist_industry The company's basic industry The basic industry in the company's full registered name Array[String]
    regist_location Company base city Base city in company registration full name String
    regist_company_type Company base type Base type in company registration full name String
    company_abbr_name Company abbreviation Company abbreviation String
    company_abbr_names List of company abbreviations List of company abbreviations Array[String]
    company_alias Company alias list Company alias list Array[String]
    company_name_eng Company English name Company English name String
    country Country Company country String
    city City Company city String
    investment_category Company capital type Company capital type String
    company_size_upper Company size (maximum) Company size (maximum) Int
    company_size_lower Company size (minimum) Company size (maximum) Int
    company_type Company type Company type String
    founded_date Establishment time Company establishment time String
    industry Industry Company industry String
    industry_id Industry ID Company industry ID Int
    sub_industry Sub-industry Sub-industry of the company String
    company_stage Company stage Current stage of the company String
    logo_url Company logo Company logo String
    general_tags Company tag list Company tag list Array[String]
    important_tags Priority company tag list Priority company tag list Array[String]
    description Company introduction Company introduction String
    company_url Company official website Company official website link String
    products Company product list Company product list Array[String]
    updated_time Update time Data last updated time String
    events Company events Company event information Array[Object]
    events.date Company event time Company event time Object
    events.date.event_date Time date String
    events.date.event_year Event year String
    events.date.event_month Event month String
    events.date.event_day Event day String
    events.meta Company event content Company event content information Object
    events.meta.event_name Event name String
    events.meta.event_url Event name String
    events.meta.finance_stage Financing stage String
    events.meta.investment_amount Investment amount String
    events.meta.partner Event object String
    events.meta.event_type Event type String
    people Company executives Company executive information Array[Object]
    people.name Name of company executive String
    people.personal_profile Company executive experience String
    people.title Company executive position String

    Sample example

    "company": {
            "city": "北京",
            "company_abbr_name": "美团",
            "company_abbr_names": [
                "三快科技"
            ],
            "company_alias": [
                "美团点评",
                "北京三快科技有限公司",
                "beijing science and technology co.,three fast",
                "美团"
            ],
            "company_name": "北京三快科技有限公司",
            "company_name_eng": "Beijing Science And Technology Co.,Three Fast",
            "company_size_lower": 1000,
            "company_size_upper": 9999,
            "company_stage": "已上市",
            "company_type": "民企",
            "company_url": "http://sh.meituan.com",
            "country": "中国",
            "description": "美团的使命是“帮大家吃得更好,生活更好”。公司作为生活服务电子商务平台,拥有美团、大众点评、美团外卖等消费者熟知的App,服务涵盖餐饮、外卖、打车、共享单车、酒店旅游、电影、休闲娱乐等200多个品类,业务覆盖全国2800个县区市。截至2020年6月30日止十二个月,美团年度交易用户总数达4.6亿,平台活跃商户总数达630万。 \n2018年9月20日,美团(股票代码:3690.HK)正式在港交所挂牌上市。 截至2020年10月19日,市值超过1900亿美元,位列中国上市互联网公司第3名,全球第8名。\n当前,美团战略聚焦 Food +Platform,正以“吃”为核心,建设生活服务业从需求侧到供给侧的多层次科技服务平台。与此同时,美团正着力将自己建设成为一家社会企业,希望通过和党政部门、高校及研究院所、主流媒体、公益组织、生态伙伴等的深入合作,构建智慧城市,共创美好生活。",
            "entity_id": "brand_P5uIfx4csuAQ4ocV",
            "events": [
                {
                    "date": {
                        "event_date": "2018-09-20",
                        "event_day": "20",
                        "event_month": "09",
                        "event_year": "2018"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "IPO",
                        "investment_amount": "331.39亿港元",
                        "partner": "",
                        "event_type": "上市"
                    }
                },
                {
                    "date": {
                        "event_date": "2018-09-01",
                        "event_day": "01",
                        "event_month": "09",
                        "event_year": "2018"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "PRE-IPO",
                        "investment_amount": "15亿美元",
                        "partner": "加华资本,中国国有企业结构调整基金,腾讯产业共赢基金",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2017-10-19",
                        "event_day": "19",
                        "event_month": "10",
                        "event_year": "2017"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "战略融资",
                        "investment_amount": "40亿美元",
                        "partner": "腾讯产业共赢基金,Coatue Management,Sequoia Capital,挚信资本,GIC新加坡政府投资公司",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2016-07-18",
                        "event_day": "18",
                        "event_month": "07",
                        "event_year": "2016"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "战略融资",
                        "investment_amount": "",
                        "partner": "华润资本",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2016-01-19",
                        "event_day": "19",
                        "event_month": "01",
                        "event_year": "2016"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "E轮",
                        "investment_amount": "33亿美元",
                        "partner": "中金公司,红杉资本中国,今日资本,腾讯产业共赢基金,DST Global,高达投资,Temasek淡马锡,挚信资本,高瓴资本,Ontario Teachers",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2014-12-22",
                        "event_day": "22",
                        "event_month": "12",
                        "event_year": "2014"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "D轮",
                        "investment_amount": "7亿美元",
                        "partner": "",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2014-05-01",
                        "event_day": "01",
                        "event_month": "05",
                        "event_year": "2014"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "C轮",
                        "investment_amount": "3亿美元",
                        "partner": "红杉资本中国,阿里巴巴,General Atlantic泛大西洋投资",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2011-07-01",
                        "event_day": "01",
                        "event_month": "07",
                        "event_year": "2011"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "B轮",
                        "investment_amount": "5000万美元",
                        "partner": "红杉资本中国,北极光创投,阿里巴巴,华登国际",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2010-09-30",
                        "event_day": "30",
                        "event_month": "09",
                        "event_year": "2010"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "A轮",
                        "investment_amount": "1200万美元",
                        "partner": "红杉资本中国",
                        "event_type": "融资"
                    }
                },
                {
                    "date": {
                        "event_date": "2010-03-01",
                        "event_day": "01",
                        "event_month": "03",
                        "event_year": "2010"
                    },
                    "meta": {
                        "event_name": "",
                        "event_url": "",
                        "finance_stage": "",
                        "investment_amount": "",
                        "partner": "源码资本,方正和生投资,和玉资本,盘古创富",
                        "event_type": "融资"
                    }
                }
            ],
            "founded_date": "2007-4-10",
            "general_tags": [
                "b2c",
                "china_internet_100",
                "good_company",
                "internet",
                "ktv",
                "o2o",
                "中小微企业贷",
                "互联网",
                "互联网_100_2017",
                "产业",
                "产业基金",
                "人力",
                "企业",
                "企业服务",
                "众包",
                "优惠",
                "便利店",
                "借贷融资",
                "其他服务业",
                "其他生活服务",
                "创业",
                "协会",
                "商家",
                "团购",
                "团队优秀",
                "图谱",
                "基础设施",
                "外卖",
                "外卖订餐",
                "外卖配送",
                "大数据",
                "婚庆服务",
                "媒体",
                "居民服务业",
                "工具类",
                "平台",
                "开发工具",
                "快捷",
                "批发零售",
                "折扣",
                "拍照",
                "指数",
                "支付",
                "支付终端",
                "数据服务",
                "数据管理平台",
                "数据采集",
                "文娱传媒",
                "新零售",
                "旅行",
                "智能",
                "智能pos机",
                "服务",
                "本地生活",
                "本地生活服务",
                "消费",
                "消费升级",
                "消费生活",
                "消费者服务",
                "港股",
                "点评",
                "物流运输",
                "生活服务",
                "生鲜",
                "电子商务",
                "电影",
                "电影票务",
                "社区",
                "社区服务",
                "社区论坛",
                "科技",
                "移动互联网",
                "移动支付",
                "系统",
                "线上",
                "综合性生活服务",
                "综合性电商",
                "综合零售",
                "美业",
                "美元",
                "美食",
                "美食外卖",
                "订餐",
                "返利",
                "返现",
                "连锁",
                "配送",
                "配送服务",
                "酒店旅游",
                "金融",
                "零售",
                "零售业",
                "风投",
                "餐饮",
                "餐饮o2o服务",
                "餐饮业",
                "餐饮服务"
            ],
            "important_tags": [
                "2017中国互联网前100强"
            ],
            "industry": "互联网",
            "industry_id": 330,
            "investment_category": "国内",
            "logo_url": "https://img.xiaoxizn.com/static/company/logo/brand_P5uIfx4csuAQ4ocV.png",
            "people": [
                {
                    "name": "王兴",
                    "personal_profile": "毕业于清华大学,曾创业立校内网,后被千橡集团收购;创办饭否网、美团网。人人网(原校内网)创始人,饭否网总裁,美团网创始人、原CEO。\n1997年,从龙岩一中保送到清华大学电子工程系无线电专业,2001年毕业于清华大学。\n2003年,放弃美国学业回国创立校内网,2006年被千橡集团收购。\n2007年,创办饭否网。\n2010年,创办团购网站美团网。\n2014年,王兴入围2014年度华人经济领袖。\n2015年10月8日,美团网和大众点评网合并。\n2015年,王兴在财富中文版40岁以下商界精英榜中排名第三。\n2015年11月10日,大众点评官网宣布人事调整,王兴出任大众点评、美团合并后新公司的CEO。\n2016年1月,王兴入围2015中国十大经济年度人物奖。",
                    "title": "CEO"
                },
                {
                    "name": "王慧文",
                    "personal_profile": "王慧文,美团网联合创始人兼副总裁、前人人网联合创始人、来电网创始人、淘房网创始人。王慧文与王兴从两人2004年创办的第一个项目开始,王慧文就跟随着王兴,从校内、饭否、海内、到如今的美团,是王兴创业以来最忠实的伙伴。\n2011年,放弃淘房网,重新回到王兴麾下,加入美团网担任副总裁职务,负责美团网的市场和产品相关工作。",
                    "title": "联合创始人&CTO&高级副总裁"
                },
                {
                    "name": "穆荣均",
                    "personal_profile": "美团的联合创始人兼CTO。负责美团点评的金融服务及公司事务。穆荣均在互联网行业拥有超过10年的管理及经营经验。在共同创办本公司之前,穆先生曾于2005年7月至2007年5月在中国领先的互联网搜索提供商百度公司(纳斯达克代码BIDU)担任高级软件工程师及项目经理。穆荣均亦是专门从事迷你博客的社交媒体公司饭否网(fanfou.com)的联合创始人并于2007年5月至2009年7月担任该公司技术总监。穆荣均于2002年7月获清华大学自动化工程学士学位,并于2005年7月获清华大学计算机科学与技术硕士学位。",
                    "title": "联合创始人&高级副总裁&CPO"
                },
                {
                    "name": "邵珠庆",
                    "personal_profile": "7年互联网行业开发经验;原美团高级技术职位;原酷讯高级技术职位。",
                    "title": "CTO"
                },
                {
                    "name": "沈丽",
                    "personal_profile": "沈丽曾负责百度LBS业务,于2014年9月加入美团,出任高级副总裁。加入美团后沈丽深得王兴赏识,此后不久就负责猫眼电影的全面工作。",
                    "title": "高级副总裁"
                },
                {
                    "name": "夏飞侨",
                    "personal_profile": "夏飞侨,美团点评副总裁。",
                    "title": "副总裁"
                },
                {
                    "name": "郭庆",
                    "personal_profile": "郭庆,美团网副总裁&旅行住宿事业部总经理。",
                    "title": "副总裁"
                },
                {
                    "name": "陈亮",
                    "personal_profile": "陈亮曾经负责美团移动端,随后成为美团酒店负责人。",
                    "title": "高级副总裁"
                },
                {
                    "name": "王莆中",
                    "personal_profile": "王莆中,美团点评高级副总裁,负责美团闪购,之前负责外卖配送。",
                    "title": "高级副总裁"
                },
                {
                    "name": "陈旭东",
                    "personal_profile": "陈旭东,美团点评高级副总裁,负责大零售事业群B2B事业部。毕业于北京大学,同时拥有中欧国际工商学院EMBA,曾先后担任联想集团高级副总裁、中国区总裁、中国及亚太新兴市场总裁、神奇工场CEO、联想移动业务集团总裁及摩托罗拉管理委员会主席等职务。同时,陈旭东还曾担任三胞集团全球执行副总裁,分管全球3C零售和新奇特业务,在零售领域拥有丰富管理经验。",
                    "title": "高级副总裁"
                }
            ],
            "products": [
                "美团闪购",
                "美团智能支付",
                "美团外卖",
                "美团",
                "美团拍店",
                "猫眼电影",
                "松鼠便利",
                "美团小贷"
            ],
            "regist_base_name": "美团",
            "regist_company_type": "有限公司",
            "regist_industry": [
                "科技"
            ],
            "regist_location": "北京",
            "sub_industry": "本地生活",
            "updated_time": "2021-03-22 11:34:45"
        }
    

    Company statistics

    Variable name Variable meaning Remarks Field type
    entity_id Company entity ID Company entity ID String
    company_name Full company name Full registered company name String
    regist_base_name Company base name The base name in the company's full registered name String
    company_abbr_name Company abbreviation Company abbreviation String
    logo_url Company logo Company logo String
    degree_stat Educational qualification statistics Company employee education statistics Array[Object]
    school_stat School statistics Company employee graduation school statistics Array[Object]
    from_company_stat Job-hopping source statistics Company employee job-hopping source statistics Array[Object]
    to_company_stat Job-hopping destination statistics Company employee job-hopping source statistics Array[Object]
    salary_stat Salary statistics Company employee salary statistics Object
    salary_stat.average Average salary Average salary of company employees Int
    salary_stat.compare Salary comparison Salary comparison (city, industry) statistics Array[Object]
    salary_stat.salary Salary distribution Salary distribution statistics Array[Object]

    Sample example

    "stats": {
            "entity_id": "--sibrLosochoW1w",
            "company_name": "深圳市腾讯计算机系统有限公司",
            "regist_base_name": "腾讯",
            "company_abbr_name": "腾讯科技",
            "logo_url": "https://img.xiaoxizn.com/static/company/logo/--sibrLosochoW1w.jpg",
            "degree_stat": [
                {
                    "degree": "本科",
                    "percent": 63.88851952341449
                },
                {
                    "degree": "大专及以下",
                    "percent": 14.30900637662201
                },
                {
                    "degree": "硕士",
                    "percent": 21.230169036301
                },
                {
                    "degree": "博士及以上",
                    "percent": 0.5723050636624955
                }
            ],
            "school_stat": [
                {
                    "logo_id": 347,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/深圳大学.jpg",
                    "name": "深圳大学",
                    "percent": 11.476039006279821
                },
                {
                    "logo_id": 281,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/华中科技大学.jpg",
                    "name": "华中科技大学",
                    "percent": 9.259574343535872
                },
                {
                    "logo_id": 303,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/中山大学.jpg",
                    "name": "中山大学",
                    "percent": 7.5277075733079775
                },
                {
                    "logo_id": 299,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/电子科技大学.jpg",
                    "name": "电子科技大学",
                    "percent": 7.278146088076193
                },
                {
                    "logo_id": 295,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/武汉大学.jpg",
                    "name": "武汉大学",
                    "percent": 7.352537248934878
                },
                {
                    "logo_id": 304,
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/华南理工大学.jpg",
                    "name": "华南理工大学",
                    "percent": 5.971253230765002
                }
            ],
            "from_company_stat": [
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd793.jpg",
                    "name": "华为技术有限公司",
                    "percent": 18.250403884210368
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd7a2.jpg",
                    "name": "北京百度网讯科技有限公司",
                    "percent": 11.03025125028143
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd798.jpg",
                    "name": "阿里巴巴(中国)网络技术有限公司",
                    "percent": 9.834360719519724
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65c28b68d0d154c5334.jpg",
                    "name": "新浪网技术(中国)有限公司",
                    "percent": 7.2024331300188775
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd70d.jpg",
                    "name": "北京搜狐互联网信息服务有限公司",
                    "percent": 7.1868925810884114
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65e28b68d0d154caf80.jpg",
                    "name": "微软(中国)有限公司",
                    "percent": 4.820104810373373
                }
            ],
            "to_company_stat": [
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd790.jpg",
                    "name": "北京京东世纪贸易有限公司",
                    "percent": 14.323192757058232
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd7a2.jpg",
                    "name": "北京百度网讯科技有限公司",
                    "percent": 15.217287033625496
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd798.jpg",
                    "name": "阿里巴巴(中国)网络技术有限公司",
                    "percent": 13.928056868770877
                },
                {
                    "logo_url": "https://img.xiaoxizn.com/static/company_ext/logo/5ceba65f28b68d0d154cd793.jpg",
                    "name": "华为技术有限公司",
                    "percent": 7.139898621275272
                }
            ],
            "salary_stat": {
                "average": 11074,
                "compare": [
                    {
                        "compare_group": "city",
                        "percentile": 45
                    },
                    {
                        "compare_group": "industry",
                        "percentile": 38
                    }
                ],
                "salary": [
                    {
                        "percent": 21.006653042214047,
                        "salary_range": "0-6"
                    },
                    {
                        "percent": 19.5100157037403,
                        "salary_range": "6-10"
                    },
                    {
                        "percent": 9.80373398905488,
                        "salary_range": "10-12"
                    },
                    {
                        "percent": 22.689452763298227,
                        "salary_range": "12-16"
                    },
                    {
                        "percent": 9.67257098221083,
                        "salary_range": "16-20"
                    },
                    {
                        "percent": 9.072082363855342,
                        "salary_range": "20-25"
                    },
                    {
                        "percent": 8.245491155626372,
                        "salary_range": ">25"
                    }
                ]
            },
        }
    
    Variable name Variable meaning Remarks Field type
    entity_id School entity ID School entity ID String
    school_name Chinese name of school Chinese name of school String
    school_abbr_name The Chinese abbreviation of the school The Chinese abbreviation of the school String
    school_name_eng School English name School English name String
    country Country School country String
    logo_url school logo school logo String
    square_logo_url School square logo School square logo String
    score Search score Search score (the higher the score, the better the match) Double

    Sample example

    "universities": [
        {
            "entity_id": "YzQxHRXI",
            "school_name": "北京大学",
            "school_abbr_name": "北大",
            "country": "中国",
            "school_name_eng": "Peking University",
            "logo_url": "https://img.xiaoxizn.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890"
            "square_logo_url": "https://img.xiaoxizn.com/static/unviersity/square_logo/YzQxHRXI.jpg",
            "score": 64.56882,
        },
        {
            "entity_id": "OxuQvlGT",
            "school_name": "北海道大学",
            "school_abbr_name": "北大",
            "country": "日本",
            "school_name_eng": "Hokkaido University  ほっかいどうだいがく",
            "logo_url": null,
            "square_logo_url": "https://img.xiaoxizn.com/static/unviersity/square_logo/OxuQvlGT.jpg",
            "score": 56.451088,
        }
    ]
    

    School auto-completion

    Variable name Variable meaning Remarks Field type
    entity_id School entity ID School entity ID String
    name School abbreviation/full name/nickname School abbreviation/full name/nickname String
    root_name Full name of school Full name of school String

    Sample example

    "universities": [
        {
            "entity_id": "YzQxHRXI",
            "name": "北大",
            "root_name": "北京大学",
        },
        {
            "entity_id": "OxuQvlGT",
            "name": "北大",
            "root_name": "北海道大学",
        },
    ]
    

    School entity alignment

    Variable name Variable meaning Remarks Field type
    entity_id School entity ID School entity ID String
    school_name Chinese name of school Chinese name of school String
    school_abbr_name The Chinese abbreviation of the school The Chinese abbreviation of the school String
    school_name_eng School English name School English name String
    country Country School country String
    province Province Province where the school is located String
    city City City where the school is located String
    school_focus School Type School Type String
    school_level Admission type Admission type (first, second, third, etc.) String
    domestic_ranking Domestic ranking Domestic ranking String
    global_ranking International ranking International ranking String
    founded_date Creation time Creation time String
    school_type School type School type (public/private/private) String
    logo_url school logo school logo String
    square_logo_url School square logo School square logo String

    Sample example

    "university": {
        "entity_id": "YzQxHRXI",
        "school_name": "北京大学",
        "school_abbr_name": "北大",
        "school_name_eng": "Peking University",
        "country": "中国",
        "province": "北京",
        "city": "北京",
        "school_focus": "综合",
        "school_level": "一本",
        "domestic_ranking": 1,
        "global_ranking": 30,
        "founded_date": "1898",
        "school_type": "公办"
        "logo_url": "https://img.xiaoxizn.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890",
        "square_logo_url": "https://img.xiaoxizn.com/static/unviersity/square_logo/YzQxHRXI.jpg",
    }
    

    School details

    Variable name Variable meaning Remarks Field type
    entity_id School entity ID School entity ID String
    school_name Chinese name of school Chinese name of school String
    school_abbr_name The Chinese abbreviation of the school The Chinese abbreviation of the school String
    school_name_eng School English name School English name String
    school_abbr_name_eng The English abbreviation of the school The English abbreviation of the school String
    school_alias_names School alias list School alias list Array[String]
    school_abbr_names List of school abbreviations List of school abbreviations Array[String]
    country Country School country String
    province Province Province where the school is located String
    city City City where the school is located String
    managed_department Governing agency Governing agency String
    school_level Admission type Admission type (first, second, third, etc.) String
    school_url School website School website String
    domestic_ranking Domestic ranking Domestic ranking String
    global_ranking International ranking International ranking String
    founded_date Creation time Creation time String
    school_type School type School type (public/private/private) String
    departments College list College list Array[String]
    majors Major list Major list Array[String]
    logo_url school logo school logo String
    square_logo_url School square logo School square logo String
    school_code School identification code School identification code String
    school_focus School Type School Type String
    description School Profile School Profile String
    tags school tags school tags Array[String]

    Sample example

    "university": {
            "entity_id": "YzQxHRXI",
            "school_name": "北京大学",
            "school_abbr_name": "北大",
            "school_name_eng": "Peking University",
            "school_abbr_name_eng": "pku",
            "school_alias_names": [
                "peking university",
                "北京大学法学院",
                "北京大学光华管理学院",
                "北京大学",
                "guanghua school of management,peking university",
                "北大法学院",
                "北大",
                "pku",
                "北大光华管理学院",
                "peking university  law school",
                "光华"
            ],
            "school_abbr_names": [
                "BEIDA",
                "北大光华",
                "北大法学院",
                "PKU",
                "北大",
                "光华管理学院",
                "光华"
            ],
            "country": "中国",
            "province": "北京",
            "city": "北京",
            "managed_department": "中华人民共和国教育部",
            "school_level": "一本",
            "school_url": "http://www.pku.edu.cn",
            "domestic_ranking": 1,
            "global_ranking": 30,
            "founded_date": "1898",
            "school_type": "公办",
            "departments": [
                "心理与认知科学学院",
                "人文学部",
                "考古文博学院",
                "新闻与传播学院",
                "元培学院",
                "海洋研究院",
                "核科学与技术研究院",
                "地球与空间科学学院",
                "公共卫生学院",
                "前沿交叉学科研究院",
                "国际法学院",
                "信息工程学院",
                "信息管理系",
                "工学院",
                "对外汉语教育学院",
                "新媒体研究院",
                "经济学院",
                "理学部",
                "汇丰商学院",
                "艺术学院",
                "数学科学学院",
                "软件与微电子学院",
                "基础医学院",
                "医学网络教育学院",
                "历史学系",
                "城市与环境学院",
                "医学人文研究院/公共教学部",
                "医学部",
                "深圳研究生院",
                "法学院",
                "城市规划与设计学院",
                "信息与工程科学部",
                "马克思主义学院",
                "宗教学系",
                "化学生物学与生物技术学院",
                "物理学院",
                "外国语学院",
                "政府管理学院",
                "环境与能源学院",
                "光华管理学院",
                "化学与分子工程学院",
                "新材料学院",
                "建筑与景观设计学院",
                "药学院",
                "社会学系",
                "歌剧研究院",
                "心理学系",
                "体育教研部",
                "国际关系学院",
                "信息科学技术学院",
                "生命科学学院",
                "社会科学部",
                "人文社会科学学院",
                "先进技术研究院",
                "国家发展研究院",
                "护理学院",
                "环境科学与工程学院",
                "中国语言文学系",
                "哲学系"
            ],
            "majors": [
                "德语",
                "应用统计学",
                "数学",
                "眼科学",
                "法语",
                "城市管理",
                "皮肤病与性病学",
                "数学与应用数学",
                "计算机科学与技术",
                "免疫学",
                "世界史",
                "病理学与病理生理学",
                "口腔医学",
                "马克思主义理论",
                "宗教学",
                "艺术史论",
                "工科试验班类",
                "行政管理",
                "社会工作",
                "哲学",
                "大气科学",
                "教育经济与管理",
                "缅甸语",
                "国际政治",
                "材料化学",
                "材料科学与工程",
                "精神病与精神卫生学",
                "核物理",
                "城乡规划",
                "会计学",
                "矿物学、岩石学、矿床学",
                "运动医学",
                "戏剧影视文学",
                "新闻学",
                "日语",
                "越南语",
                "波斯语",
                "企业管理",
                "生物学",
                "财政学",
                "外交学",
                "统计学",
                "智能科学与技术",
                "应用化学",
                "人文地理与城乡规划",
                "妇产科学",
                "亚非语言文学",
                "大气与海洋科学",
                "印度语言文学",
                "经济学",
                "泰语",
                "信息管理与信息系统",
                "人类学",
                "构造地质学",
                "法学",
                "应用语言学",
                "生物医学工程",
                "文化产业管理",
                "天文学",
                "空间科学与技术",
                "汉语言文学",
                "理论经济学",
                "乌尔都语",
                "心理学",
                "电子信息科学与技术",
                "数据科学与大数据技术",
                "化学生物学",
                "生物技术",
                "金融学",
                "工程力学",
                "机器人工程",
                "信息与计算科学",
                "俄语",
                "流行病与卫生统计学",
                "物理学",
                "印度尼西亚语",
                "文物保护技术",
                "政治学与行政学",
                "菲律宾语",
                "航空航天工程",
                "资源与环境经济学",
                "英语语言文学",
                "葡萄牙语",
                "国际经济与贸易",
                "广告学",
                "考古学",
                "汉语言",
                "地理学",
                "儿少卫生与妇幼保健学",
                "核技术及应用",
                "外科学(骨外,泌尿外)",
                "印地语",
                "保险学",
                "广播电视学",
                "西班牙语",
                "希伯来语",
                "地球化学",
                "市场营销",
                "化学",
                "古典文献学",
                "历史学",
                "电子科学与技术",
                "编辑出版学",
                "内科学(肾病,心血管病,血液病)",
                "朝鲜语",
                "生物科学",
                "肿瘤学",
                "中国语言文学类",
                "基础心理学",
                "国民经济学",
                "图书馆学",
                "梵语巴利语",
                "文物与博物馆学",
                "英语",
                "地理信息科学",
                "蒙古语",
                "微电子科学与工程",
                "政治学",
                "工商管理",
                "地质学",
                "环境工程",
                "阿拉伯语",
                "通信与信息系统",
                "理论与应用力学",
                "生态学",
                "药学",
                "社会学",
                "自然地理与资源环境",
                "地球物理学",
                "应用心理学",
                "天体物理",
                "力学",
                "环境科学",
                "中国语言文学",
                "固体地球物理学",
                "儿科学"
            ],
            "logo_url": "https://img.xiaoxizn.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890",
            "square_logo_url": "https://img.xiaoxizn.com/static/unviersity/square_logo/YzQxHRXI.jpg",
            "school_code": "4111010001",
            "school_focus": "综合",
            "description": "北京大学(peking university)简称“北大”,诞生于1898年,初名京师大学堂,是中国近代第一所国立大学,也是最早以“大学”之名创办的学校,其成立标志着中国近代高等教育的开端。北大是中国近代以来唯一以国家最高学府身份创立的学校,最初也是国家最高教育行政机关,行使教育部职能,统管全国教育。北大催生了中国最早的现代学制,开创了中国最早的文科、理科、社科、农科、医科等大学学科,是近代以来中国高等教育的奠基者。1912年5月3日,京师大学堂改称北京大学校,严复为首任校长。1917年,蔡元培出任校长,“循思想自由原则、取兼容并包之义”,把北大办成全国学术和思想中心,使北大成为新文化运动中心、五四运动策源地。1937年抗日战争爆发,北大与清华大学、南开大学南迁长沙,组成国立长沙临时大学。不久迁往昆明,改称国立西南联合大学。1946年10月在北平复学。北大由教育部直属,中央直管副部级建制,是国家双一流、211工程、985工程、2011计划重点建设的全国重点大学,九校联盟、中国大学校长联谊会、京港大学联盟、亚洲大学联盟、东亚研究型大学协会、国际研究型大学联盟、环太平洋大学联盟、东亚四大学论坛、国际公立大学论坛、中俄综合性大学联盟重要成员。北大始终与国家民族的命运紧密相连,聚集了许多学者专家,培养了众多优秀人才,创造了大批重大科学成果,影响和推动了中国近现代思想理论、科学技术、文化教育和社会发展的进程。",
            "tags": [
                "211",
                "985",
                "双一流",
                "一流大学建设高校A类"
            ]
        }
    

    Professional auto-completion

    Variable name Variable meaning Remarks Field type
    name_eng Professional English name Professional English name String
    name Professional name Professional name String
    entity_id Professional entity ID Professional entity ID String

    Sample example

    "majors": [
        {
            "name_eng": null,
            "name": "商务",
            "entity_id": "SNqvohpt"
        },
        {
            "name_eng": null,
            "name": "商务谈判",
            "entity_id": "PyRUi7RZ"
        },
        {
            "name_eng": "Business English",
            "name": "商务英语",
            "entity_id": "PdkC3hQs"
        },
        {
            "name_eng": null,
            "name": "国际商务酒店",
            "entity_id": "9dMFlFu8"
        }
    ]
    

    College auto-completion

    Variable name Variable meaning Remarks Field type
    name College name College name String
    entity_id College entity ID College entity ID String

    Sample example

    "colleges": [
        {
            "name": "数学系",
            "entity_id": "bKe868jM"
        },
        {
            "name": "数学与应用数学系",
            "entity_id": "lVN2Uicu"
        },
        {
            "name": "数学院",
            "entity_id": "cG-roBl9"
        },
        {
            "name": "数学学部",
            "entity_id": "IjNowPXd"
        }
    ]
    

    Job title auto-completion

    Variable name Variable meaning Remarks Field type
    name Position name Position name String
    entity_id Position name entity ID Position name entity ID String

    Sample example

    "job_titles": [
        {
            "name": "商务",
            "entity_id": "ZpZ5DvlX"
        },
        {
            "name": "bd商务",
            "entity_id": "VAVDNTXC"
        },
        {
            "name": "商务bd",
            "entity_id": "HS593TWo"
        },
        {
            "name": "商务采购",
            "entity_id": "uuKV4xUS"
        }
    ]
    

    Skill auto-completion

    Variable name Variable meaning Remarks Field type
    name Skill name Skill name String
    subclass Skill category Skill category String
    entity_id Skill entity ID Skill entity ID String

    Sample example

    "skills": [
        {
            "name": "python",
            "subclass": "后端",
            "entity_id": "NbQ5n5ml"
        },
        {
            "name": "Django",
            "subclass": "后端",
            "entity_id": "ILyz6GIq"
        },
        {
            "name": "python软件开发",
            "subclass": "后端",
            "entity_id": "h7IPnHgl"
        },
        {
            "name": "python框架",
            "subclass": "后端",
            "entity_id": "j87PWXkB"
        }
    ]
    
    Variable name Variable meaning Remarks Field type
    entity.entity_id Entity ID Entity ID String
    entity.entity_name Entity name Name of similar entity String
    entity.entity_type Entity type Type of similar entities String
    score Similarity score Score range 0-1, the higher it is, the closer the connection is Double

    Sample example

    The best candidate variable name is entities and the variable type is array[object]

    "entities":
    [
        {
            "score": 0.6553673,
            "entity": {
                "entity_id": "zqGcbQWyquA",
                "entity_type": "skill",
                "entity_name": "LSTM"
            }
        },
        {
            "score": 0.653783,
            "entity": {
                "entity_id": "b6fUzA-3Ars",
                "entity_type": "skill",
                "entity_name": "Tensorflow"
            }
        },
        {
            "score": 0.642938,
            "entity": {
                "entity_id": "G7i5532UTFQ",
                "entity_type": "skill",
                "entity_name": "深度学习"
            }
        }
    ]
    

    Sample code

    Please contact SIKAI customer service to obtain the test interface account and code. When trying out, please replace the

    for your ID and key information.

    Python2

    This code requires pip install requests to be installed.

    Company search

    # python2.x or python3.x
    # _*_ coding:utf-8 _*_
    # coding=utf8
    import sys
    
    reload(sys)
    sys.setdefaultencoding("utf-8")
    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
      name = "抖音" #请替换为您要搜索的名称
      print(search_company(name))
    
    def search_company(name):
        headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
        }
        url = "http://api.xiaoxizn.com/v1/kg/suggester/companies?keyword={}".format(name)
        result = requests.get(url, timeout=60, verify=False, headers=headers)
        print(json.dumps(result.json(), indent=4, ensure_ascii=False))
    
    if __name__ == "__main__":
      main()
    

    Company entity alignment

    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
      name = "抖音" #请替换为您要搜索的名称
      print(augment_company(name))
    
    def augment_company(name):
        headers = {
        'id': 'your_client_id', #替换为您的ID
        'secret': 'your_client_secret' #替换为您的密匙
        }
        url = "http://api.xiaoxizn.com/v1/kg/augment/company?keyword={}".format(name)
        result = requests.get(url, timeout=60, verify=False, headers=headers)
        print(json.dumps(result.json(), indent=4, ensure_ascii=False))
    
    if __name__ == "__main__":
      main()
    

    Similar query for entities of the same category

    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
      name = "神经网络" #请替换为您要搜索的名称
      print(json.dumps(get_similar_entity(name).json(), indent=4, ensure_ascii=False))
    
    def get_similar_entity(name, src_entity_type="", limit=10):
        url = "http://api.xiaoxizn.com/v1/kg/edge/similar_entities/"
        entity = {
            "entity_name": name,
            "src_entity_type": src_entity_type
        }
        if not src_entity_type:
            del entity["src_entity_type"]
        json = {
            "entity": entity,
            "offset": 0,
            "limit": limit
        }
        result = requests.post(url, json=json, timeout=60, verify=False)
        return result
    
    if __name__ == "__main__":
      main()
    

    Similar query for entities of different categories

    import requests
    import json
    
    # 注:需要安装requests模块
    
    def main():
      name = "神经网络" #请替换为您要搜索的名称
      entity_type = "job_title" #请替换为您要输出的相似实体名称
      print(json.dumps(get_connect_entity(name, entity_type).json(), indent=4, ensure_ascii=False))
    
    def get_connect_entity(name, target_entity_type, src_entity_type="", limit=5):
        url = "http://api.xiaoxizn.com/v1/kg/edge/connect_entities/"
        entity = {
            "entity_name": name,
            "target_entity_type": target_entity_type,
            "src_entity_type": src_entity_type
        }
        if not src_entity_type:
            del entity["src_entity_type"]
        json = {
            "entity": entity,
            "offset": 0,
            "limit": limit
        }
        result = requests.post(url, json=json, timeout=60, verify=False)
        return result
    
    
    if __name__ == "__main__":
      main()
    

    Error code summary

    Error code Error code meaning
    0 Correct
    10 Exceeding the total limit (arrears)
    11 Knowledge graph service expired
    13 Concurrency limit per second exceeded
    20 secret_key error
    70 Required field does not exist
    71 Header field error
    72 The query type is not supported. Please read the interface document to confirm the currently supported calculation types
    73 Update Index error
    74 Incorrect entity ID or token