From 4b47366cff58961a840b10073d7cae7473dec64c Mon Sep 17 00:00:00 2001 From: Ilya Khokhryakov Date: Tue, 5 Dec 2017 16:13:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=80=D0=B5?= =?UTF-8?q?=D1=81=D1=83=D1=80=D1=81=D0=B0=20/vacancies/{vacancy=5Fid}/resu?= =?UTF-8?q?mes=5Fby=5Fstatuses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- docs/resumes_by_status.md | 188 ++++++++++++++++++++++++++++++++++++++ docs/suitable_resumes.md | 11 ++- 3 files changed, 201 insertions(+), 2 deletions(-) create mode 100644 docs/resumes_by_status.md diff --git a/README.md b/README.md index e18cb6c3..0da4b9c3 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,9 @@ HeadHunter API — это бесплатный инструментарий дл * [Просмотр списка сообщений в отклике](docs/negotiations.md#get_messages) applicant * [Отправка сообщений в отклике](docs/negotiations.md#send_message) applicant * [Редактирование сообщения в отклике](docs/negotiations.md#edit_message) applicant -* [Список резюме для отклика на указанную вакансию](docs/suitable_resumes.md) applicant +* Резюме для отклика на указанную вакансию applicant + * [Список резюме, которыми можно откликнуться на указанную вакансию](docs/suitable_resumes.md) applicant + * [Резюме, сгруппированные по возможности отклика на данную вакансию](docs/resumes_by_status.md) applicant * [Переписка для работодателя](docs/employer_negotiations.md) employer * [Модель работы, термины и процедуры](docs/employer_negotiations.md#model) employer * [Общее описание процесса работы с откликами/приглашениями](docs/employer_negotiations.md#flow) employer diff --git a/docs/resumes_by_status.md b/docs/resumes_by_status.md new file mode 100644 index 00000000..916c70a0 --- /dev/null +++ b/docs/resumes_by_status.md @@ -0,0 +1,188 @@ +# Резюме, сгруппированные по возможности отклика на данную вакансию + +### Запрос + +``` +GET /vacancies/{vacancy_id}/resumes_by_status +``` + +где `vacancy_id` – идентификатор вакансии. + +Вернутся резюме пользователя, сгруппированные на четыре списка в зависимости от возможности отклика на вакансию. + +### Ответ + +Успешный ответ приходит с кодом `200 OK` и содержит четыре списка [сокращенных +представлений](resumes.md#resume-short) резюме пользователя: + +* `suitable` — резюме, которыми возможно откликнуться на данную вакансию +* `not_published` — неопубликованные резюме (в [статусе](resumes.md#status) `not_published` либо `blocked`) +* `already_applied` — резюме, уже использовавшиеся для отклика на данную вакансию +* `unavailable` — резюме, которыми невозможно откликнуться на данную вакансию (конфликтующие настройки видимости резюме и т.п.) + +```json +{ + "suitable": [ + { + "id": "14831542000d1f366b4c5a6a751b329b70039e", + "title": "Дизайнер резюме", + "url": "https://api.hh.ru/resumes/14831542000d1f366b4c5a6a751b329b70039e", + "created_at": "2013-11-03T00:43:20+0400", + "updated_at": "2013-11-22T12:25:18+0400", + "alternate_url": "https://hh.ru/resume/14831542000d1f366b4c5a6a751b329b70039e", + "access": { + "type": { + "id": "clients", + "name": "видно всем компаниям, зарегистрированным на HeadHunter" + } + }, + "status": { + "id": "published", + "name": "опубликовано" + }, + "first_name": "Иван", + "last_name": "Иванов", + "middle_name": "Иванович", + "age": 19, + "area": { + "id": "1", + "name": "Москва", + "url": "https://api.hh.ru/areas/1" + }, + "certificate": [ + { + "achieved_at": "2015-01-01", + "owner": null, + "title": "тест", + "type": "custom", + "url": "http://example.com/" + } + ], + "education": { + "primary": [ + { + "name": "Российский государственный социальный университет, Москва", + "name_id": "39420", + "organization": "Факультет информационных технологий", + "organization_id": null, + "result": "Информатика", + "result_id": null, + "year": 2012 + } + ] + }, + "total_experience": { + "months": 118 + }, + "experience": [ + { + "position": "пастух", + "start": "2010-01-01", + "end": null, + "company": "Рога и копыта", + "industries": [ + { + "id": "51.643", + "name": "Благоустройство и уборка территорий и зданий" + }, + { + "id": "29.503", + "name": "Земледелие, растениеводство, животноводство" + } + ], + "company_url": "http://example.com/", + "area": { + "id": "1", + "name": "Москва", + "url": "https://api.hh.ru/areas/1" + }, + "company_id": null, + "employer": null + }, + { + "start": "2005-01-01", + "end": "2009-03-01", + "company": "HeadHunter", + "area": { + "id": "1", + "name": "Москва", + "url": "https://api.hh.ru/areas/1" + }, + "industries": [ + { + "id": "7.513", + "name": "Интернет-компания (поисковики, платежные системы, соц.сети, информационно-познавательные и развлекательные ресурсы, продвижение сайтов и прочее)" + } + ], + "company_url": "https://hh.ru", + "company_id": "1455", + "employer": { + "alternate_url": "https://hh.ru/employer/1455", + "id": "1455", + "logo_urls": { + "90": "https://hh.ru/employer/logo/1455" + }, + "name": "HeadHunter", + "url": "https://api.hh.ru/employers/1455" + } + } + ], + "gender": { + "id": "male", + "name": "Мужской" + }, + "salary": { + "amount": 1000000, + "currency": "RUR" + }, + "photo": { + "medium": "https://hh.ru/...", + "small": "https://hh.ru/...", + "id": "1337" + }, + "negotiations_history": { + "url": "https://api.hh.ru/resumes/14831542000d1f366b4c5a6a751b329b70039e/negotiations_history" + }, + "download": { + "pdf": { + "url": "https://hh.ru/api_resume_converter/14831542000d1f366b4c5a6a751b329b70039e/ИвановИванИванович.pdf?type=pdf" + }, + "rtf": { + "url": "https://hh.ru/api_resume_converter/14831542000d1f366b4c5a6a751b329b70039e/ИвановИванИванович.rtf?type=rtf" + } + }, + "requires_completion": false + } + ], + "not_published": [], + "already_applied": [], + "unavailable": [], + "counters": { + "suitable": 1, + "not_published": 0, + "already_applied": 0, + "unavailable": 0 + } +} +``` + +Описание полей смотрите в [выдаче полного резюме](resumes.md#resume-fields). + +Дополнительно для каждого резюме выдается поле `requires_completion`, зависящее от наличия флага «принимать неполные резюме» в требуемой вакансии. + +Поле | Тип | Описание +---- | --- | -------- +requires_completion | boolean | Требуется ли дозаполнить [обязательные поля](resumes.md#author-progress) резюме для отклика на вакансию. Принимает значение `true` только в случае, если в вакансии не установлен флаг «принимать неполные резюме» и резюме является неполным; в противном случае — `false`. + +В ключе `counters` выдается информация о количестве элементов в коллекциях: + +Поле | Тип | Значение +---- | --- | -------- +suitable | number | количество резюме, которыми возможно откликнуться на данную вакансию +not_published | number | количество неопубликованных резюме (в [статусе](resumes.md#status) `not_published` либо `blocked`) +already_applied | number | количество резюме, которыми пользователь уже откликался на эту вакансию +unavailable | number | количество резюме, которыми по другим причинам невозможно откликнуться (конфликтующие настройки видимости резюме и т.п.) + +### Ошибки + +* `403 Forbidden` – при запросе не от имени соискателя \ No newline at end of file diff --git a/docs/suitable_resumes.md b/docs/suitable_resumes.md index b49670b1..136dc36d 100644 --- a/docs/suitable_resumes.md +++ b/docs/suitable_resumes.md @@ -1,5 +1,7 @@ # Список подходящих для отклика резюме +> :bulb: Также вы можете использовать метод [resumes_by_status](resumes_by_status.md). Резюме, подходящие для отклика на данную вакансию, доступны в коллекции "suitable". + ### Запрос ``` @@ -151,7 +153,8 @@ GET /vacancies/{vacancy_id}/suitable_resumes "rtf": { "url": "https://hh.ru/api_resume_converter/14831542000d1f366b4c5a6a751b329b70039e/ИвановИванИванович.rtf?type=rtf" } - } + }, + "requires_completion": false } ], "overall": { @@ -164,6 +167,12 @@ GET /vacancies/{vacancy_id}/suitable_resumes Описание полей смотрите в [выдаче полного резюме](resumes.md#resume-fields). +Дополнительно для каждого резюме выдается поле `requires_completion`, зависящее от наличия флага «принимать неполные резюме» в требуемой вакансии. + +Поле | Тип | Описание +---- | --- | -------- +requires_completion | boolean | `true`, если резюме является неполным (только для вакансий без установленного флага «принимать неполные резюме»). В этом случае необходимо заполнить обязательные поля (доступны в [выдаче полного резюме](resumes.md#author-progress)) перед откликом на данную вакансию. В противном случае — `false`. + При пустом списке невозможно понять, есть ли у пользователя резюме, но они все не подходят, или же их нет. Для этого выдаётся дополнительная информация в ключе `overall`: