- Добавление кандидата в базу
- Добавление кандидата на вакансию
- Список кандидатов
- История работы с кандидатом
- Отщепление кандидата на подвакансию
POST /account/{account_id}/applicants
В теле запроса необходимо передать JSON вида:
{
"last_name": "Глибин",
"first_name": "Виталий",
"middle_name": "Николаевич",
"phone": "89260731778",
"email": "[email protected]",
"position": "Фронтендер",
"company": "ХХ",
"money": "100000 руб",
"birthday_day": 20,
"birthday_month": 7,
"birthday_year": 1984,
"photo": 12341,
"externals": [
{
"data": {
"body": "Текст резюме\nТакой текст"
},
"auth_type": "NATIVE",
"files": [
{
"id": 12430
}
],
"account_source": 208
}
]
}
[]
обозначает, что значение данного ключа является массивомa.b
обозначает объектa
с ключомb
Путь | Тип | Обязательный | Описание |
---|---|---|---|
last_name | string | Да | Фамилия |
first_name | string | Да | Имя |
middle_name | string | Нет | Отчество |
phone | string | Нет | Телефон |
string | Нет | Электронная почта | |
position | string | Нет | Кем работает |
company | string | Нет | Где работает |
money | string | Нет | Зарплатные ожидания |
birthday_day | number | Нет | День рождения |
birthday_month | number | Нет | Месяц рождения |
birthday_year | number | Нет | Год рождения |
photo | number | Нет | Фото кандидата (идентификатор загруженного файла), информация о загрузке файлов доступна здесь |
externals[].data.body | string | Нет | Текст резюме |
externals[].files.id | number | Нет | Идентификатор файла загруженного резюме |
externals[].account_source | number | Нет | Идентификатор источника резюме (справочник) |
Дополнительно к полям запроса также будут добавлены поля:
{
"id": 123321,
"created": "2017-04-10T21:34:01+03:00",
"doubles": [
{
"double": 123320
}
],
"agreement": {
"state": "not_sent",
"decision_date": null
}
}
Имя | Тип | Описание |
---|---|---|
id | number | Идентификатор кандидата |
created | datetime | Дата и время создания кандидата |
doubles[].double | number | Идентификатор кандидата, определенного как дубликат |
agreement.state | string | Состояние согласия на хранение Персональных Данных. Возвращается, если включен модуль Персональных Данных |
agreement.decision_date | datetime | Дата принятия решения по хранению Персональных Данных. Возвращается, если включен модуль Персональных Данных |
POST /account/{account_id}/applicants/{applicant_id}/vacancy
В теле запроса необходимо передать JSON вида:
{
"vacancy": 988,
"status": 1230,
"comment": "Привет",
"files": [
{
"id": 1382810
}
],
"rejection_reason": null,
"fill_quota": 234
}
Путь | Тип | Обязательный | Описание |
---|---|---|---|
vacancy | number | Да | Идентификатор вакансии |
status | number | Да | Этап подбора |
comment | string | Нет | Произвольный комментарий |
files | array | Нет | Массив прикрепленных файлов к записи в истории (не больше 10) |
files[].id | number | Да | Идентификатор файла |
rejection_reason | number | Нет | Причина отказа (если статус Отказ ) |
fill_quota | number | Квота к найму по которой нанимается кандидат (если статус "Вышел на работу") |
Примечание
На данный момент fill_quota
можно не указывать для статуса "Вышел на работу", если на вакансии
есть ровно одна открытая квота к найму, см. квоты к найму
Но эта возможность будет отключена 2020-01-06, поэтому нужно использовать поле fill_quota
при
переводе кандидата в статус "Вышел на работу".
Дополнительно к полям запроса также будут добавлены поля:
{
"id": 279284,
"changed": "2017-04-10T21:34:01+03:00"
}
Имя | Тип | Описание |
---|---|---|
id | numeric | Идентификатор привязки |
changed | datetime | Дата и время изменения статуса |
GET /account/{account_id}/applicants
вернёт список кандидатов компании.
Принимаемые параметры:
-
status
— этап подбора. Если передается, то вернутся только кандидаты, которые сейчас находятся на вакансиях на указанном этапе -
vacancy
— вакансия. Используется дополнительно кstatus
для фильтрации кандидатов по вакансии на указанном этапе -
agreement_state
— состояние согласия на хранение Персональных Данных. Доступен, если включен модуль Персональных Данных. Если передается, то вернутся только кандидаты, которые имеют переданное состояние согласия на хранение Персональных Данных. Возможные значения:not_sent
,sent
,accepted
,declined
. -
count
,page
— параметры постраничного вывода.
Пример ответа:
{
"count": 2,
"items": [
{
"last_name": "Иванов",
"links": [
{
"status": 2,
"updated": "2017-12-19T21:48:12+03:00",
"changed": "2017-12-19T21:48:12+03:00",
"vacancy": 1,
"id": 172
}
],
"money": "",
"id": 290,
"first_name": "Александр",
"middle_name": null,
"photo": 385,
"photo_url": "https://store.huntflow.ru/uploads/5/7/0/5700c66c07a23f2e80a0acc0bc3ef6c8.jpeg",
"email": "[email protected]",
"tags": [],
"company": "Save Factory",
"phone": "+79511234567",
"birthday": "1979-06-20",
"external": [
{
"auth_type": "HH",
"account_source": 2,
"updated": "2017-12-19T21:48:12+03:00",
"applicant": 290,
"id": 290
}
],
"doubles": [],
"created": "2017-12-19T21:48:12+03:00",
"position": "Artist"
},
{
"last_name": "Петров",
"links": [
{
"status": 2,
"updated": "2017-12-19T21:35:09+03:00",
"changed": "2017-12-19T21:35:09+03:00",
"vacancy": 1,
"id": 171
}
],
"money": "30000 RUR",
"id": 289,
"first_name": "Виталий",
"middle_name": "Иванович",
"photo": 384,
"photo_url": "https://store.huntflow.ru/uploads/5/7/0/5700c66c07a23f2e80a0acc0bc3ef6c8.jpeg",
"email": "[email protected]",
"tags": [
{
"tag": 1,
"id": 1
}
],
"company": "Краснодеревщик,ЗАО",
"phone": "+79639801000",
"birthday": "1975-01-26",
"external": [
{
"auth_type": "HH",
"account_source": 2,
"updated": "2017-12-19T21:35:09+03:00",
"applicant": 289,
"id": 289
}
],
"doubles": [],
"created": "2017-12-19T21:35:09+03:00",
"position": "Фотограф",
"agreement": {
"state": "declined",
"decision_date": "2020-07-30T21:35:09+03:00"
}
}
],
"total": 120,
"page": 1,
"total_items": 240
}
Путь | Тип | Описание |
---|---|---|
last_name | string | Фамилия |
first_name | string | Имя |
middle_name | string | Отчество |
phone | string | Телефон |
string | Электронная почта | |
position | string | Кем работает |
company | string | Где работает |
money | string | Зарплатные ожидания |
birthday | date | Дата рождения |
photo | number | Фото кандидата (идентификатор загруженного файла), информация о загрузке файлов доступна здесь |
photo_url | string | Ссылка на фото кандидата |
external | array | Резюме кандидатов |
external[].id | number | Идентификатор резюме |
external[].auth_type | string | Тип резюме |
external[].account_source | number | Источник резюме |
external[].updated | datetime | Дата и время обновления резюме |
links | array | Вакансии, по которым проходит кандидат |
links[].status | number | Этап подбора кандидата |
links[].vacancy | number | Вакансия |
links[].updated | datetime | Дата и время обновления по кандидату на вакансии |
links[].changed | datetime | Дата и время последнего изменения этапа подбора |
tags[].id | number | Идентификатор метки кандидата |
tags[].tag | number | Идентификатор метки |
agreement.state | string | Состояние согласия на хранение Персональных Данных. Возвращается, если включен модуль Персональных Данных |
agreement.decision_date | datetime | Дата принятия решения по хранению Персональных Данных. Возвращается, если включен модуль Персональных Данных |
GET /account/{account_id}/applicants/{applicant_id}/log
вернёт список логов кандидата.
Принимаемые параметры:
count
,page
— параметры постраничного вывода.
Пример ответа:
{
"count": 30,
"items": [
{
"comment": "Комментарий",
"files": [
{
"url": "http://huntflow.ru/uploads/named/e/x/a/example.docx",
"id": 2844,
"content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"name": "example.docx"
},
{
"url": "http://huntflow.ru/uploads/named/e/x/a/example2.docx",
"id": 2845,
"content_type": "image/png",
"name": "example.png"
}
],
"vacancy": 3,
"account_info": {
"name": "Пример",
"id": 1
},
"rejection_reason": null,
"calendar_event": {
"event_type": "interview",
"creator": null,
"timezone": "Europe/Saratov",
"end": "2018-12-13T17:00:00+03:00",
"recurrence": null,
"start": "2018-12-13T16:00:00+03:00",
"etag": null,
"location": "Саратов",
"status": "confirmed",
"description": "Описание",
"attendees": [
{
"displayName": "Пример",
"email": "[email protected]",
"responseStatus": "needsAction"
}
],
"name": "Интервью в центральном офисе: Пример – Тест",
"created": "2018-11-28 15:46:13+03:00",
"reminders": [
{
"minutes": 15,
"method": "popup",
"value": 15,
"multiplier": "minutes"
}
],
"all_day": false,
"foreign": null,
"transparency": "busy"
},
"id": 180368,
"employment_date": null,
"status": 2,
"account": 1,
"created": "2018-12-13T15:34:12+03:00",
"type": "COMMENT"
}
],
"total": 1,
"page": 1
}
Имя | Тип | Описание |
---|---|---|
id | number | Идентификатор записи лога |
type | string | Тип лога |
vacancy | number | Идентификатор вакансии к которой относится лог (если null, значит лог относится к кандидату в целом) |
status | number | Идентификатор статуса |
rejection_reason | number | Идентификатор причины отказа |
created | datetime | Дата создания лога |
employment_date | datetime | Дата принятия кандидата на работу |
account | number | Идентификатор пользователя от имени которого создан лог |
account_info | string | Информация о пользователе от имени которого создан лог |
account_info.id | number | Идентификатор пользователя |
account_info.name | string | Имя пользователя |
comment | string | Текст комментария |
files | list | Файлы прикрепленные к логу |
files[].content_type | string | Content Type файла |
files[].id | number | Идентификатор файла |
files[].name | string | Исходное имя файла |
files[].url | string | Ссылка для скачивания файла |
calendar_event | object | Событие календаря прикреплённое к логу |
calendar_event.all_day | bool | Флаг указывающий на то, что событие запланировано на весь день |
calendar_event.attendees[] | list | Участники события |
calendar_event.attendees[].displayName | string | Имя участника события |
calendar_event.attendees[].email | string | Email участника события |
calendar_event.attendees[].responseStatus | string | Статус участника события |
calendar_event.created | datetime | Дата и время создания события |
calendar_event.creator | object | Информация о создателе события |
calendar_event.creator.displayName | string | Имя создателя события |
calendar_event.creator.email | string | Email создателя события |
calendar_event.creator.self | bool | Флаг указывающий на то, что вы создатель события |
calendar_event.description | string | Описание события |
calendar_event.end | datetime | Дата и время окончания события |
calendar_event.etag | string | ETag события |
calendar_event.event_type | string | Тип события |
calendar_event.foreign | string | Внешний идентификатор события |
calendar_event.location | string | Место проведения события |
calendar_event.name | string | Название события |
calendar_event.reminders[] | list | Список повторений RFC 5545 |
calendar_event.reminders[].method | string | Способ напоминания |
calendar_event.reminders[].minutes | number | За какое количество минут напомнить о событии |
calendar_event.start | datetime | Дата и время начала события |
calendar_event.status | string | Статус события |
calendar_event.timezone | string | Часовой пояс в котором заданы дата начала и конца события |
calendar_event.transparency | string | Доступность события |
PUT /account/{account_id}/applicants/vacancy/{vacancy_id}/split
В теле запроса необходимо передать JSON вида:
{"applicant": 1, "status": 1}
Имя | Тип | Обязательный | Описание |
---|---|---|---|
applicant | number | Да | Идентификатор кандидата |
status | number | Да | Этап подбора |
fill_quota | number | Нет | Квота к найму, по которой нанимается кандидат (только для этапа "Вышел на работу") |
employment_date | string | Нет | Дата выхода кандидата на работу в формате ГГГГ-ММ-ДД (только для этапа "Вышел на работу") |
rejection_reason | number | Нет | Причина отказа (только для этапа "Отказ") |
{
"applicant": 1,
"id": 8,
"status": 1,
"vacancy": 4,
"vacancy_parent": 3
}
Имя | Тип | Описание |
---|---|---|
applicant | number | Идентификатор кандидата |
id | number | Идентификатор лога кандидата |
status | number | Этап подбора |
vacancy | number | Идентификатор подвакансии |
vacancy_parent | number | Идентификатор родительской вакансии |