Skip to content

Latest commit

 

History

History
287 lines (205 loc) · 12.4 KB

resume_visibility.md

File metadata and controls

287 lines (205 loc) · 12.4 KB

Управление списками видимости резюме

Общая информация

Тип видимости резюме определяется значением его ключа access.type. Некоторые типы видимости, например whitelist и blacklist, подразумевают наличие списка работодателей, для которых резюме должно быть видимо или скрыто.

Список видимости содержит идентификаторы работодателей (см. поиск компаний и получение информации о компании).

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

Получение списков видимости

GET /resumes/{resume_id}/{list_type}

где:

  • resume_id — идентификатор резюме
  • list_type — тип списка (whitelist или blacklist)

Поддерживаются стандартные параметры пагинации page и per_page (per_page не может превышать 100).

Успешный ответ

Успешный ответ приходит с кодом 200 OK и содержит тело:

{
    "found": 1,
    "page": 0,
    "pages": 1,
    "per_page": 20,
    "limit": 2000,
    "items": [
        {
            "id": "1455",
            "name": "HeadHunter",
            "url": "https://api.hh.ru/employers/1455",
            "alternate_url": "https://hh.ru/employer/1455",
            "logo_urls": {
                "90": "https://hh.ru/employer/logo/1455"
            }
        }
    ]
}

Ответ включает стандартные поля пагинации, а также:

Имя Тип Описание
limit number Максимальное количество элементов в списке.
items array Список компаний.
items[].id string Идентификатор работодателя.
items[].name string Название работодателя.
items[].url string Ссылка на детальное описание работодателя.
items[].alternate_url string Ссылка на описание работодателя на сайте.
items[].logo_urls.90 string Изображение логотипа работодателя. Клиент должен предусмотреть вероятность отсутствия ресурса по указанной ссылке

Ошибки

  • 403 Forbidden — пользователь не является соискателем.
  • 404 Not Found — резюме с указанным идентификатором не найдено или недоступно текущему пользователю.
  • 404 Not Found — передан неизвестный list_type.
  • Дополнительные ошибки с описанием причины.

Добавление компаний в список видимости

POST /resumes/{resume_id}/{list_type}

где:

  • resume_id — идентификатор резюме
  • list_type — тип списка (whitelist или blacklist)

В теле запроса нужно передать json вида:

{
    "items": [
        {
            "id": "407"
        },
        {
            "id": "412"
        },
    ]
}
Имя Тип Описание
items array список добавляемых компаний
items[].id string идентификатор работодателя

Любые другие поля в элементах массива items игнорируются.

За один запрос можно добавить не больше 100 компаний.

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

Можно добавить в список заблокированного работодателя.

Успешный ответ

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

Location: /resumes/{resume_id}/{list_type}

Ошибки

  • 400 Bad Request — передан невалидный JSON или JSON неправильного формата.
  • 403 Forbidden — пользователь не является соискателем.
  • 404 Not Found — резюме с указанным идентификатором не найдено или недоступно текущему пользователю.
  • 404 Not Found — передан неизвестный list_type.
  • Дополнительные ошибки с описанием причины.

При возникновении любой ошибки ни одна компания не добавляется в список (независимо от типа ошибки).

При передаче пустого списка компаний выдаётся успешный ответ.

Удаление компаний из списка видимости

DELETE /resumes/{resume_id}/{list_type}/employer?id={employer_id}

где:

  • resume_id — идентификатор резюме
  • list_type — тип списка (whitelist или blacklist)
  • id — идентификатор работодателя (множественный параметр)

Пример удаления нескольких работодателей:

DELETE /resumes/{resume_id}/{list_type}/employer?id=405&id=406&id=407

Удаление из списка идемпотентно, то есть удаление отсутствующих в списке или несуществующих работодателей игнорируется и не приводит к ошибкам. Результат будет такой же, как при удалении «настоящих» id из списка.

Можно удалить из списка заблокированного работодателя.

За один запрос можно удалить не более 100 компаний.

Отсутствие параметра id игнорируется, выдаётся успешный ответ.

Успешный ответ

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

Ошибки

  • 403 Forbidden — пользователь не является соискателем.
  • 404 Not Found — резюме с указанным идентификатором не найдено или недоступно текущему пользователю.
  • 404 Not Found — передан неизвестный list_type.
  • Дополнительные ошибки с описанием причины.

Очистка списка видимости

DELETE /resumes/{resume_id}/{list_type}

где:

  • resume_id — идентификатор резюме
  • list_type — тип списка (whitelist или blacklist)

Успешный ответ

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

Ошибки

  • 403 Forbidden — пользователь не является соискателем.
  • 404 Not Found — резюме с указанным идентификатором не найдено или недоступно текущему пользователю.
  • 404 Not Found — передан неизвестный list_type.

Поиск работодателей для добавления в список видимости

GET /resumes/{resume_id}/{list_type}/search?text={text}

где:

  • resume_id — идентификатор резюме
  • list_type — тип списка (whitelist или blacklist)
  • text - строка для поиска. Переданное значение ищется в начале названия работодателя и в начале названиия департаментов работодателя

Поддерживаются стандартные параметры пагинации page и per_page (per_page не может превышать 100).

Вернет результаты поиска работодателей. Работодатель, уже присутствущий в списке видимости, будет помечен как "selected": true.

Успешный ответ

Успешный ответ приходит с кодом 200 OK и содержит тело:

{
    "found": 2,
    "page": 0,
    "pages": 1,
    "per_page": 20,
    "items": [
        {
            "id": "1455",
            "name": "HeadHunter",
            "url": "https://api.hh.ru/employers/1455",
            "alternate_url": "https://hh.ru/employer/1455",
            "logo_urls": {
                "90": "https://hh.ru/employer/logo/1455"
            },
            "selected": true
        },
        {
            "id": "9144",
            "name": "HeadHunter::Украина (hh.ua)",
            "url": "https://api.hh.ru/employers/9144",
            "alternate_url": "https://hh.ru/employer/9144",
            "logo_urls": {
                "90": "https://hh.ru/employer/logo/9144"
            },
            "selected": false
        }
    ]
}

Ответ включает стандартные поля пагинации, а также:

Имя Тип Описание
items array Список компаний.
items[].id string Идентификатор работодателя.
items[].name string Название работодателя.
items[].url string Ссылка на детальное описание работодателя.
items[].alternate_url string Ссылка на описание работодателя на сайте.
items[].logo_urls.90 string Изображение логотипа работодателя. Клиент должен предусмотреть вероятность отсутствия ресурса по указанной ссылке
items[].selected boolean Присутствует ли уже работодатель в списке видимости резюме.

Ошибки

  • 400 Bad Request — в параметрах были переданы неправильные значения. При этом в теле ответа будет содержаться информация о том, в каком параметре была допущена ошибка.
  • 403 Forbidden — пользователь не является соискателем.
  • 404 Not Found — резюме с указанным идентификатором не найдено или недоступно текущему пользователю.
  • 404 Not Found — передан неизвестный list_type.