UNPKG

@sargonpiraev/hh-api-client

Version:

A TypeScript client for the HeadHunter API, generated from the official OpenAPI specification.

1,612 lines 128 kB
// 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)