Code Monkey home page Code Monkey logo

api's Introduction

HeadHunter API

По-русски | In english

HeadHunter API — это инструментарий для интеграции HeadHunter в ваш продукт.

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

Для использования методов, требующих авторизацию пользователя или приложения, вам необходимо зарегистрировать приложение по адресу https://dev.hh.ru и настроить процесс авторизации.

Зарегистрированное приложение может запрашивать у пользователей hh.ru разрешение доступа к их персональным данным, без получения и хранения их логина и пароля.

‼️ Обратите внимание, что методы для работы с сообщениями в рамках отклика/приглашения от имени соискателя и менеджера работодателя устарели, и новые возможности чатов в них не будут поддерживаться. В связи с этим переписка может некорректно отображаться.

Доступ к ряду методов для работодателя платный.

Для уточнения стоимости API необходимо обратиться к Вашему персональному менеджеру или позвонить по телефону: +7 495 974-64-27 (для Москвы и Подмосковья),
+7 812 458-45-45 (для Санкт-Петербурга),
8 800 100-64-27 (для регионов России),
+375 17 336 03 02, +375 33 336 03 02 (для Республики Беларусь).

Доступная в OpenAPI документация будет со временем дополняться. Методы, описанные в данной документации и доступные в OpenAPI, имеют соответствующую ссылку.

Спецификация HeadHunter API: openapi.yml.

Содержание

Пометки в документации:

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

Контекст

Резюме

Вакансии

Соискатели

Работодатели/компании

Менеджеры работодателя

Переписка (отклики/приглашения)

Справочники

Подсказки (autosuggest, autocomplete)

Банк данных заработных плат

Поддержка, обратная связь, новости

Общайтесь с нами через twitter @apihhru или через почту [email protected].

Если вы нашли баг в работе HeadHunter API или виджетах, загляните в issues, возможно, про него мы уже знаем и чиним. Если нет, лучше всего сообщить о нём там. Там же вы можете оставлять свои пожелания и предложения.

Если вы нашли проблему на одном из сайтов HeadHunter, напишите в поддержку по сайту или в сообщество поддержки.

За новостями вы можете следить по коммитам в этом репозитории. RSS.

Часто задаваемые вопросы собраны в FAQ.

api's People

Contributors

a-busarov avatar a-mironov-hh-ru avatar adanilkina avatar airat102vb avatar alexeydubinin avatar antban avatar aulust avatar auriksa avatar bokshitsky avatar colorbash avatar daniilidrisov avatar danilknyazev avatar diacrome avatar georgyr avatar iliaaw avatar ilyashubin avatar iriss22 avatar leonidfeskov avatar maizy avatar mityanedima avatar romanphilipskikh avatar sabkaryan avatar sergdenisov avatar shurik2533 avatar smolov-denis avatar staanov avatar tpasichnik avatar vera-l avatar vorobey92 avatar yyakhontov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

api's Issues

Добавить url фото пользователя

В api.hh.ru/user хочется получать фотографию пользователя, например, фото прикрепленное к последнему резюме, если у последнего резюме нет фото, то у следующего.

Проблема с авторизацией

В случае, если аккаунт на jobs.tut.by - авторизация через m.hh.ru не проходит (указывает, что неверный логин/пароль, тоже самое выдает на самом hh.ru).
Но если пользователь авторизировался на jobs.tut.by - то всё отрабатывает как надо.
С этим возможно что-то сделать?

Контактная информация к вакансии в API.

Добрый день!
На сайте, в карточке вакансии есть "Показать контактную информацию" по клике на которую отображается контактная информация, есть ли возможность получить эти данные через API?
Этих данных в /vacancies/{vacancy_id} в поле address нет, тогда как на сайте данные есть.

P.S.
В API /vacancies/{vacancy_id} поле address содержит:

 "address": null, 

В /employers/{employer_id} этой информации тоже нет.

Спасибо!

Отказы на отклики и сообщения в откликах

Добрый день

Я правильно понимаю, что на данный момент нельзя отказывать соискателям или писать сообщения в откликах через API?

Если нельзя, то когда ориентировочно планируете внедрить эту возможность?

Спасибо.

Редактирование Redirect URI

На данный момент есть ошибка с Redirect URI #5
После исправления ошибки будет ли возможность исправить/изменить Redirect URI?

Добавить статус вакансии, что она в избранном

На старом API сейчас сделано, что нужно сначала получить все вакансии в избранном а потом проверять, есть ли вакансия в списке, было бы классно, что API в завимисоти от access_token понимала что за пользователь и для авторизованного юзера еще выдавала статус isFavorite как в любом списке вакансии, так и для всей вакансии целиком

дополнительные поля в список резюме

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

  • дата последнего обновления
  • зарплата
  • количество просмотров (всего и новых) (?Это под вопросом, потому что потребует добавления api для сброса количества новых просмотров)

Спрашиваю те данные, которые выводятся на странице мои резюме сайта hh.ru
Думаю, что для большинства приложений это были бы полезные данные в списке, чтобы дополнительно не ходить за данными каждого резюме отдельно.

В результатах поиска вакансий hrbrand всегда None

Хотя в gui-выдаче отображается.
http://career.ru/vacancy/8009557?query=hr-brand

{u'address': {u'building': u'11\u044110',
  u'city': u'\u041c\u043e\u0441\u043a\u0432\u0430',
  u'description': None,
  u'lat': 55.706472,
  u'lng': 37.597001,
  u'metro': None,
  u'raw': None,
  u'street': u'\u0443\u043b\u0438\u0446\u0430 \u041e\u0440\u0434\u0436\u043e\u043d\u0438\u043a\u0438\u0434\u0437\u0435'},
 u'alternate_url': u'http://hh.ru/vacancy/8009557',
 u'area': {u'id': u'1',
  u'name': u'\u041c\u043e\u0441\u043a\u0432\u0430',
  u'url': u'https://api.hh.ru/areas/1'},
 u'created_at': u'2013-06-03T15:10:13+0400',
 u'employer': {u'alternate_url': u'http://hh.ru/employer/799483',
  u'hrbrand': None,
  u'id': u'799483',
  u'logo_urls': {u'240': u'http://hh.ru/employer-logo/618084.jpeg',
   u'90': u'http://hh.ru/employer-logo/618083.jpeg',
   u'original': u'http://hh.ru/file/8019641.jpg'},
  u'name': u'Enter',
  u'trusted': True,
  u'url': u'https://api.hh.ru/employers/799483'},
 u'id': u'8009557',
 u'name': u'\u0421\u0442\u0430\u0436\u0435\u0440 \u0432 HR \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442',
 u'relations': [],
 u'response_letter_required': False,
 u'salary': {u'currency': u'RUR', u'from': 3000, u'to': 3000},
 u'type': u'open',
 u'url': u'https://api.hh.ru/vacancies/8009557'}

Paging, ограничение на параметр per_page

