seregazhuk/headhunter-api

用于与 hh.ru API 交互的 PHP 库

0.3.1 2017-09-28 11:44 UTC

README

Code Climate Test Coverage Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads

提供 HeadHunter (hh.ru) 服务的友好 API 接口。

官方 API 文档可在此处找到 这里

依赖关系

需要 PHP 5.6 或更高版本。

安装

安装此库的推荐方式是通过 ComposerComposer 新手?

composer require seregazhuk/headhunter-api

快速入门

// You may need to amend this path to locate composer's autoloader
require('vendor/autoload.php');
use seregazhuk\HeadHunterApi\Api;

/**
 * Token is optional. Your need token only
 * for resources that require authentication
 */
$api = Api::create('YOUR_TOKEN');
$userInfo = $api->me->info();

您可以创建一个不带令牌的实例,稍后进行更改。

$api = Api::create();
$api->setToken('YOUR_TOKEN');

API 资源

职位空缺

通过 ID 查看职位空缺 (官方文档)

$vacancy = $api->vacancies->view($id);

获取与当前空缺相似的职位 (官方文档)

$similarVacancies = $api->vacancies->similar($id);

获取黑名单职位 (官方文档)

$blacklisted = $api->vacancies->blacklisted();

获取收藏的职位列表 (官方文档)

$vacancies = $api->vacancies->favorited();

// with pagination
$vacancies = $api->vacancies->favorited(['page' => 2]);

搜索 (官方文档)

$vacancies = $api->vacancies->search($params);

职位空缺统计 (官方文档)

$stats = $api->vacancies->statistics($vacancyId);

雇主的活跃职位 (官方文档)

$vacancies = $api->vacancies->active();

// you can specify a manager, by default uses current manager
$vacancies = $api->vacancies->active($managerId);
// with pagination
$vacancies = $api->vacancies->active($managerId, ['page'=>2]);

雇主的存档职位 (官方文档)

$archived = $api->vacancies->archived();
// with pagination
$archived = $api->vacancies->archived(['page'=>2]);

雇主的隐藏职位 (官方文档)

$hidden = $api->vacancies->hidden();
// with pagination
$hidden = $api->vacancies->hidden(['page'=>2]);

隐藏职位 (官方文档)

$api->vacancies->hide($vacancyId);

恢复职位 (官方文档)

$api->vacancies->restore($vacancyId);

雇主

通过 ID 查看员工 (官方文档)

$employee = $api->employers->view($id);

搜索 (官方文档)

$employers = $api->employers->search($params);

雇主经理

参考类型和管理员权限 (官方文档)

$reference_type = $api->employers->getManagerTypes();
$reference_type = $api->employers->getManagerTypes($employerId);

在没有参数的情况下使用时,您的雇主 ID 将自动从您的个人资料中解析

获取雇主经理 (官方文档)

$managers = $api->employers->getManagers();
$managers = $api->employers->getManagers($employerId);
$managerWhoHasVacancies = $api->employers->getManagersWhoHasVacancies();
$managerWhoHasVacancies = $api->employers->getManagersWhoHasVacancies($employerId);

在没有参数的情况下使用时,您的雇主 ID 将自动从您的个人资料中解析

获取管理员信息 (官方文档)

$managers = $api->employers->getManager($managerId);
$managers = $api->employers->getManager($managerId, $employerId);

在没有参数的情况下使用时,您的雇主 ID 将自动从您的个人资料中解析

工件

获取您的照片 (官方文档)

$photos = $api->artifacts->photos();

