Categorygithub.com/zaboal/hh-go
repositorypackage
0.0.0-20240929005628-081cd7728f2d
Repository: https://github.com/zaboal/hh-go.git
Documentation: pkg.go.dev

# README

Go API client for hh

По-русски | Switch to English

В OpenAPI ведется пока что только небольшая часть документации Основная документация.

Для поиска по документации можно использовать Ctrl+F.

Общая информация

  • Всё API работает по протоколу HTTPS.
  • Авторизация осуществляется по протоколу OAuth2.
  • Все данные доступны только в формате JSON.
  • Базовый URL — https://api.hh.ru/
  • Возможны запросы к данным любого сайта группы компаний HeadHunter
  • <a name="date-format"> Даты форматируются в соответствии с ISO 8601: YYYY-MM-DDThh:mm:ss±hhmm.

<a name="request-requirements">

Требования к запросам

В запросе необходимо передавать заголовок User-Agent, но если ваша реализация http клиента не позволяет, можно отправить HH-User-Agent. Если не отправлен ни один заголовок, то ответом будет 400 Bad Request. Указание в заголовке названия приложения и контактной почты разработчика позволит нам оперативно с вами связаться в случае необходимости. Заголовки User-Agent и HH-User-Agent взаимозаменяемы, в случае, если вы отправите оба заголовка, обработан будет только HH-User-Agent.

User-Agent: MyApp/1.0 ([email protected])

Подробнее про ошибки в заголовке User-Agent.

<a name="request-body">

Формат тела запроса при отправке JSON

