Skip to content

Latest commit

 

History

History
312 lines (246 loc) · 14.9 KB

negotiations.md

File metadata and controls

312 lines (246 loc) · 14.9 KB

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

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

В процессе использования сайта соискатели выбирают вакансии. Для того чтобы связаться с работодателем на предмет трудоустройства соискатель может откликнуться на выбранную вакансию. Так же и работодатель, найдя интересное резюме, может предложить соискателю рассмотреть вакансию (приглашение).

Для указанных целей служат специальные сущности — отклики/приглашения. В них может быть указана вакансия, резюме и переписка соискателя с работодателем, в каждый момент времени такие сущности находятся в одном из состояний. Переход между состояниями сопровождается появлением сообщений с опциональным текстовым описанием и прочими полями. Сообщения со статусом null не переводят весь отклик в новое состояние.

## Получение списка откликов ### Запрос
GET /negotiations

Параметры:

Имя Обязательный Описание
page нет Номер страницы, по умолчанию: 0
per_page нет Количество выдаваемых элементов на страницу, по умолчанию 20.
order_by нет Поле, по которому проводить сортировку выдаваемых данных. Возможные значения: updated_at, created_at. По умолчанию: updated_at
order нет Направление сортировки. Возможные значения: asc, desc. По умолчанию: desc
vacancy_id нет фильтр по id вакансии
{
    "found": 1,
    "pages": 1,
    "per_page": 20,
    "page": 0,
    "items": [
        {
            "id": "123",
            "state": {
                "id": "invitation",
                "name": "Приглашение"
            },
            "hidden": false,
            "created_at": "2013-10-05T19:51:38+0400",
            "updated_at": "2013-10-07T18:30:57+0400",
            "url": "https://api.hh.ru/negotiations/123",
            "resume": {},
            "vacancy": {},
            "has_updates": true,
            "viewed_by_opponent": true
        }
        // , .....
    ]
}

где:

Имя Тип Описание
found число Количество найденных откликов ( ≥ 0 )
pages число Количество страниц с откликами ( ≥ 1 )
per_page число Количество элементов на страницу ( > 0 )
page число Номер текущей страницы ( ≥ 0 )

В элементе items содержатся данные о откликах:

Имя Тип Описание
id строка Идентификатор отклика
state объект Текущее состояние отклика. Разрешенные значения находятся в справочнике /dictionaries в разделе negotiations_state
hidden логический Скрыт ли текущий отклик (True - отклик скрыт, False - отклик активен)
created_at строка Дата и время создания отклика
updated_at строка Дата и время последнего обновления отклика
url строка Ссылка на полную версию отклика
resume объект, null Короткое представление резюме
vacancy объект, null Короткое представление вакансии
has_updates логический Есть ли в отклике обновления, требующие внимания. Флаг сбрасывается при различных действиях по отклику, например, просмотре списка сообщений.
viewed_by_opponent логический Был ли отклик просмотрен работодателем

В объекте вакансии ключи url и alternate_url могут быть null, если вакансия недоступна (удалена).

## Получение списка активных откликов
GET /negotiations/active

Опциональные параметры и ответ такие же, как и в списке откликов

## Откликнуться на вакансию

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

Запрос

POST /negotiations

Параметры

Имя Обязательный Описание
vacancy_id да Идентификатор вакансии, на которую происходит отклик
resume_id да Идентификатор резюме, которым производится отклик
message да Сопроводительное письмо к отклику. Является обязательным, если в вакансии указано, что обязательно сопроводительное письмо

Ответ

В случае успеха приходит статус 201 Created, а в заголовке Location ответа будет содержаться ссылка на созданный отклик (кроме direct вакансий, см. ниже)

HTTP/1.1 201 Created
...
Location: /negotiations/123
...

Для вакансий у которых тип direct ответ будет приходить с кодом 303 See Other.

HTTP/1.1 303 See Other
...
Location: http://example.com/respond/vacancy
...

Вакансии с типом direct – это вакансии с прямым откликом. У данных вакансий непустой response_url – внешний url на сайт работодателя, который отдается в заголовке Location при попытке откликнуться. Используйте response_url, чтобы предложить пользователю откликнуться на вакансию на сайте работодателя вместо стандартного механизма откликов.

