Permalink
Fetching contributors…
Cannot retrieve contributors at this time
403 lines (325 sloc) 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 - Работодатель или менеджер не найдены, или у пользователя нет прав