Skip to content

Latest commit

 

History

History
402 lines (325 loc) · 15.6 KB

employer_managers.md

File metadata and controls

402 lines (325 loc) · 15.6 KB

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

Для получения информации необходимо авторизоваться под работодателем. Для пользователя без авторизации или для неправильно авторизованного пользователя вернется ответ 403 Forbidden.

Справочник типов и прав менеджера

Запрос

GET /employers/{employer_id}/manager_types

где employer_id - идентификатор работодателя, который можно узнать в информации о текущем пользователе.

Ответ

Пример ответа:

{
    "items": [
        {
            "id": "manager",
            "name": "Менеджер",
            "available_permissions": [
                {
                    "id": "can_create_vacancy",
                    "name": "Создание и продление вакансий"
                },
                {
                    "id": "can_view_resume_contacts",
                    "name": "Просмотр контактов соискателей"
                }
            ]
        }
    ]
}

Каждый элемент из items обладает следующими полями:

Имя Тип Описание
id string идентификатор типа менеджера
name string название типа менеджера
available_permissions array список прав, которые можно дать данному типу менеджера

Поля объекта списка available_permissions:

Имя Тип Описание
id string идентификатор права
name string название права

Ошибки

  • 404 Not found - Работодатель не найден, или у пользователя нет прав

Добавление менеджера

Запрос

POST /employers/{employer_id}/managers

где employer_id - идентификатор работодателя, который можно узнать в информации о текущем пользователе.

В теле запроса передается json вида:

{
    "last_name": "Федотов",
    "first_name": "Илья",
    "middle_name": "Игоревич",
    "manager_type": {
        "id": "manager"
    },
    "is_main_contact_person": false,
    "position": "Менеджер по подбору персонала",
    "email": "employer@example.com",
    "area": {
        "id": "1"
    },
    "phone": {
        "country": "7",
        "city": "495",
        "number": "1568055",
        "comment": "с 9 до 17"
    },
    "additional_phone": {
         "country": "7",
         "city": "916",
         "number": "4555555",
         "comment": "личный"
    },
    "permissions": [
       {
           "id": "can_create_vacancy"
       },
       {
           "id": "can_view_resume_contacts"
       }
   ]
}
Имя Тип Описание
last_name string фамилия
first_name string имя
middle_name string или null отчество
manager_type.id string идентификатор типа менеджера
is_main_contact_person boolean является ли менеджер главным контактным лицом компании
position string должность менеджера
email string электронная почта менеджера
area.id number регион из справочника
phone object телефон менеджера
additional_phone object или null дополнительный телефон менеджера
permissions array список прав менеджера

Поля объектов phone и additional_phone:

Имя Тип Описание
country string код страны
city string код города
number string телефон
comment string или null комментарий

Поля объекта списка permissions:

Имя Тип Описание
id string идентификатор права
name string название права

Все поля, кроме комментария к телефону и прав, являются обязательными

Ответ

В случае успешного выполнения запроса будет возвращён статус 201 Created. Идентификатор созданного менеджера приходит в:

  • теле ответа в виде:
 {"id": "78789890"}
  • а также содержится в заголовке Location:
 HTTP/1.1 201 Created

 Location: /employers/432/managers/78789890

Ошибки

  • 404 Not Found – указанный работодатель не существует, или пользователь не имеет прав на создание менеджера
  • 400 Bad Request – параметры во входном json переданы с ошибкой. Будет возвращено описание ошибки в теле. Неизвестные параметры и параметры с ошибкой в названии игнорируются.
  • 403 Forbidden– неподходящая авторизация или другие причины отказа создать менеджера Дополнительно к HTTP коду сервер может вернуть описание причины ошибки.

Редактирование менеджера

Запрос

PUT /employers/{employer_id}/managers/{manager_id}

где:

В теле запроса передается json вида:

{
    "position": "Менеджер по подбору персонала",
    "phone": {
        "country": "7",
        "city": "495",
        "number": "1568055",
        "comment": "с 9 до 17"
    },
    "additional_phone": {
         "country": "7",
         "city": "916",
         "number": "4555555",
         "comment": "личный"
    },
    "permissions": [
       {
           "id": "can_create_vacancy",
           "name": "Создание и продление вакансий"
       },
       {
           "id": "can_view_resume_contacts",
           "name": "Просмотр контактов соискателей"
       }
   ]
}

Изменять можно только поля, из приведенного json-примера. Описание полей можно посмотреть в запросе на создание. При обновлении можно передавать как все поля, так и часть полей, которые необходимо обновить.

Ответ

