Skip to content

Latest commit

 

History

History
149 lines (99 loc) · 4.42 KB

api.md

File metadata and controls

149 lines (99 loc) · 4.42 KB

Api приложения

В ендпоинтах с поддержкой пагинации передаются параметры page (номер страницы, начинается с 0) и per_page (сколько элементов выводить)

Все регионы (area) должны возвращаться в следующем виде:

{
  "area": {
    "id": 1002,
    "name": "Минск"
  }
}

Получение компаний

GET /employer

Параметры:

  • query - текст для поиска

Поддерживает пагинацию. Возвращает массив из объектов с полями:

  • id - id компании
  • name - название комопании

Получение компании

GET /employer/{employer_id}

Возвращает объект с полями:

  • id - идентификатор компании
  • name - название комопании
  • description - описание компании
  • area - регион компании

Добавление компании в избранное

POST /favorites/employer

тело запроса:

  • employer_id - id компании, данные которой нужно сохранить
  • comment - комментарий. Может быть пустым

Получение избранных компаний

Получает данные из базы данных. Не должен ходить в api hh.ru. Поддерживает пагинацию

Для компаний из ответа увеличивает счетчик просмотров на еденицу

GET /favorites/employer

Возвращает массив объектов с полями:

  • id
  • name
  • date_create - дата добавления в избранное
  • description
  • area
  • comment
  • popularity - популярность компании. Для компаний с более чем 50 просмотров выводить POPULAR, для остальных REGULAR
  • views_count - количество просмотро

Изменить информацию о избранной компании

PUT /favorites/employer/{employer_id}

Тело запроса:

  • comment

Удалить компанию из избранного

DELETE /favorites/employer/{employer_id}

Обновить информацию о компании из избранного

Т.к храним информацию в базе данных, то она может устареть. Этот запрос актуализирует данные

POST /favorites/employer/{employer_id}/refresh

Получение вакансий

Поддерживает пагинацию

GET /vacancy

Параметры:

  • query - текст для поиска

Возвращает массив из объектов с полями:

  • id
  • name
  • area
  • salary - зарплата в том же формате, что в api hh.ru
  • created_at
  • employer

Получить вакансию

GET /vacancy/{vacancy_id}

Возвращает объект с полями:

  • id
  • name
  • area
  • salary - зарплата в том же формате, что в api hh.ru
  • created_at
  • employer

Добавить вакансию в избранное

POST /favorites/vacancy

Тело запроса:

  • vacancy_id
  • comment

Удалить вакансию из избранного

DELETE /favorites/vacancy/{vacancy_id}

Обновить информацию о вакансии в избранном

POST /favorites/vacancy/{vacancy_id}/refresh

Получение вакансий из избранного

Получает данные из базы данных. Не должен ходить в api hh.ru. Поддерживает пагинацию

Для вакансий из ответа увеличивает счетчик просмотров на еденицу, а также для компаний, которые эту вакансию разместили

GET /favorites/vacancy

Возвращает массив из объектов с полями:

  • id
  • name
  • date_create - дата добавления в избранное
  • area
  • salary
  • created_at
  • employer
  • popularity - та же логика, что и в компаниях
  • views_count
  • comment