andreybuinovskiy/php-headhunter-api

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

v1.0.0 2023-12-26 13:37 UTC

This package is auto-updated.

Last update: 2024-09-30 01:46:51 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对象中获取您的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);

获取响应/邀请的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查看响应/邀请。NegotiationId可以从invited调用响应中的关键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();