Добрый день,
В документации по api [https://github.com/hhru/api/blob/master/docs/vacancies.md] написано:
"При указании параметров пэйджинга (page, per_page) работает ограничение: общее кол-во возвращаемых вакансий не может быть больше 2000."
Однако, когда я пытаюсь выполнить запрос:
https://api.hh.ru/vacancies?per_page=2000
Получаю результат:
{"bad_arguments": [{"name": "per_page", "description": "bad argument"}], "description": "bad argument", "bad_argument": "per_page"}

Опытным путем установил, что на данный момент это ограничение составляет 500 элементов на страницу.
Возможно стоит поправить документацию.

кластера в поиске вакансий

Добрый день.
Хотелось сделать для сайта виджет, который показывает вакансии компании сгруппированный по специализациям (как на странице компании на hh.ru). Но я так понимаю это кроме как перебором всех специализаций компании не сделать. Не планируете в выдачу добавить поле specialization?

Ошибка авторизации

Не получается авторизоваться на https://dev.hh.ru пока не авторизуешься на hh.ru
При этом поведение очень странное. Пробую авторизоваться не пускает. Логинюсь на hh.ru, посте этого просто перегружаю страничку https://dev.hh.ru и оказываюсь авторизованным.
Скриншот я уже приводил Скриншот

Шаг 4 авторизации

После получения authorization_code необходимо получить access_token.
Для получения access_token необходимо выполнить шаг авторизации 4.
Вопросы:

  1. Является ли шаг 4 обязательным
  2. Что означает сервер-сервер запрос
  3. Как хранить параметр client_secret в приложении (например для Android) чтобы к нему нельзя было получить доступ. Если хранить client_secret в приложении то смысла нет в такой авторизации.

Авторизация для passportjs (nodejs/express)

Возможно вам будет интересно - добавил passportjs стратегию
https://github.com/getlot/passport-headhunter

проверить можно в папке examples создав приложение с Redirect URI
http://127.0.0.1:3000

немного запутался с Базовый URL — https://api.hh.ru/ и https://m.hh.ru для авторизации - в документации не очевидно это (в частности /me).
осталось в профиль добавить все необходимые поля, немного непонятно - они всегда там есть (null), или могут быть пропущены?
судя по примеру - могут быть пропущены?

стоит ли приводить их в стратегии к http://portablecontacts.net/draft-spec.html#name_element
например?
какой displayName вы считаете подходящим? сейчас я указал [json.first_name, json.last_name].join(' ');
Спасибо.

POST запрос на добавление\удаление из раздела "Отобранные"

В документации не указан данный запрос. Получилось сделать запрос вытащив его из Web-сайта:
POST-запрос на https://m.hh.ru/favorite/add
в теле запроса:
back_url /vacancies?areaId=113&page
vacancy_id ID_VACANCIES

для удаления /remove
Запрос работает, но только при повторной OAuth2.0 авторизации
какие параметры нужно еще добавить к запросу, чтобы отрабатывал без повторной авторизации?

P.S.: Добавление в заголовок запроса access_token не помогает.

Резюме пользователя

Добрый день, не могли бы вы подробнее описать, какая авторизация необходима для получения своих резюме через запрос на /resumes/mine

Приватные данные пользователя

Мне кажется мыло пользователя возвращаемое в поле email на запрос GET /me является излишней информацией. Вы так потеряете свою базу пользователей, а пользователи приватные данные.
Я вижу 3 варианта:

  • отказаться от поля email в запросе /me (я не вижу ему применения кроме как в корыстных целях)
  • выводить предупреждение пользователю, что программа получит персональные данные и перечислить их
  • в личном кабинете пользователя добавить настройку светить адрес приложениям или нет

Не возвращает 2000 employers

При запросе 1001 и более возвращает ответ:
{:errors=>[{:type=>"bad_argument", :value=>"page"}, {:type=>"bad_argument", :value=>"per_page"}],
:bad_arguments=>[{:name=>"page, per_page", :description=>"you can't look up more than 2000 items in the list"}],
:description=>"you can't look up more than 2000 items in the list",
:bad_argument=>"page, per_page"}

Что передавалось: per_page: 1001, page: 1

Хотя в документации и ответе указано, что максимум можно 2000 получить: https://github.com/hhru/api/blob/master/docs/employers.md
you can't look up more than 2000 items in the list

redirect_uri при авторизации приложения

Добрый день, в инструкции сказано, что "Если пользователь не разрешает доступ приложению, мы перенаправляем пользователя на указанный redirect_uri с ?error=access_denied. Иначе в редиректе мы указываем временный authorization_code"

redirect_uri тут, как я понимаю, тот который мы указываем в настройке приложения на dev.hh.ru? Можно ли передать redirect_uri с параметрами при запросе на https://m.hh.ru/oauth/authorize ?

Локализация

По адресу /dictionaries можно получить справочники.
Ключ site_lang - язык сайта намекает на локализацию.
По идее справочники должны быть локализованы.
Стоит ли рассчитывать на локализацию справочников?

внешний идентификатор компании

Есть ли возможность выдавать какой-либо идентификатор компании при выдаче информации о вакансии / компании помимо вашего внутреннего employer.id?

ИНН, ОГРН, Whatever?

Авторизация grant_type=password

Здравствуйте, подскажите.

Можно ли авторизироваться в API по логину и паролю напрямую использую параметр grant_type=password. Я планирую интегрировать аккаунт HH.ru компании с внутренней CRM, чтобы работой с hh.ru занималась сама CRM без участия пользователя и всяких редиректов.

Узнал что в Auth2.0 есть такая возможность получить токен используя запрос следующего вида:
[POST] -
https://m.hh.ru/oauth/token
[x-www-form-urlencoded data] -grant_type=password&client_id=000000000000000000&client_secret=0000000000000000000000&username=[email protected]&password=XXXXXXXX

но со всеми валидными данными в ответ приходит только
{"error_description": "client_id or client_secret not found", "error": "unauthorized_client"}

client_id и client_secret копирую из только что созданного приложения HH.ru API приложения, так что в них точно ошибиться не мог.

Возможно я что-то упустил?

Или подскажите как правильно организовать авторизацию с вашим API по типу "server-to-server" (без участия пользователя).

Спасибо.

autosuggest регионов

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

Тестирование публикации вакансий

Добрый день, есть ли возможность как-то тестировать разработку публикации вакансии? Тестовый аккаунт или размещение тестовой вакансии?

Не возвращается expires_in

На 4 шаге авторизации возвращается структура следующего вида

{
"access_token": "UA1....Q6GIJO",
"token_type": "bearer",
"refresh_token": "GEJ37E08.....BDC4C3G05CLD"
}

без поля expires_in

Поиск вакансий по координатам

top_lat, bottom_lat, left_lng, right_lng — значение гео-координат.
При поиске используется значение указанного в вакансии адреса.
Принимаемое значение — градусы в виде десятичной дроби.
Необходимо передавать одновременно все четыре параметра гео-координат, иначе вернется ошибка.

Не пойму никак, почему их четыре, есть по идее у точки две координаты (широта и долгота) и в Android я могу получить их 2, и как мне их использовать при поиске вакансии.(я так понял что эти параметры нужны для поиска вакансий недалеко от местоположения пользователя? если да то какое максимальное расстояние?)

uid при авторизации

Здравствуйте, можно ли как нибудь получить id пользователя при авторизации через hh api?

Создание вакансии

Здравствуйте, будет ли реализована возможность создавать вакансии с помощью API?

Спасибо.

Страничка приложения

При авторизации приложения выводится надпись {name} запрашивает доступ к вашим персональным данным Будет ли возможность создать страничку приложения где можно было бы вкратце описать приложение.

Добавить тип компании (кадровое агентство/прямой работодатель) в описание вакансии

Нельзя ли добавить в описание вакансии (https://github.com/hhru/api/blob/master/docs/vacancies.md) поле employer_type, чтобы не делая дополнительных запросов за информацией об работодателе узнать, вакансии принадлежат агентству кадров или они от прямого работодателя?


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

Авторизация без сервера

Третьим шагом авторизации вы перенаправляете пользователя на указанный redirect_uri с authorization_code. Четвертым шагом приложение делает сервер-сервер запрос.

Получается, что для работы с API сайта нужен сторонний сервер?
Как работать с API сайта например из Android приложения?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.