获取您的投资组合(官方文档

$portfolio = $api->artifacts->portfolio();

按id删除照片(官方文档

$api->artifacts->deletePhoto($photoId);

编辑照片属性(官方文档

$api->artifacts->editPhoto($photoId, $attributes);

上传照片(官方文档

$api->artifacts->uploadPhoto('photo.jpg', 'my picture description');

上传投资组合(官方文档

$api->artifacts->uploadPortfolio('portfolio.jpg', 'my portfolio description');

用户

获取当前用户信息(官方文档

$info = $api->me->info();

更新姓名(姓、名、中间名)。所有参数都是必需的(官方文档

$api->me->editName($lastName, $firstName, $middleName);

更新标志 'is_in_search'(官方文档

$isInSearch = true; // or false;
$api->me->setIsInSearch($isInSearch);

通过managerId管理偏好。您可以从返回的user对象中获取您的manager id,该对象来自 $api->me->info()。当不使用参数时,您的manager id将自动从您的个人资料中解析出来(官方文档)。

$me = $api->me->info();
$managerId = $me['manager']['id'];
$preferences = $api->manager->preferences($managerId);

// automatically get manager id from your profile
$preferences = $api->manager->preferences($managerId);

申请者评论

获取关于申请者的所有评论(官方文档

$comments = $api->comments->view($applicantId);

创建评论(官方文档)。要创建评论,您需要一个申请者id。申请者id可以从简历中获取

$resumeInfo = $api->resume->view($resumeId);
$applicantCommentsUrl = $resumeInfo['owner']['comments']['url']; // https://api.hh.ru/applicant_comments/2743747
// You need to parse id from this url

// Create a comment, that is visible for coworkers
$result = $api->comments($applicantId, 'my comment');

// Create a comment, that is visible only for you
$result = $api->createPrivate($applicantId, 'my comment');

编辑评论(官方文档

// Edit a comment, that is visible for coworkers
$api->comments->edit($applicantId, $commentId, 'new comment text')

// Edit a comment, that is visible only for you
$result = $api->editPrivate($applicantId, $commentId, 'new comment text');

删除评论(官方文档

$api->comments->delete($applicantId, $commentId);

行业

获取所有行业(官方文档

$industries = $api->industries->all();

员工谈判

获取所有谈判(官方文档

$negotiations = $api->negotiations->all();

仅获取活动谈判(官方文档

$negotiations = $api->negotiations->active();

查看消息列表。

  • 对于员工:获取谈判的消息(官方文档
  • 对于雇主:查看响应/邀请中的消息列表(官方文档
$api->negotiations->messages($negotiationId);
// with pagination
$api->negotiations->messages($negotiationId, ['page'=>2]);

发送新消息。

$api->negotiations->message($negotiationId, $messageText);

Git对响应/邀请的列表(官方文档

$responses = $api->negotiations->invited($vacancyId);

有几种邀请类型。对于每一种,您都可以将分页数组作为第二个参数传递

响应

$responses = $api->negotiations->invitedResponses($vacancyId);
// with pagination
$responses = $api->negotiations->invitedResponses($vacancyId, ['page'=>2]);

考虑

$toConsider = $api->negotiations->invitedConsider($vacancyId);

电话面试

$phoneInterviews = $api->negotiations->invitedPhoneInterviews($vacancyId);

评估

$assessments = $api->negotiations->invitedAssessments($vacancyId);

面试

$interviews = $api->negotiations->invitedInterviews($vacancyId);

报价

$offers = $api->negotiations->invitedOffers($vacancyId);

已雇佣

$hired = $api->negotiations->invitedHired($vacancyId);

雇主拒绝

$discard = $api->negotiations->invitedDiscardByEmployer($vacancyId);

按id查看响应/邀请。谈判Id可以从响应中key url获取。 (官方文档)

$response = $api->negotiations->view($negotiationId);

地区

获取所有地区(官方文档

$regions = $api->regions->all();

简历

获取我的简历(官方文档

$resumes = $api->resumes->mine();

查看简历(官方文档

$views = $api->resumes->view($resumeId);

编辑简历 (官方文档)

$api->resumes->edit($resumeId, ['first_name' => 'New name']);

创建新的简历 (官方文档)

$attributes = ['first_name' => 'New name'];
$result = $api->resumes->create($attributes);

查看历史 (官方文档)

$views = $api->resumes->views($resumeId);

// with pagination

$views = $api->resumes->views($resumeId, ['page'=>2]);

谈判历史 (官方文档)

$negotiations = $api->resumes->negotiations($resumeId);
// with pagination
$negotiations = $api->resumes->negotiations($resumeId, ['page' => 2]);

更新简历发布日期 (官方文档)

$api->resumes->publish($resumeId);

获取简历条件 (官方文档)

$conditions = $api->resumes->conditions($resumeId);

删除简历 (官方文档)

$api->resumes->delete($resumeId);

获取当前状态(是否被锁定或准备好发布) (官方文档)

$status = $api->resumes->status($resumeId);

获取简历的职位推荐 (官方文档)

$jobs = $api->resumes->jobs($resumeId)

// with pagination
$jobs = $api->resumes->jobs($resumeId, ['page' => 2])

简历可见性

官方文档

获取简历的黑名单/白名单

$blackList = $api->resumes->getBlackList($resumeId);
// ...
$whiteList = $api->resumes->getWhiteList($resumeId);

将公司添加到黑名单/白名单

$api->resumes->addToBlackList($resumeId, $companyId);
// ...
$api->resumes->addToWhiteList($resumeId, $companyId);

从黑名单/白名单中删除公司

$api->resumes->removeFromBlackList($resumeId, $companyId);
// ...
$api->resumes->removeFromWhiteList($resumeId, $companyId);

清除黑名单/白名单

$api->resumes->clearBlackList($resumeId);
// ...
$api->resumes->clearWhiteList($resumeId);

在黑名单/白名单中搜索

$companies = $api->resumes->searchInBlackList($resumeId, 'some-key-word');
//...
$companies = $api->resumes->searchInWhiteList($resumeId, 'some-key-word');

在黑名单/白名单中搜索

保存的搜索

搜索列表 (官方文档)

$searches = $api->savedSearches->all();

获取一个搜索 (官方文档)

$searches = $api->savedSearches->view($searchId);

专业

获取所有专业 (官方文档)

$specializations = $api->specializations->all();

字典

获取API中使用的实体列表 (官方文档)

$dictionaries = $api->dictionaries->all();

建议

教育机构 (官方文档)

$suggests = $api->suggests->educational_institutions($text);

公司 (官方文档)

$suggests = $api->suggests->companies($text);

专业 (官方文档)

$suggests = $api->suggests->fieldsOfStudy($text);

关键技能 (官方文档)

$suggests = $api->suggests->skillSet($text);

职位 (官方文档)

$suggests = $api->suggests->positions($text);

地区 (官方文档)

$suggests = $api->suggests->areas($text);

职位搜索关键词技巧 (官方文档)

$suggests = $api->suggests->vacancySearchKeyword($text);

地铁

获取所有城市的所有地铁站 (官方文档)

$stations = $api->metro->all();

特定城市的地铁站和线路列表 (官方文档)

$stations = $api->metro->forCity($cityId);

语言

获取可用语言 (官方文档)

$languages = $api->languages->all();

学院

获取教育机构的学院列表 (官方文档)。使用可以从教育机构建议中获得的institutionId。

$faculties = $api->faculties->forInstitution($institutionId);

自定义请求 (官方文档)

地区设置

您可以为您的要求设置地区设置,结果将以所选地区返回。默认设置为RU。(官方文档)

$api->setLocale('EN');

// chain methods
$api->setLocale('EN')
    ->me
    ->info();

主机

从HeadHunter集团的不同网站获取数据。(官方文档)

$api->setHost('hh.kz');

// chain methods
$api->setHost('hh.kz')
    ->me
    ->info();