1. Общая информация
API Хабр Карьеры заточен под интеграцию с внешними CRM-системами по управлению кандидатами. Он отдаёт отклики на вакансии, размещённые на нашем сервисе, а вместе с откликами и полное резюме откликнувшегося кандидата, включая все контактные данные, которые не скрыты настройками приватности. Скорость отдачи данных мгновенная, никаких ограничений на объем данных нет.
API не предназначен для работы с базой резюме напрямую и для ведения переписки с кандидатами.
Пользование API бесплатное. Вы платите только за размещение вакансий на нашем сервисе, как и все другие клиенты.
- API работает по протоколу HTTPS;
- Авторизация осуществляется по протоколу OAuth2;
- Все данные доступны только в формате JSON;
- Базовый URL — https://career.habr.com/api
2. Начало работы
Для использования API нужно зарегистрировать приложение по адресу https://career.habr.com/profile/applications и настроить процесс авторизации по протоколу OAuth 2.0. Подробная документация по протоколу: RFC 6749.
Зарегистрированное приложение может запрашивать у пользователей сервиса разрешение доступа к их персональным данным, без получения и хранения их логина и пароля.
3. Процесс авторизации
В начале необходимо направить пользователя на страницу по адресу:
https://career.habr.com/integrations/oauth/authorize?
client_id={client_id}&
redirect_uri={redirect_uri}&
response_type=code
Обязательные параметры:
response_type=code
— указание на способ получения авторизации;client_id
— идентификатор, полученный при создании приложения;redirect_uri
— uri для перенаправления пользователя после авторизации. Значение параметра валидируется, вам может потребоваться сделать urlencode значения данного параметра.
Если пользователь не авторизован на сайте, ему будет показана форма авторизации на сайте. После прохождения авторизации на сайте, пользователю будет выведена форма с запросом разрешения доступа вашего приложения к его персональным данным.
Если пользователь не разрешает доступ приложению, то он будет перенаправлен на указанный redirect_uri с параметром error=access_denied
.
В случае разрешения прав, в редиректе будет указан временный authorization_code
.
Если пользователь авторизован на сайте и доступ данному приложению уже был выдан ранее, то ответом сразу будет вышеописанный редирект с authorization_code
.
После получения authorization_code
приложению необходимо осуществить POST-запрос на адрес https://career.habr.com/integrations/oauth/token для обмена полученного authorization_code
на access_token
.
https://career.habr.com/integrations/oauth/token?
client_id={client_id}&
client_secret={client_secret}&
redirect_uri={redirect_uri}&
grant_type=authorization_code&
code={authorization_code}
Обязательные параметры:
grant_type=authorization_code
client_id, client_secret, redirect_uri
- значения, полученные при регистрации приложенияcode
- значение authorization_code, полученное при перенаправлении пользователя
В ответ сервер пришлет JSON следующего вида:
{
"access_token": "ede87aba4312e7ff423e46745d6b17f04ff1a785603360b23e79b6b00f98a3af",
"token_type": "bearer",
"scope": "public",
"created_at": 1502376342
}
Если обмен authorization_code
произвести не удалось, то сервер вернётся ответ со статусом 400 Bad Request и следующим содержанием:
{
"error": "invalid_request",
"error_description": "bad redirect url"
}
4. Сроки жизни токенов
Время жизни authorization_code
- 10 минут, access_token
в текущей реализации перманентен.
5. Использование access-токена
Полученный access_token необходимо передавать в качестве параметра при любом запросе к API, например:
https://career.habr.com/api/v1/integrations/vacancies?
access_token=ede87aba4312e7ff423e46745d6b17f04ff1a7856