umk0headhunter-api

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

安装: 2

依赖者: 0

建议者: 0

安全性: 0

星星: 0

关注者: 0

分支: 12

类型:

v1.0.1 2024-06-13 13:18 UTC

This package is auto-updated.

Last update: 2024-09-13 13:54:13 UTC


README

Latest Stable Version

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

官方 API 文档在此可获取。

依赖项

需要 PHP 5.6 或更高版本。

安装

安装此库的推荐方式是通过Composer。您是 Composer 新手吗?了解Composer?

composer require umk0/headhunter-api

快速入门

// You may need to amend this path to locate composer's autoloader
require('vendor/autoload.php');
use umk0\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对象中获取您的managerId,该对象来自 $api->me->info()。当不带参数使用时,您的managerId将自动从您的个人资料中解析出来(官方文档)。

$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);

获取对(官方文档)的响应/邀请列表

$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查看响应/邀请。NegotiationId可以从响应中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();