seregazhuk / headhunter-api
用于与 hh.ru API 交互的 PHP 库
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.4
- mockery/mockery: 0.9.9
- phpunit/phpunit: ^5.7
README
提供 HeadHunter (hh.ru) 服务的友好 API 接口。
官方 API 文档可在此处找到 这里。
依赖关系
需要 PHP 5.6 或更高版本。
安装
安装此库的推荐方式是通过 Composer。 Composer 新手?
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();