В случае успешного выполнения запроса будет возвращён статус 200 OK.

Ошибки

  • 404 Not Found – указанный работодатель или менеджер не существует, или пользователь не имеет прав на изменение менеджера
  • 400 Bad Request – параметры во входном json переданы с ошибкой. Будет возвращено описание ошибки в теле. Неизвестные параметры и параметры с ошибкой в названии игнорируются.
  • 403 Forbidden– неподходящая авторизация или другие причины отказа отредактировать менеджера Дополнительно к HTTP коду сервер может вернуть описание причины ошибки.

Удаление менеджера

Удаление менеджера происходит не сразу и может занять какое-то время. По этой причине, если сразу после успешного удаления менеджера вы запросите, например, список менеджеров, в ответе может вернуться удаленный менеджер.

Запрос

DELETE /employers/{employer_id}/managers/{manager_id}

где:

На вход в качестве обязательного параметра необходимо передавать: successor_id - идентификатор менеджера, которому передаются данные, связанные с удаляемым менеджером, в частности: вакансии, отклики, папки отобранных резюме, комментарии к соискателю, автопоиски

Ответ

В случае успешного выполнения запроса будет возвращён статус 204 No Content

Ошибки

  • 404 Not Found – указанный работодатель или менеджер не существует, или пользователь не имеет прав на удаление данного менеджера
  • 400 Bad Request – параметры во входном json переданы с ошибкой. Будет возвращено описание ошибки в теле. Неизвестные параметры и параметры с ошибкой в названии игнорируются.
  • 403 Forbidden– неподходящая авторизация или другие причины отказа удалить менеджера

Справочник менеджеров работодателя

Запрос

GET /employers/{employer_id}/managers

где:

Ответ

В случае успешного выполнения запроса будет возвращён статус 200 OK. В теле ответа будет возвращён список менеджеров работодателя, например:

{
    "items": [
        {
            "id": "1507922",
            "email": "employer@example.com",
            "full_name": "Иванов Иван Иванович",
            "last_name": "Иванов",
            "first_name": "Иван",
            "middle_name": "Иванович",
            "vacancies_count": 0,
            "is_main_contact_person": false,
            "phone": {
                "country": "7",
                "city": "495",
                "number": "1568055",
                "comment": "с 9 до 17"
            },
            "additional_phone": {
                "country": "7",
                "city": "916",
                "number": "4555555",
                "comment": "личный"
            },
            "position": "Менеджер по подбору персонала",
            "area": {
                "id": "1",
                "name": "Москва",
                "url": "https://api.hh.ru/areas/1"
            }
        }
    ]
}

В элементе items будет содержаться список менеджеров работодателя. Каждый элемент из items обладает полями, описанными в добавлении менеджера, кроме поля permissions и manager_type.

Также дополнительно выдаются следующие поля:

Имя Тип Описание
id string Идентификатор менеджера
full_name string Полное имя менеджера
vacancies_count number количество опубликованных (активных) вакансий у данного менеджера

Ошибки

  • 403 Forbidden - С текущей авторизацией запрещено просматривать менеджеров данного работодателя

Получение информации о менеджере

Запрос

GET /employers/{employer_id}/managers/{manager_id}

где:

Ответ

В случае успешного выполнения запроса, будет возвращён статус 200 OK. В теле ответа будет содержаться информация о менеджере, например:

{
    "id": "1507922",
    "manager_type":{
        "id": "manager",
        "name": "Менеджер"
    },
    "email": "employer@example.com",
    "full_name": "Иванов Иван Иванович",
    "last_name": "Иванов",
    "first_name": "Иван",
    "middle_name": "Иванович",
    "vacancies_count": 0,
    "phone": {
        "country": "7",
        "city": "495",
        "number": "1568055",
        "comment": "с 9 до 17"
    },
    "additional_phone": {
        "country": "7",
        "city": "916",
        "number": "4555555",
        "comment": "личный"
    },
    "position": "Менеджер по подбору персонала",
    "permissions": [
       {
           "id": "can_create_vacancy",
           "name": "Создание и продление вакансий"
       },
       {
           "id": "can_view_resume_contacts",
           "name": "Просмотр контактов соискателей"
       }
    ],
    "area": {
        "id": "1",
        "name": "Москва",
        "url": "https://api.hh.ru/areas/1"
    }
}

Поля объекта аналогичны полям в справочнике менеджеров, а также дополнительно выдаются поля:

Имя Тип Описание
permissions array список прав менеджера

Ошибки

  • 404 Not Found - Работодатель или менеджер не найдены, или у пользователя нет прав