Данные, передающиеся в теле запроса, должны удовлетворять требованиям:

  • Валидный JSON (допускается передача как минифицированного варианта, так и pretty print варианта с дополнительными пробелами и сбросами строк).
  • Рекомендуется использование кодировки UTF-8 без дополнительного экранирования ({\"name\": \"Иванов Иван\"}).
  • Также возможно использовать ascii кодировку с экранированием ({\"name\": \"\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432 \\u0418\\u0432\\u0430\\u043d\"}).
  • К типам данных в определённым полях накладываются дополнительные условия, описанные в каждом конкретном методе. В JSON типами данных являются string, number, boolean, null, object, array.

Ответ

Ответ свыше определенной длины будет сжиматься методом gzip.

Ошибки и коды ответов

API широко использует информирование при помощи кодов ответов. Приложение должно корректно их обрабатывать.

В случае неполадок и сбоев, возможны ответы с кодом 503 и 500.

При каждой ошибке, помимо кода ответа, в теле ответа может быть выдана дополнительная информация, позволяющая разработчику понять причину соответствующего ответа.

Более подробно про возможные ошибки.

Недокументированные поля и параметры запросов

В ответах и параметрах API можно найти ключи, не описанные в документации. Обычно это означает, что они оставлены для совместимости со старыми версиями. Их использование не рекомендуется. Если ваше приложение использует такие ключи, перейдите на использование актуальных ключей, описанных в документации.

Пагинация

К любому запросу, подразумевающему выдачу списка объектов, можно в параметрах указать page=N&per_page=M. Нумерация идёт с нуля, по умолчанию выдаётся первая (нулевая) страница с 20 объектами на странице. Во всех ответах, где доступна пагинация, единообразный корневой объект:

{
  \"found\": 1,
  \"per_page\": 1,
  \"pages\": 1,
  \"page\": 0,
  \"items\": [{}]
}

Выбор сайта

API HeadHunter позволяет получать данные со всех сайтов группы компании HeadHunter.

В частности:

  • hh.ru
  • rabota.by
  • hh1.az
  • hh.uz
  • hh.kz
  • headhunter.ge
  • headhunter.kg

Запросы к данным на всех сайтах следует направлять на https://api.hh.ru/.

При необходимости учесть специфику сайта, можно добавить в запрос параметр ?host=. По умолчанию используется hh.ru.

Например, для получения локализаций, доступных на hh.kz необходимо сделать GET запрос на https://api.hh.ru/locales?host=hh.kz.

CORS (Cross-Origin Resource Sharing)

API поддерживает технологию CORS для запроса данных из браузера с произвольного домена. Этот метод более предпочтителен, чем использование JSONP. Он не ограничен методом GET. Для отладки CORS доступен специальный метод. Для использования JSONP передайте параметр ?callback=callback_name.

Внешние ссылки на статьи и стандарты

Авторизация

API поддерживает следующие уровни авторизации:

Авторизация пользователя

Для выполнения запросов от имени пользователя необходимо пользоваться токеном пользователя.

В начале приложению необходимо направить пользователя (открыть страницу) по адресу:

https://hh.ru/oauth/authorize?
response_type=code&
client_id={client_id}&
state={state}&
redirect_uri={redirect_uri}

Обязательные параметры:

  • response_type=code — указание на способ получения авторизации, используя authorization code
  • client_id — идентификатор, полученный при создании приложения

Необязательные параметры:

  • state — в случае указания, будет включен в ответный редирект. Это позволяет исключить возможность взлома путём подделки межсайтовых запросов. Подробнее об этом: RFC 6749. Section 10.12
  • redirect_uri — uri для перенаправления пользователя после авторизации. Если не указать, используется из настроек приложения. При наличии происходит валидация значения. Вероятнее всего, потребуется сделать urlencode значения параметра.

Правила формирования специального redirect_uri

К примеру, если в настройках сохранен http://example.com/oauth, то разрешено указывать:

  • http://www.example.com/oauth — поддомен;
  • http://www.example.com/oauth/sub/path — уточнение пути;
  • http://example.com/oauth?lang=RU — дополнительный параметр;
  • http://www.example.com/oauth/sub/path?lang=RU — всё вместе.

Запрещено:

  • https://example.com/oauth — различные протоколы;
  • http://wwwexample.com/oauth — различные домены;
  • http://wwwexample.com/ — другой путь;
  • http://example.com/oauths — другой путь;
  • http://example.com:80/oauths — указание изначально отсутствующего порта;

Процесс авторизации

Если пользователь не авторизован на сайте, ему будет показана форма авторизации на сайте. После прохождения авторизации на сайте, пользователю будет выведена форма с запросом разрешения доступа вашего приложения к его персональным данным.

Если пользователь не разрешает доступ приложению, пользователь будет перенаправлен на указанный redirect_uri с ?error=access_denied и state={state}, если таковой был указан при первом запросе.

<a name="get-authorization_code">

Успешное получение временного authorization_code

В случае разрешения прав, в редиректе будет указан временный authorization_code:

HTTP/1.1 302 FOUND
Location: {redirect_uri}?code={authorization_code}

Если пользователь авторизован на сайте и доступ данному приложению однажды ранее выдан, ответом будет сразу вышеописанный редирект с authorization_code (без показа формы логина и выдачи прав).

Получение access и refresh токенов

После получения authorization_code приложению необходимо сделать сервер-сервер запрос POST https://api.hh.ru/token для обмена полученного authorization_code на access_token (старый запрос POST https://hh.ru/oauth/token считается устаревшим).

В теле запроса необходимо передать дополнительные параметры.

Тело запроса необходимо передавать в стандартном application/x-www-form-urlencoded с указанием соответствующего заголовка Content-Type.

authorization_code имеет довольно короткий срок жизни, при его истечении необходимо запросить новый.

Обновление пары access и refresh токенов

access_token также имеет срок жизни (ключ expires_in, в секундах), при его истечении приложение должно сделать запрос с refresh_token для получения нового.

Запрос необходимо делать в application/x-www-form-urlencoded.

POST https://api.hh.ru/token

(старый запрос POST https://hh.ru/oauth/token считается устаревшим)

В теле запроса необходимо передать дополнительные параметры

refresh_token можно использовать только один раз и только по истечению срока действия access_token.

После получения новой пары access и refresh токенов, их необходимо использовать в дальнейших запросах в api и запросах на продление токена.

Запрос авторизации под другим пользователем

Возможен следующий сценарий:

  1. Приложение перенаправляет пользователя на сайт с запросом авторизации.
  2. Пользователь на сайте уже авторизован и данному приложение доступ уже был разрешен.
  3. Пользователю будет предложена возможность продолжить работу под текущим аккаунтом, либо зайти под другим аккаунтом.

Если есть необходимость, чтобы на шаге 3 сразу происходило перенаправление (redirect) с временным токеном, необходимо добавить к запросу /oauth/authorize... параметр skip_choose_account=true. В этом случае автоматически выдаётся доступ пользователю авторизованному на сайте.

Если есть необходимость всегда показывать форму авторизации, приложение может добавить к запросу /oauth/authorize... параметр force_login=true. В этом случае, пользователю будет показана форма авторизации с логином и паролем даже в случае, если пользователь уже авторизован.

Это может быть полезно приложениям, которые предоставляют сервис только для соискателей. Если пришел пользователь-работодатель, приложение может предложить пользователю повторно разрешить доступ на сайте, уже указав другую учетную запись.

Также, после авторизации приложение может показать пользователю сообщение:

Вы вошли как %Имя_Фамилия%. Это не вы?

и предоставить ссылку с force_login=true для возможности захода под другим логином.

Авторизация под разными рабочими аккаунтами

Для получения списка рабочих аккаунтов менеджера и для работы под разными рабочими аккаунтами менеджера необходимо прочитать документацию по рабочим аккаунтам менеджера

В случае компрометации токена необходимо инвалидировать скомпрометированный токен и запросить токен заново!

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Generator version: 7.9.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://api.hh.ru/openapi/redoc

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import hh "github.com/zaboal/hh-go"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value hh.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), hh.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value hh.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), hh.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using hh.ContextOperationServerIndices and hh.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), hh.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), hh.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://api.hh.ru

ClassMethodHTTP requestDescription
DefaultApiAddApplicantCommentPost /applicant_comments/{applicant_id}Добавление комментария
DefaultApiAddApplicantComment_0Post /applicant_comments/{applicant_id}Добавление комментария
DefaultApiAddEmployerManagerPost /employers/{employer_id}/managersДобавление менеджера
DefaultApiAddEmployerToBlacklistedPut /employers/blacklisted/{employer_id}Добавление работодателя в список скрытых
DefaultApiAddResumeVisibilityListPost /resumes/{resume_id}/{list_type}Добавление работодателей в список видимости
DefaultApiAddVacancyToArchivePut /employers/{employer_id}/vacancies/archived/{vacancy_id}Архивация вакансии
DefaultApiAddVacancyToArchive_0Put /employers/{employer_id}/vacancies/archived/{vacancy_id}Архивация вакансии
DefaultApiAddVacancyToBlacklistedPut /vacancies/blacklisted/{vacancy_id}Добавление вакансии в список скрытых
DefaultApiAddVacancyToFavoritePut /vacancies/favorited/{vacancy_id}Добавление вакансии в список отобранных
DefaultApiAddVacancyToHiddenPut /employers/{employer_id}/vacancies/hidden/{vacancy_id}Удаление вакансий
DefaultApiApplyToVacancyPost /negotiationsОтклик на вакансию
DefaultApiAuthorizePost /oauth/tokenПолучение access-токена
DefaultApiAuthorize_0Post /oauth/tokenПолучение access-токена
DefaultApiAuthorize_1Post /oauth/tokenПолучение access-токена
DefaultApiChangeNegotiationActionPut /negotiations/{collection_name}/{nid}Действия по отклику/приглашению коллекции
DefaultApiChangeNegotiationAction_0Put /negotiations/{collection_name}/{nid}Действия по отклику/приглашению коллекции
DefaultApiChangeVacancyDraftPut /vacancies/drafts/{draft_id}Изменение черновика вакансии
DefaultApiConfirmPhoneInResumePost /resume_phone_confirmПодтвердить телефон кодом
DefaultApiCreateResumePost /resumesСоздание резюме
DefaultApiCreateSavedResumeSearchPost /saved_searches/resumesСоздание нового сохраненного поиска резюме
DefaultApiCreateSavedVacancySearchPost /saved_searches/vacanciesСоздание нового сохраненного поиска вакансий
DefaultApiCreateVacancyDraftPost /vacancies/draftsСоздание черновика вакансии
DefaultApiDeleteApplicantCommentDelete /applicant_comments/{applicant_id}/{comment_id}Удаление комментария
DefaultApiDeleteApplicantComment_0Delete /applicant_comments/{applicant_id}/{comment_id}Удаление комментария
DefaultApiDeleteArtifactDelete /artifacts/{id}Удаление артефакта
DefaultApiDeleteEmployerFromBlacklistedDelete /employers/blacklisted/{employer_id}Удаление работодателя из списка скрытых
DefaultApiDeleteEmployerFromResumeVisibilityListDelete /resumes/{resume_id}/{list_type}/employerУдаление работодателя из списка видимости
DefaultApiDeleteEmployerManagerDelete /employers/{employer_id}/managers/{manager_id}Удаление менеджера
DefaultApiDeleteResumeDelete /resumes/{resume_id}Удаление резюме
DefaultApiDeleteResumeVisibilityListDelete /resumes/{resume_id}/{list_type}Очистка списка видимости
DefaultApiDeleteSavedResumeSearchDelete /saved_searches/resumes/{id}Удаление сохраненного поиска резюме
DefaultApiDeleteSavedVacancySearchDelete /saved_searches/vacancies/{id}Удаление сохраненного поиска вакансий
DefaultApiDeleteVacancyDraftDelete /vacancies/drafts/{draft_id}Удаление черновика вакансии
DefaultApiDeleteVacancyFromBlacklistedDelete /vacancies/blacklisted/{vacancy_id}Удаление вакансии из списка скрытых
DefaultApiDeleteVacancyFromFavoriteDelete /vacancies/favorited/{vacancy_id}Удаление вакансии из списка отобранных
DefaultApiDisableAutomaticVacancyPublicationDelete /vacancies/auto_publicationОтмена автопубликации вакансии
DefaultApiEditArtifactPut /artifacts/{id}Редактирование артефакта
DefaultApiEditCurrentUserInfoPost /meРедактирование информации авторизованного пользователя
DefaultApiEditEmployerManagerPut /employers/{employer_id}/managers/{manager_id}Редактирование менеджера
DefaultApiEditNegotiationMessagePut /negotiations/{nid}/messages/{mid}Редактирование сообщения в отклике
DefaultApiEditResumePut /resumes/{resume_id}Обновление резюме
DefaultApiEditVacancyPut /vacancies/{vacancy_id}Редактирование вакансий
DefaultApiEditVacancy_0Put /vacancies/{vacancy_id}Редактирование вакансий
DefaultApiGetActiveNegotiationsGet /negotiations/activeСписок активных откликов
DefaultApiGetActiveVacancyListGet /employers/{employer_id}/vacancies/activeПросмотр списка опубликованных вакансий
DefaultApiGetActiveVacancyList_0Get /employers/{employer_id}/vacancies/activeПросмотр списка опубликованных вакансий
DefaultApiGetAddressGet /employers/{employer_id}/addresses/{address_id}Получение адреса
DefaultApiGetAddress_0Get /employers/{employer_id}/addresses/{address_id}Получение адреса
DefaultApiGetAllDistrictsGet /districtsСписок районов во всех городах
DefaultApiGetApplicantCommentsListGet /applicant_comments/{applicant_id}Получение списка комментариев
DefaultApiGetApplicantCommentsList_0Get /applicant_comments/{applicant_id}Получение списка комментариев
DefaultApiGetApplicantPhoneInfoGet /resume_should_send_smsПолучить информацию о телефоне соискателя
DefaultApiGetArchivedVacanciesGet /employers/{employer_id}/vacancies/archivedСписок архивных вакансий
DefaultApiGetArchivedVacancies_0Get /employers/{employer_id}/vacancies/archivedСписок архивных вакансий
DefaultApiGetAreaLeavesSuggestsGet /suggests/area_leavesПодсказки по регионам, являющимися листами в дереве регионов
DefaultApiGetAreasGet /areasДерево всех регионов
DefaultApiGetAreasFromSpecifiedGet /areas/{area_id}Справочник регионов, начиная с указанного
DefaultApiGetAreasSuggestsGet /suggests/areasПодсказки по регионам
DefaultApiGetArtifactPhotosGet /artifacts/photoПолучение фотографий
DefaultApiGetArtifactPhotosConditionsGet /artifacts/photo/conditionsУсловия загрузки фотографий
DefaultApiGetArtifactsPortfolioGet /artifacts/portfolioПолучение портфолио
DefaultApiGetArtifactsPortfolioConditionsGet /artifacts/portfolio/conditionsУсловия загрузки портфолио
DefaultApiGetAvailableVacancyTypesGet /employers/{employer_id}/managers/{manager_id}/vacancies/available_typesВарианты публикации вакансий у текущего менеджера
DefaultApiGetBlacklistedEmployersGet /employers/blacklistedСписок скрытых работодателей
DefaultApiGetBlacklistedVacanciesGet /vacancies/blacklistedСписок скрытых вакансий
DefaultApiGetCollectionNegotiationsListGet /negotiations/responseСписок откликов/приглашений коллекции
DefaultApiGetCollectionNegotiationsList_0Get /negotiations/responseСписок откликов/приглашений коллекции
DefaultApiGetCountriesGet /areas/countriesСправочник стран
DefaultApiGetCurrentUserInfoGet /meИнформация о текущем пользователе
DefaultApiGetCurrentUserInfo_0Get /meИнформация о текущем пользователе
DefaultApiGetCurrentUserInfo_1Get /meИнформация о текущем пользователе
DefaultApiGetCurrentUserInfo_2Get /meИнформация о текущем пользователе
DefaultApiGetCurrentUserInfo_3Get /meИнформация о текущем пользователе
DefaultApiGetDictionariesGet /dictionariesСправочники полей
DefaultApiGetEducationalInstitutionsDictionaryGet /educational_institutionsОсновная информация об учебных заведениях
DefaultApiGetEducationalInstitutionsSuggestsGet /suggests/educational_institutionsПодсказки по названиям учебных заведений
DefaultApiGetEmployerAddressesGet /employers/{employer_id}/addressesСписок адресов работодателя
DefaultApiGetEmployerAddresses_0Get /employers/{employer_id}/addressesСписок адресов работодателя
DefaultApiGetEmployerDepartmentsGet /employers/{employer_id}/departmentsСправочник департаментов работодателя
DefaultApiGetEmployerDepartments_0Get /employers/{employer_id}/departmentsСправочник департаментов работодателя
DefaultApiGetEmployerInfoGet /employers/{employer_id}Информация о работодателе
DefaultApiGetEmployerManagerGet /employers/{employer_id}/managers/{manager_id}Получение информации о менеджере
DefaultApiGetEmployerManagerLimitsGet /employers/{employer_id}/managers/{manager_id}/limits/resumeДневной лимит просмотра резюме для текущего менеджера
DefaultApiGetEmployerManagerTypesGet /employers/{employer_id}/manager_typesСправочник типов и прав менеджера
DefaultApiGetEmployerManagerTypes_0Get /employers/{employer_id}/manager_typesСправочник типов и прав менеджера
DefaultApiGetEmployerManager_0Get /employers/{employer_id}/managers/{manager_id}Получение информации о менеджере
DefaultApiGetEmployerManagersGet /employers/{employer_id}/managersСписок менеджеров работодателя
DefaultApiGetEmployerManagers_0Get /employers/{employer_id}/managersСписок менеджеров работодателя
DefaultApiGetEmployerVacancyAreasGet /employers/{employer_id}/vacancy_areas/activeСписок регионов, в которых есть активные вакансии
DefaultApiGetFacultiesGet /educational_institutions/{id}/facultiesСписок факультетов учебного заведения
DefaultApiGetFavoriteVacanciesGet /vacancies/favoritedСписок отобранных вакансий
DefaultApiGetFieldsOfStudySuggestionsGet /suggests/fields_of_studyПодсказки по специализациям
DefaultApiGetHiddenVacanciesGet /employers/{employer_id}/vacancies/hiddenСписок удаленных вакансий
DefaultApiGetHiddenVacancies_0Get /employers/{employer_id}/vacancies/hiddenСписок удаленных вакансий
DefaultApiGetIndustriesGet /industriesОтрасли компаний
DefaultApiGetLanguagesGet /languagesСписок всех языков
DefaultApiGetLocalesGet /localesСписок доступных локалей
DefaultApiGetLocalesForResumeGet /locales/resumeСписок доступных локалей для резюме
DefaultApiGetMailTemplatesGet /employers/{employer_id}/mail_templatesСписок доступных шаблонов ответов соискателю
DefaultApiGetMailTemplates_0Get /employers/{employer_id}/mail_templatesСписок доступных шаблонов ответов соискателю
DefaultApiGetManagerAccountsGet /manager_accounts/mineРабочие аккаунты менеджера
DefaultApiGetManagerSettingsGet /employers/{employer_id}/managers/{manager_id}/settingsПредпочтения менеджера
DefaultApiGetMetroStationsGet /metroСписок станций метро во всех городах
DefaultApiGetMetroStationsInCityGet /metro/{city_id}Список станций метро в указанном городе
DefaultApiGetMineResumesGet /resumes/mineСписок резюме авторизованного пользователя
DefaultApiGetNegotiationItemGet /negotiations/{id}Просмотр отклика/приглашения
DefaultApiGetNegotiationItem_0Get /negotiations/{id}Просмотр отклика/приглашения
DefaultApiGetNegotiationMessageTemplatesGet /message_templates/{template}Список шаблонов ответов для отклика/приглашения
DefaultApiGetNegotiationMessagesGet /negotiations/{nid}/messagesПросмотр списка сообщений в отклике/приглашении
DefaultApiGetNegotiationMessages_0Get /negotiations/{nid}/messagesПросмотр списка сообщений в отклике/приглашении
DefaultApiGetNegotiationMessages_1Get /negotiations/{nid}/messagesПросмотр списка сообщений в отклике/приглашении
DefaultApiGetNegotiationTestResultsGet /negotiations/{nid}/test/solutionПолучить результаты тестов, прикрепленных к вакансии
DefaultApiGetNegotiationTestResults_0Get /negotiations/{nid}/test/solutionПолучить результаты тестов, прикрепленных к вакансии
DefaultApiGetNegotiationsGet /negotiationsСписок откликов/приглашений
DefaultApiGetNegotiationsStatisticsEmployerGet /employers/{employer_id}/negotiations_statisticsСтатистика откликов для компании
DefaultApiGetNegotiationsStatisticsEmployer_0Get /employers/{employer_id}/negotiations_statisticsСтатистика откликов для компании
DefaultApiGetNegotiationsStatisticsManagerGet /employers/{employer_id}/managers/{manager_id}/negotiations_statisticsСтатистика откликов для менеджера
DefaultApiGetNegotiationsStatisticsManager_0Get /employers/{employer_id}/managers/{manager_id}/negotiations_statisticsСтатистика откликов для менеджера
DefaultApiGetNegotiations_0Get /negotiationsСписок откликов/приглашений
DefaultApiGetNegotiations_1Get /negotiationsСписок откликов/приглашений
DefaultApiGetNewResumeConditionsGet /resume_conditionsУсловия заполнения полей нового резюме
DefaultApiGetPayableApiActionsGet /employers/{employer_id}/services/payable_api_actions/activeИнформация по активным услугам API для платных методов
DefaultApiGetPayableApiMethodAccessGet /employers/{employer_id}/managers/{manager_id}/method_accessПроверка доступа к платным методам
DefaultApiGetPositionsSuggestionsGet /suggests/positionsПодсказки по должностям резюме
DefaultApiGetPrefNegotiationsOrderGet /vacancies/{id}/preferred_negotiations_orderПросмотр предпочитаемой сортировки откликов
DefaultApiGetPrefNegotiationsOrder_0Get /vacancies/{id}/preferred_negotiations_orderПросмотр предпочитаемой сортировки откликов
DefaultApiGetProfessionalRolesDictionaryGet /professional_rolesСправочник профессиональных ролей
DefaultApiGetProfessionalRolesSuggestsGet /suggests/professional_rolesПодсказки по профессиональным ролям
DefaultApiGetProlongationVacancyInfoGet /vacancies/{vacancy_id}/prolongateИнформация о возможности продления вакансии
DefaultApiGetProlongationVacancyInfo_0Get /vacancies/{vacancy_id}/prolongateИнформация о возможности продления вакансии
DefaultApiGetRegisteredCompaniesSuggestsGet /suggests/companiesПодсказки по зарегистрированным организациям
DefaultApiGetResumeGet /resumes/{resume_id}Просмотр резюме
DefaultApiGetResumeAccessTypesGet /resumes/{resume_id}/access_typesПолучение списка типов видимости резюме
DefaultApiGetResumeConditionsGet /resumes/{resume_id}/conditionsУсловия заполнения полей существующего резюме
DefaultApiGetResumeCreationAvailabilityGet /resumes/creation_availabilityПроверка возможности создания резюме
DefaultApiGetResumeNegotiationsHistoryGet /resumes/{resume_id}/negotiations_historyИстория откликов/приглашений по резюме
DefaultApiGetResumeNegotiationsHistory_0Get /resumes/{resume_id}/negotiations_historyИстория откликов/приглашений по резюме
DefaultApiGetResumeSearchKeywordsSuggestsGet /suggests/resume_search_keywordПодсказки по ключевым словам поиска резюме
DefaultApiGetResumeStatusGet /resumes/{resume_id}/statusСтатус резюме и готовность к публикации
DefaultApiGetResumeViewHistoryGet /resumes/{resume_id}/viewsИстория просмотра резюме
DefaultApiGetResumeVisibilityEmployersListGet /resumes/{resume_id}/{list_type}/searchПоиск работодателей для добавления в список видимости
DefaultApiGetResumeVisibilityListGet /resumes/{resume_id}/{list_type}Получение списка видимости резюме
DefaultApiGetResume_0Get /resumes/{resume_id}Просмотр резюме
DefaultApiGetResume_1Get /resumes/{resume_id}Просмотр резюме
DefaultApiGetResume_2Get /resumes/{resume_id}Просмотр резюме
DefaultApiGetResumesByStatusGet /vacancies/{vacancy_id}/resumes_by_statusРезюме, сгруппированные по возможности отклика на данную вакансию
DefaultApiGetSalaryEmployeeLevelsGet /salary_statistics/dictionaries/employee_levelsУровни компетенций
DefaultApiGetSalaryEvaluationGet /salary_statistics/paid/salary_evaluation/{area_id}Оценка заработной платы без прогноза
DefaultApiGetSalaryEvaluation_0Get /salary_statistics/paid/salary_evaluation/{area_id}Оценка заработной платы без прогноза
DefaultApiGetSalaryIndustriesGet /salary_statistics/dictionaries/salary_industriesОтрасли и сферы деятельности
DefaultApiGetSalaryProfessionalAreasGet /salary_statistics/dictionaries/professional_areasПрофобласти и специализации
DefaultApiGetSalarySalaryAreasGet /salary_statistics/dictionaries/salary_areasРегионы и города
DefaultApiGetSavedResumeSearchGet /saved_searches/resumes/{id}Получение единичного сохраненного поиска резюме
DefaultApiGetSavedResumeSearchesGet /saved_searches/resumesСписок сохраненных поисков резюме
DefaultApiGetSavedVacancySearchGet /saved_searches/vacancies/{id}Получение единичного сохраненного поиска вакансий
DefaultApiGetSavedVacancySearchesGet /saved_searches/vacanciesСписок сохраненных поисков вакансий
DefaultApiGetSkillSetSuggestsGet /suggests/skill_setПодсказки по ключевым навыкам
DefaultApiGetSkillsGet /skillsСправочник ключевых навыков
DefaultApiGetSuitableResumesGet /vacancies/{vacancy_id}/suitable_resumesСписок подходящих для отклика резюме
DefaultApiGetTestsDictionaryGet /employers/{employer_id}/testsСправочник тестов работодателя
DefaultApiGetTestsDictionary_0Get /employers/{employer_id}/testsСправочник тестов работодателя
DefaultApiGetVacanciesGet /vacanciesПоиск по вакансиям
DefaultApiGetVacanciesRelatedToVacancyGet /vacancies/{vacancy_id}/related_vacanciesПоиск подходящих вакансий
DefaultApiGetVacanciesSimilarToResumeGet /resumes/{resume_id}/similar_vacanciesПоиск по вакансиям, похожим на резюме
DefaultApiGetVacanciesSimilarToVacancyGet /vacancies/{vacancy_id}/similar_vacanciesПоиск по вакансиям, похожим на вакансию
DefaultApiGetVacancyGet /vacancies/{vacancy_id}Просмотр вакансии
DefaultApiGetVacancyBrandedTemplatesListGet /employers/{employer_id}/vacancy_branded_templatesСписок доступных бренд шаблонов вакансий работодателя
DefaultApiGetVacancyBrandedTemplatesList_0Get /employers/{employer_id}/vacancy_branded_templatesСписок доступных бренд шаблонов вакансий работодателя
DefaultApiGetVacancyConditionsGet /vacancy_conditionsУсловия заполнения полей при добавлении и редактировании вакансий
DefaultApiGetVacancyDraftGet /vacancies/drafts/{draft_id}Получение черновика вакансии
DefaultApiGetVacancyDraftListGet /vacancies/draftsПолучение списка черновиков вакансий
DefaultApiGetVacancyPositionsSuggestsGet /suggests/vacancy_positionsПодсказки по должностям вакансий
DefaultApiGetVacancySearchKeywordsGet /suggests/vacancy_search_keywordПодсказки по ключевым словам поиска вакансий
DefaultApiGetVacancyStatsGet /vacancies/{vacancy_id}/statsСтатистика по вакансии
DefaultApiGetVacancyUpgradeListGet /vacancies/{vacancy_id}/upgradesСписок улучшений для вакансии
DefaultApiGetVacancyVisitorsGet /vacancies/{vacancy_id}/visitorsПосмотревшие вакансию
DefaultApiGetVacancy_0Get /vacancies/{vacancy_id}Просмотр вакансии
DefaultApiHideActiveResponseDelete /negotiations/active/{nid}Скрыть отклик
DefaultApiInvalidateTokenDelete /oauth/tokenИнвалидация токена
DefaultApiInvalidateToken_0Delete /oauth/tokenИнвалидация токена
DefaultApiInvalidateToken_1Delete /oauth/tokenИнвалидация токена
DefaultApiInviteApplicantToVacancyPost /negotiations/phone_interviewПригласить соискателя на вакансию
DefaultApiInviteApplicantToVacancy_0Post /negotiations/phone_interviewПригласить соискателя на вакансию
DefaultApiLoadArtifactPost /artifactsЗагрузка артефакта
DefaultApiMoveSavedResumeSearchPut /saved_searches/resumes/{saved_search_id}/managers/{manager_id}Передача сохраненного поиска резюме другому менеджеру
DefaultApiPostNegotiationsTopicsReadPost /negotiations/readОтметить отклики прочитанными
DefaultApiPostNegotiationsTopicsRead_0Post /negotiations/readОтметить отклики прочитанными
DefaultApiPublishResumePost /resumes/{resume_id}/publishПубликация резюме
DefaultApiPublishVacancyPost /vacanciesПубликация вакансии
DefaultApiPublishVacancyFromDraftPost /vacancies/drafts/{draft_id}/publishПубликация вакансии на основе черновика
DefaultApiPublishVacancy_0Post /vacanciesПубликация вакансии
DefaultApiPutMailTemplatesItemPut /employers/{employer_id}/mail_templates/{template_id}Изменение шаблона ответа соискателю
DefaultApiPutMailTemplatesItem_0Put /employers/{employer_id}/mail_templates/{template_id}Изменение шаблона ответа соискателю
DefaultApiPutNegotiationsCollectionToNextStatePut /negotiations/{id}Действия по откликам/приглашениям
DefaultApiPutNegotiationsCollectionToNextState_0Put /negotiations/{id}Действия по откликам/приглашениям
DefaultApiPutPrefNegotiationsOrderPut /vacancies/{id}/preferred_negotiations_orderИзменение предпочитаемой сортировки откликов
DefaultApiPutPrefNegotiationsOrder_0Put /vacancies/{id}/preferred_negotiations_orderИзменение предпочитаемой сортировки откликов
DefaultApiRestoreVacancyFromHiddenDelete /employers/{employer_id}/vacancies/hidden/{vacancy_id}Восстановление вакансии из удаленных
DefaultApiSearchEmployerGet /employersПоиск работодателя
DefaultApiSearchForResumesGet /resumesПоиск резюме
DefaultApiSearchForResumes_0Get /resumesПоиск резюме
DefaultApiSearchForVacancyDraftDuplicatesGet /vacancies/drafts/{draft_id}/duplicatesПроверка наличия дубликатов вакансии
DefaultApiSendCodeForVerifyPhoneInResumePost /resume_phone_generate_codeОтправить код подтверждения для телефона резюме
DefaultApiSendNegotiationMessagePost /negotiations/{nid}/messagesОтправка нового сообщения
DefaultApiSendNegotiationMessage_0Post /negotiations/{nid}/messagesОтправка нового сообщения
DefaultApiUpdateApplicantCommentPut /applicant_comments/{applicant_id}/{comment_id}Обновление комментария
DefaultApiUpdateApplicantComment_0Put /applicant_comments/{applicant_id}/{comment_id}Обновление комментария
DefaultApiUpdateSavedResumeSearchPut /saved_searches/resumes/{id}Обновление сохраненного поиска резюме
DefaultApiUpdateSavedVacancySearchPut /saved_searches/vacancies/{id}Обновление сохраненного поиска вакансий
DefaultApiVacancyProlongationPost /vacancies/{vacancy_id}/prolongateПродление вакансии
DefaultApiVacancyProlongation_0Post /vacancies/{vacancy_id}/prolongateПродление вакансии
WebhookAPIAPICancelWebhookSubscriptionDelete /webhook/subscriptions/{subscription_id}Удалить подписку на уведомление
WebhookAPIAPIChangeWebhookSubscriptionPut /webhook/subscriptions/{subscription_id}Изменить подписку на уведомления
WebhookAPIAPIGetWebhookSubscriptionsGet /webhook/subscriptionsПолучить список уведомлений, на которые подписан пользователь
WebhookAPIAPIPostWebhookSubscriptionPost /webhook/subscriptionsПодписаться на уведомления

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

OauthToken

  • Type: HTTP Bearer token authentication

Example

auth := context.WithValue(context.Background(), hh.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

[email protected]