Некоторые возможные сообщения об ошибках указаны в соответствующем разделе.

## Просмотр отклика/приглашения
GET /negotiations/{nid}

где nid - идентификатор отклика.

Ответ

Возвращаемый объект полностью идентичен отдельному отклику, получаемому в списке откликов

## Скрыть отклик Для скрытия отклика необходимо выполнить запрос:
DELETE /negotiations/active/{nid}

где:

  • nid - идентификатор отклика

В качестве ответа придёт HTTP статус 204 No Content

## Просмотр списка сообщений в отклике
GET /negotiations/{nid}/messages

где:

  • nid - идентификатор отклика

Опциональные параметры

Имя Тип Обязательный Описание
page число нет Номер страницы, значение по умолчанию 0
per_page число нет Количество элементов на страницу, по умолчанию 20

Ответ:

{ 
    "found": 1,
    "pages": 1,
    "per_page": 20,
    "page": 0,
    "items": [
        {
            "id": "123",
            "viewed_by_me": true,
            "viewed_by_opponent": true,
            "created_at": "2013-10-07T18:30:57+0400",
            "text": "Вас приглашает очень крупный иностранный банк на зарплату, о которой мечтают арабские шейхи",
            "state": {
                "id": "invitation",
                "name": "Приглашение"
            },
            "author": {
                "participant_type": "employer"
            },
            "address": null,
            "assessments": [
                {
                    "id": "123",
                    "name": "Динамический тест числовых способностей",
                    "actions": [
                        {
                            "id": "proceed",
                            "name": "Перейти к тестированию",
                            "enabled": true,
                            "alternate_url": "http://hh.ru/applicant/assessment/123"
                        }
                    ]
                }
            ],
            "editable": false
        },
        {
            "id": "124",
            "viewed_by_me": true,
            "viewed_by_opponent": false,
            "created_at": "2013-10-08T10:12:23+0400",
            "text": "Верблюда и коня мне!",
            "state": {
                "id": "text",
                "name": "Текст"
            },
            "author": {
                "participant_type": "applicant"
            },
            "address": null,
            "editable": false
        }
    ]
}

где:

Имя Тип Описание
found число Количество найденных сообщений
pages число Количество найденных страниц с сообщениями
per_page число Количество элементов на страницу
page число Номер текущией страницы (начинается с 0)
items массив Массив сообщений, см. ниже

Отдельное сообщение имеет следующую структуру:

Имя Тип Описание
id строка Идентификатор сообщения
viewed_by_me логический Прочитано ли сообщение смотрящим (для сообщений отправленных соискателем - всегда true)
viewed_by_opponent логический Прочитано ли сообщение работодателем (для сообщений работодателя - true)
editable логический Можно ли редактировать текст сообщения
created_at строка Дата и время создания сообщения
text строка Текст сообщения
state объект Текущее состояние отклика. Возможные значения находятся в справочнике /dictionaries в разделе negotiations_state
author объект Кто автор сообщения
author.participant_type строка Роль автора сообщения. Возможные значения находятся в справочнике /dictionaries в разделе negotiations_participant_type
address объект, null Адрес, привязанный к отклику/приглашению
assessments массив инструменты оценки, привязанные к сообщению
## Редактирование сообщений в отклике

При некоторых условиях текст сообщения можно редактировать после отправки. Чтобы определить доступно ли редактирование сообщения, необходимо использовать флаг editable:true.

На данный момент редактирование доступно только сообщения при отклике, причём оно должно быть еще не прочитано другой стороной, вакансия должна быть активна (не в архиве), а резюме быть не удалено. Но эти условия могут измениться.

PUT /negotiations/{nid}/messages/{mid}

где:

  • nid - идентификатор отклика
  • mid - идентификатор сообщения в отклике

Параметры

Имя Обязательный Описание
message да Текст сообщения

Ответ

В случае успешного обновления текста сообщения вернётся статус HTTP 204 No Content. В случае, когда редактирование сообщения запрещено будет возвращён HTTP статус 403 Forbidden. Если сообщение не было найдено, то будет возвращён HTTP статус 404 Not Found.