@sargonpiraev/hh-api-client
Version:
A TypeScript client for the HeadHunter API, generated from the official OpenAPI specification.
1,612 lines • 128 kB
JavaScript
// This file is auto-generated by @hey-api/openapi-ts
import { urlSearchParamsBodySerializer, formDataBodySerializer } from './client/index.js';
import { client as _heyApiClient } from './client.gen.js';
/**
* Подтвердить телефон кодом
*/
export const confirmPhoneInResume = (options) => {
return (options.client ?? _heyApiClient).post({
...urlSearchParamsBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_phone_confirm',
...options,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
...options.headers
}
});
};
/**
* Предпочтения менеджера
* Возвращает информацию о предпочтениях менеджера.
*
* Проще всего получить URL из поля `manager_settings_url` объекта `manager`
* в [информации о текущем пользователе](#tag/Informaciya-o-menedzhere/operation/get-current-user-info).
*
* Предпочтения менеджера *не влияют* на действия в API по умолчанию. Например, брендированный шаблон оформления
* (`default_vacancy_branded_template`) не будет применен автоматически при публикации вакансии, если шаблон не был передан.
* Приложение может использовать эту информацию для того, чтобы реализовать логику предзаполнения полей
*
*/
export const getManagerSettings = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}/settings',
...options
});
};
/**
* Дневной лимит просмотра резюме для текущего менеджера
* Метод доступен менеджеру только для просмотра своего дневного лимита
*/
export const getEmployerManagerLimits = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}/limits/resume',
...options
});
};
/**
* Список адресов работодателя
* Возвращает список адресов работодателя. Для компаний с большим количеством адресов, возможна ситуация, когда между созданием адреса и его чтением будет задержка. То есть, только что созданный адрес не будет содержаться в теле ответа
*/
export const getEmployerAddresses = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/addresses',
...options
});
};
/**
* Список менеджеров работодателя
*/
export const getEmployerManagers = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers',
...options
});
};
/**
* Добавление менеджера
*/
export const addEmployerManager = (options) => {
return (options.client ?? _heyApiClient).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Справочник типов и прав менеджера
*/
export const getEmployerManagerTypes = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/manager_types',
...options
});
};
/**
* Рабочие аккаунты менеджера
* Возвращает список рабочих аккаунтов менеджера и информацию об основном и текущем аккаунте.
*
* Для работы под определенным аккаунтом необходимо передать значение account_id, полученное из списка, в заголовке:
*
* `X-Manager-Account-Id: {account_id}`
*
* Использовать данный заголовок можно во всех методах, доступных для работодателей.
*
* В заголовке можно передавать account_id основного аккаунта, который также подразумевается по умолчанию, при отсутствии заголовка
*
*/
export const getManagerAccounts = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/manager_accounts/mine',
...options
});
};
/**
* Получить информацию о телефоне соискателя
*/
export const getApplicantPhoneInfo = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_should_send_sms',
...options
});
};
/**
* Получение адреса
*/
export const getAddress = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/addresses/{address_id}',
...options
});
};
/**
* Удаление менеджера
* Удаление менеджера занимает некоторое время. По этой причине, если сразу после успешного удаления менеджера вы запросите, например, список менеджеров, в ответе может вернуться удаленный менеджер
*/
export const deleteEmployerManager = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}',
...options
});
};
/**
* Получение информации о менеджере
*/
export const getEmployerManager = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}',
...options
});
};
/**
* Редактирование менеджера
*/
export const editEmployerManager = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Отправить код подтверждения для телефона резюме
*/
export const sendCodeForVerifyPhoneInResume = (options) => {
return (options.client ?? _heyApiClient).post({
...urlSearchParamsBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_phone_generate_code',
...options,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
...options.headers
}
});
};
/**
* Инвалидация токена
* Инвалидация работает только на действующем access-токене.
* После инвалидации токен нельзя будет запросить с помощью refresh-токена - для работы необходимо будет заново авторизоваться в API
* Таким образом нельзя инвалидировать токен приложения <a name="invalidate_token"></a>.
* В случае компрометации токена необходимо инвалидировать скомпрометированный токен и запросить токен заново!
*
*/
export const invalidateToken = (options) => {
return (options?.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/oauth/token',
...options
});
};
/**
* Получение access-токена
*/
export const authorize = (options) => {
return (options.client ?? _heyApiClient).post({
...urlSearchParamsBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/oauth/token',
...options,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
...options.headers
}
});
};
/**
* Информация о текущем пользователе
*/
export const getCurrentUserInfo = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/me',
...options
});
};
/**
* Редактирование информации авторизованного пользователя
* Редактирование ФИО или изменение флага «ищу работу». Данные можно редактировать только группами
*/
export const editCurrentUserInfo = (options) => {
return (options.client ?? _heyApiClient).post({
...urlSearchParamsBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/me',
...options,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
...options.headers
}
});
};
/**
* Список доступных локалей для резюме
* Возвращает справочник возможных локалей резюме. Подколлекция [справочника локалей](#tag/Obshie-spravochniki/operation/get-locales-for-resume).
*
* Изменив локаль, можно, например, создать резюме на английском языке
*
*/
export const getLocalesForResume = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/locales/resume',
...options
});
};
/**
* Список доступных локалей
* Возвращает список возможных значений (доступных локалей) в поле `id`. Список локалей будет зависеть от указанного сайта (параметр `host`). В любом запросе к API можно указывать параметр `?locale=` для передачи значения локали (языка)
*
*/
export const getLocales = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/locales',
...options
});
};
/**
* Подсказки по должностям резюме
*/
export const getPositionsSuggestions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/positions',
...options
});
};
/**
* Подсказки по названиям учебных заведений
* Чтобы узнать список факультетов, обратитесь к [соответствующему методу](#tag/Obshie-spravochniki/operation/get-educational-institutions-dictionary)
*/
export const getEducationalInstitutionsSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/educational_institutions',
...options
});
};
/**
* Подсказки по регионам, являющимися листами в дереве регионов
* Также доступна загрузка [полного дерева регионов](#tag/Obshie-spravochniki/operation/get-areas) и [части дерева от определенного элемента](#tag/Obshie-spravochniki/operation/get-areas-from-specified)
*/
export const getAreaLeavesSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/area_leaves',
...options
});
};
/**
* Подсказки по ключевым навыкам
*/
export const getSkillSetSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/skill_set',
...options
});
};
/**
* Подсказки по должностям вакансий
*/
export const getVacancyPositionsSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/vacancy_positions',
...options
});
};
/**
* Подсказки по профессиональным ролям
*/
export const getProfessionalRolesSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/professional_roles',
...options
});
};
/**
* Подсказки по ключевым словам поиска резюме
* Предназначены для использования в поле `text` при [поиске резюме](#tag/Poisk-rezyume/operation/search-for-resumes). Содержит названия должностей, компаний и другие фразы, часто используемые при поиске резюме
*/
export const getResumeSearchKeywordsSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/resume_search_keyword',
...options
});
};
/**
* Подсказки по регионам
* Также доступна загрузка [полного дерева регионов](#tag/Obshie-spravochniki/operation/get-areas) и [части дерева от определенного элемента](#tag/Obshie-spravochniki/operation/get-areas-from-specified)
*/
export const getAreasSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/areas',
...options
});
};
/**
* Подсказки по ключевым словам поиска вакансий
* Предназначены для использования в поле `text` при [поиске вакансий](#tag/Poisk-vakansij/operation/get-vacancies). Содержит названия должностей, компаний и другие фразы, часто используемые при поиске вакансий
*/
export const getVacancySearchKeywords = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/vacancy_search_keyword',
...options
});
};
/**
* Подсказки по специализациям
*/
export const getFieldsOfStudySuggestions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/fields_of_study',
...options
});
};
/**
* Подсказки по зарегистрированным организациям
* Данные из этой подсказки можно использовать, например, для выбора компании при заполнении опыта работы [в резюме](#tag/Rezyume.-Sozdanie-i-obnovlenie). Чтобы найти организации, которые могут публиковать вакансии, используйте [поиск](#tag/Rabotodatel/operation/search-employer)
*/
export const getRegisteredCompaniesSuggests = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/suggests/companies',
...options
});
};
/**
* Получение схемы резюме-профиля соискателя для резюме
* Возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
*
*/
export const readResumeProfile = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_profile/{resume_id}',
...options
});
};
/**
* Обновление резюме-профиля соискателя
* Обновляет резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
*
*/
export const updateResumeProfile = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_profile/{resume_id}',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Создание резюме-профиля соискателя
* Создаёт резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
*
*/
export const createResumeProfile = (options) => {
return (options.client ?? _heyApiClient).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_profile',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Получение cловарей резюме-профиля
*/
export const getResumeProfileDictionaries = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resume_profile/dictionaries',
...options
});
};
/**
* Информация по активным услугам API для платных методов
* Каждая подключенная услуга отображается отдельным объектом в массиве `items`, даже при условии, что подключено несколько услуг одного типа.
* Если у работодателя нет активных услуг, то в ответе придет пустой массив `items`
*
*/
export const getPayableApiActions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/services/payable_api_actions/active',
...options
});
};
/**
* Проверка доступа к платным методам
* Начиная с 16 июля 2018 года, некоторые методы API HH для работодателей стали платными.
*
* Такие методы отмечены в [оглавлении GitHub](https://github.com/hhru/api/blob/master/README.md#content) лейблом <img src="http://hhru.github.io/api/badges/emp_paid.png" alt="employer with paid access" />
*
* Чтобы приобрести доступ к платным методам, обратитесь к своему персональному менеджеру.
*
* > Если вы работаете от имени нескольких учетных записей работодателя, проверьте [информацию о подключенных услугах](#tag/Uslugi-rabotodatelya/operation/get-payable-api-actions) — каждой учетной записи должен быть предоставлен доступ к платным методам API. При отсутствии доступа будет выдана ошибка `403 Forbidden`.
*
* Метод возвращает информацию о доступе к группам платных методов. Существующие группы:
*
* 1. Наличие доступа к методам резюме:
* * [Просмотр резюме](#tag/Prosmotr-rezyume/operation/get-resume).
* * [Работа с откликами](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md).
* * [Переписка с соискателем](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-messages).
* 2. Наличие доступа к методам поиска вакансий:
* * [Поиск резюме](#tag/Poisk-rezyume/operation/search-for-resumes).
* * [Сохраненные поиски резюме](#tag/Sohranennye-poiski-rezyume/operation/get-saved-resume-searches).
* 3. Наличие доступа к [просмотру резюме](#tag/Prosmotr-rezyume/operation/get-resume), у которого есть отклик или приглашение.
* 4. Наличие доступа к [просмотру резюме](#tag/Prosmotr-rezyume/operation/get-resume), найденных через [поиск по базе](#tag/Poisk-rezyume/operation/search-for-resumes).
*
* **Внимание!** Изменился доступ к контактной информации резюме, подробнее [о новой модели работы с базой резюме](https://github.com/hhru/api/blob/master/docs/payable/resume.md)
*
*/
export const getPayableApiMethodAccess = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}/method_access',
...options
});
};
/**
* Список сохраненных поисков вакансий
*/
export const getSavedVacancySearches = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/saved_searches/vacancies',
...options
});
};
/**
* Создание нового сохраненного поиска вакансий
* Некоторые параметры принимают множественные значения: `key=value&key=value`.
*
* При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше 2000. Например, возможен запрос `per_page=10&page=199` (выдача с 1991 по 2000 вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с 2001 до 2010 вакансию)
*
*/
export const createSavedVacancySearch = (options) => {
return (options.client ?? _heyApiClient).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/saved_searches/vacancies',
...options
});
};
/**
* Посмотревшие вакансию
* Возвращает список сокращенных резюме соискателей, просмотревших вакансию за последнюю неделю. Список отсортирован по убыванию по дате просмотра. Если у пользователя несколько резюме, то вернется резюме с наиболее поздней датой обновления.
*
* В списке `items` не отображаются резюме, которые соискатель удалил или скрыл от работодателя. Но они учитываются при пагинации (`per_page`) и при подсчете найденных резюме (`found`), а в поле `hidden_on_page` показано количество таких пропущенных резюме на странице
*
*/
export const getVacancyVisitors = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/visitors',
...options
});
};
/**
* Просмотр вакансии
* Возвращает подробную информацию по указанной вакансии
*/
export const getVacancy = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}',
...options
});
};
/**
* Редактирование вакансий
* Изменяет поля вакансии, передаваемые в теле запроса.
*
* Составные поля (например, `salary_range`, `contacts`, `professional_roles`) можно редактировать только целиком, передавая полный объект. Например, для изменения валюты в зарплате, необходимо передавать также и значение зарплаты.
*
* Поля `billing_type` и `manager` необходимо передавать в отдельном запросе
*
*/
export const editVacancy = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Список скрытых вакансий
* Возвращает [подмножество вакансий](#tag/Vakansii/operation/get-vacancy), скрытых пользователем, а также один дополнительный параметр
*/
export const getBlacklistedVacancies = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/blacklisted',
...options
});
};
/**
* Поиск по вакансиям
* Возвращает список вакансий, размещенных в сервисе. Список вакансий фильтруется согласно переданным параметрам запроса.
*
* Особенности работы метода:
*
* * Неизвестные параметры и параметры с ошибкой в названии игнорируются.
* * Если не передан токен авторизации, то после первого запроса будет предложено пройти капчу.
* * Список вакансий зависит от типа авторизации пользователя. Например, для соискателей вакансии фильтруются по [списку скрытых вакансий](#tag/Skrytye-vakansii) и [списку скрытых компаний](#tag/Skrytye-rabotodateli).
* * Список вакансий также зависит от [выбранного сайта](#section/Obshaya-informaciya/Vybor-sajta) (параметр `host`). Однако выбор регионального сайта, например hh.kz, не ограничивает список вакансиями данного региона. Чтобы ограничить список по региону, используйте параметр `area`.
* * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
*
*/
export const getVacancies = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies',
...options
});
};
/**
* Публикация вакансии
* Создает новую вакансию с полями, передаваемыми в теле запроса.
*
* В соответствии с [законом РФ № 1032-1 от 19.04.1991 в ред. от 02.07.2013 г.](https://hh.ru/article/13967) запрещено размещать информацию, ограничивающую права или устанавливающую преимущества для соискателей по полу, возрасту, семейному положению и другим обстоятельствам, не связанным с деловыми качествами работников.
*
* Примечания:
*
* * При успешной публикации будут списаны соответствующие услуги.
* * Все вакансии проходят ручную модерацию.
* * В течение нескольких минут после публикации вакансия станет доступна в поиске.
*
* Полезные ссылки:
*
* * [Правила размещения вакансий](https://hh.ru/article/341)
* * [Как составить хорошее описание вакансии](https://hh.ru/article/16239)
*
*/
export const publishVacancy = (options) => {
return (options.client ?? _heyApiClient).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies',
...options,
headers: {
'Content-Type': 'application/json',
...options.headers
}
});
};
/**
* Поиск подходящих вакансий
* По умолчанию, выдает вакансии, похожие на вакансию.
*
* Если запрос идет со страницы вакансии (параметр `hhtmSource` = `vacancy` или `vacancy_search_list` или `vacancy_search_filter`):
* * когда пользователь авторизован как соискатель, и у него есть резюме — выдает подходящие под последнее резюме пользователя вакансии;
* * когда у соискателя нет резюме — результаты поиска по заголовку вакансии;
* * когда пользователь не авторизован — рекомендации для анонимов.
*
* При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
*
*/
export const getVacanciesRelatedToVacancy = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/related_vacancies',
...options
});
};
/**
* Удаление сохраненного поиска вакансий
*/
export const deleteSavedVacancySearch = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/saved_searches/vacancies/{id}',
...options
});
};
/**
* Получение единичного сохраненного поиска вакансий
*/
export const getSavedVacancySearch = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/saved_searches/vacancies/{id}',
...options
});
};
/**
* Обновление сохраненного поиска вакансий
* У сохраненного поиска можно изменить имя (`name`) и статус подписки (`subscription`). В одном запросе можно передать только один из параметров
*/
export const updateSavedVacancySearch = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/saved_searches/vacancies/{id}',
...options
});
};
/**
* Поиск по вакансиям, похожим на вакансию
* Если не передан токен авторизации, то после первого запроса будет предложено пройти капчу.
*
* При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
*
*/
export const getVacanciesSimilarToVacancy = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/similar_vacancies',
...options
});
};
/**
* Список улучшений для вакансии
*/
export const getVacancyUpgradeList = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/upgrades',
...options
});
};
/**
* Поиск по вакансиям, похожим на резюме
* Данные доступны только автору резюме.
*
* При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
*
*/
export const getVacanciesSimilarToResume = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/resumes/{resume_id}/similar_vacancies',
...options
});
};
/**
* Список отобранных вакансий
* Возвращает [подмножество вакансий](#tag/Vakansii/operation/get-vacancy), добавленных пользователем в отобранные, а также ряд дополнительных полей
*/
export const getFavoriteVacancies = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/favorited',
...options
});
};
/**
* Удаление вакансии из списка скрытых
* Удаляет указанную вакансию из [списка скрытых вакансий](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
*/
export const deleteVacancyFromBlacklisted = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/blacklisted/{vacancy_id}',
...options
});
};
/**
* Добавление вакансии в список скрытых
* Добавляет указанную вакансию в [список скрытых вакансий](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
*/
export const addVacancyToBlacklisted = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/blacklisted/{vacancy_id}',
...options
});
};
/**
* Просмотр списка опубликованных вакансий
* Возвращает список опубликованных вакансий.
*
* Если передан параметр `resume_id`, то в список попадут только те вакансии, которые подходят для указанного резюме. Кроме того, ответ будет содержать дополнительные поля
*
*/
export const getActiveVacancyList = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/active',
...options
});
};
/**
* Список удаленных вакансий
*/
export const getHiddenVacancies = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/hidden',
...options
});
};
/**
* Восстановление вакансии из удаленных
* Восстановить можно только удаленную из архива вакансию. Вакансия вернется в архив
*/
export const restoreVacancyFromHidden = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/hidden/{vacancy_id}',
...options
});
};
/**
* Удаление вакансий
* Удалить можно только вакансию из архива
*/
export const addVacancyToHidden = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/hidden/{vacancy_id}',
...options
});
};
/**
* Условия заполнения полей при добавлении и редактировании вакансий
*/
export const getVacancyConditions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancy_conditions',
...options
});
};
/**
* Информация о возможности продления вакансии
* Условия продления:
*
* * Стоимость продления вакансии равна стоимости новой публикации.
* * Стандартные вакансии можно продлевать, если с момента предыдущего продления прошло не менее 1 минуты
*
*/
export const getProlongationVacancyInfo = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/prolongate',
...options
});
};
/**
* Продление вакансии
* Продлевает срок размещения указанной вакансии.
*
* Условия продления:
*
* * Стоимость продления вакансии равна стоимости новой публикации.
* * Стандартные вакансии можно продлевать, если с момента предыдущего продления прошло не менее 1 минуты
*
*/
export const vacancyProlongation = (options) => {
return (options.client ?? _heyApiClient).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/prolongate',
...options
});
};
/**
* Архивация вакансии
* Переносит вакансию в архив
*/
export const addVacancyToArchive = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/archived/{vacancy_id}',
...options
});
};
/**
* Просмотр предпочитаемой сортировки откликов
*/
export const getPrefNegotiationsOrder = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{id}/preferred_negotiations_order',
...options
});
};
/**
* Изменение предпочитаемой сортировки откликов
*/
export const putPrefNegotiationsOrder = (options) => {
return (options.client ?? _heyApiClient).put({
...urlSearchParamsBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{id}/preferred_negotiations_order',
...options,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
...options.headers
}
});
};
/**
* Удаление вакансии из списка отобранных
* Удаляет указанную вакансию из [списка отобранных вакансий](#tag/Otobrannye-vakansii/operation/get-favorite-vacancies)
*/
export const deleteVacancyFromFavorite = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/favorited/{vacancy_id}',
...options
});
};
/**
* Добавление вакансии в список отобранных
* Добавляет указанную вакансию в [список отобранных вакансий](#tag/Otobrannye-vakansii/operation/get-favorite-vacancies)
*/
export const addVacancyToFavorite = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/favorited/{vacancy_id}',
...options
});
};
/**
* Варианты публикации вакансий у текущего менеджера
* Метод позволяет понять, может ли менеджер публиковать вакансии и какие типы вакансий ему доступны. Возвращает все возможные типы публикации
*/
export const getAvailableVacancyTypes = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}/vacancies/available_types',
...options
});
};
/**
* Статистика по вакансии
* Возвращает статистику за последние пять дней существования вакансии.
*
* При этом:
*
* * Если вакансия создана менее пяти дней назад, то первой датой в ответе будет дата создания вакансии. Для будущих дат в полях `responses` и `views` вернется `null`.
* * Если вакансия находится в архиве или удалена, то последней датой будет дата архивации
*
*/
export const getVacancyStats = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/vacancies/{vacancy_id}/stats',
...options
});
};
/**
* Список архивных вакансий
*/
export const getArchivedVacancies = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/vacancies/archived',
...options
});
};
/**
* Условия загрузки портфолио
*/
export const getArtifactsPortfolioConditions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/portfolio/conditions',
...options
});
};
/**
* Удаление артефакта
*/
export const deleteArtifact = (options) => {
return (options.client ?? _heyApiClient).delete({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/{id}',
...options
});
};
/**
* Редактирование артефакта
* Метод позволяет отредактировать описание портфолио
*/
export const editArtifact = (options) => {
return (options.client ?? _heyApiClient).put({
...formDataBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/{id}',
...options,
headers: {
'Content-Type': null,
...options.headers
}
});
};
/**
* Загрузка артефакта
* Запрос загружает файл с локальной машины в сервис.
*
* Ограничения на типы файлов и их размер доступны в [условиях загрузки артефактов](#tag/Rabota-s-artefaktami).
*
* Для прикрепления загруженных изображений в резюме, необходимо передать `id` артефакта в [соответствующее поле резюме](https://github.com/hhru/api/blob/master/docs/employer_resumes.md#resume-fields). Для удаления артефакта из резюме укажите `null`
*
*/
export const loadArtifact = (options) => {
return (options.client ?? _heyApiClient).post({
...formDataBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts',
...options,
headers: {
'Content-Type': null,
...options.headers
}
});
};
/**
* Получение портфолио
* Возвращает список ранее загруженных изображений с портфолио. Их можно использовать при создании/редактировании резюме
*/
export const getArtifactsPortfolio = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/portfolio',
...options
});
};
/**
* Условия загрузки фотографий
*/
export const getArtifactPhotosConditions = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/photo/conditions',
...options
});
};
/**
* Получение фотографий
* Возвращает список ранее загруженных изображений с фотографиями. Их можно использовать при создании/редактировании резюме
*/
export const getArtifactPhotos = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/artifacts/photo',
...options
});
};
/**
* Справочники полей
* Справочники полей и сущностей, используемых в API. Значения в справочниках могут поменяться в любой момент
*/
export const getDictionaries = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/dictionaries',
...options
});
};
/**
* Список всех языков
*/
export const getLanguages = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/languages',
...options
});
};
/**
* Основная информация об учебных заведениях
*/
export const getEducationalInstitutionsDictionary = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/educational_institutions',
...options
});
};
/**
* Справочник ключевых навыков
* Метод возвращает информацию по запрашиваемым ключевым навыкам.
*
* Значения в справочнике могут поменяться в любой момент
*
*/
export const getSkills = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/skills',
...options
});
};
/**
* Справочник профессиональных ролей
* Возвращает профессиональные роли, их категории и другую информацию о профессиональных ролях
*
*/
export const getProfessionalRolesDictionary = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/professional_roles',
...options
});
};
/**
* Список факультетов учебного заведения
* Возвращает список факультетов указанного учебного заведения
*/
export const getFaculties = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/educational_institutions/{id}/faculties',
...options
});
};
/**
* Отрасли компаний
* Возвращает двухуровневый справочник всех отраслей
*/
export const getIndustries = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/industries',
...options
});
};
/**
* Действия по отклику/приглашению коллекции
* Запрос изменяет состояние работодательского (`employer_state`) или соискательского (`state`) состояния отклика/приглашения.
*
* #### Смена работодательского состояния отклика/приглашения
*
* > Доступные действия для каждого отклика/приглашения перечислены в массиве `employer_states` [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations).
*
* Чтобы изменить состояние отклика, выполните запрос из параметра `actions[].url` [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-collection-negotiations-list) для выбранного действия над откликом.
* В запросе необходимо передать аргументы массива `actions[].arguments` в формате `application/x-www-form-urlencoded`.
*
* Примеры действий:
*
* * отложить отклик;
* * пригласить соискателя на интервью в ответ на отклик;
* * отказать соискателю.
*
* #### Смена соискательского состояния отклика/приглашения
*
* Изменение соискательского состояния отклика/приглашения влияет на [статистику по работе с откликами](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations-statistics-employer).
*
* Условие смены соискательского состояния отклика/приглашения — отправка сообщения соискателю любым из способов:
*
* - Совершить действие с откликом/приглашением, используя метод `/negotiations/{collection_name}/{nid}`, с сопроводительным сообщением.
* - [Отправить сообщение](#tag/Otklikipriglasheniya-rabotodatelya/operation/send-negotiation-message) в отклике. Статус изменится, если перед отправкой использовался метод изменения работодательского статуса без сопроводительного сообщения.
*
* Соискательский статус в обоих случаях изменится или на приглашение (`invitation`), или на отказ (`discard`)
*
*/
export const changeNegotiationAction = (options) => {
return (options.client ?? _heyApiClient).put({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/negotiations/{collection_name}/{nid}',
...options
});
};
/**
* Список откликов/приглашений
* Возвращает список откликов соискателя или список коллекций откликов/приглашений по [вакансии](#tag/Upravlenie-vakansiyami/operation/get-active-vacancy-list) работодателя.
*
* По умолчанию отклики сортируются по дате последнего обновления — от новых к старым.
*
* Чтобы получить список активных откликов, передайте в запросе параметр `?status=active`
*
*/
export const getNegotiations = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/negotiations',
...options
});
};
/**
* Отклик на вакансию
* Запрос позволяет пользователю откликнуться на вакансию.
*
* Чтобы узнать, какими резюме возможно откликнуться на конкретную вакансию, воспользуйтесь [списком подходящих резюме](#tag/Rezyume.-Prosmotr-informacii/operation/get-suitable-resumes)
*
*/
export const applyToVacancy = (options) => {
return (options.client ?? _heyApiClient).post({
...formDataBodySerializer,
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/negotiations',
...options,
headers: {
'Content-Type': null,
...options.headers
}
});
};
/**
* Статистика откликов для менеджера
* Запрос выводит статистику по работе с откликами для вакансий менеджера за период (30 дней). Статистика менеджера доступна самому менеджеру, а также менеджерам с [типом](#tag/Menedzhery-rabotodatelya/operation/get-employer-manager-types) `main_contact_person`.
*
* Дополнительно рассчитывается [индекс вежливости](https://hh.ru/article/23734) менеджера по всем вакансиям
*
*/
export const getNegotiationsStatisticsManager = (options) => {
return (options.client ?? _heyApiClient).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/employers/{employer_id}/managers/{manager_id}/negotiations_statistics',
...options
});
};
/**
* Список активных откликов
* Возвращает список активных откликов соискателя.
*
* Запрос является устаревшим и поддерживается для обратной совместимости. Вместо него используйте [запрос списка откликов](#tag/Perepiska-(otklikipriglasheniya)