Skip to content

Latest commit

 

History

History
342 lines (278 loc) · 15.7 KB

vacancies.md

File metadata and controls

342 lines (278 loc) · 15.7 KB

Работа с вакансиями

Добавление вакансии в базу

Если организация --- Кадровое Агентство, то используется другой набор полей.

POST /account/{account_id}/vacancies

В теле запроса необходимо передать JSON вида:

{
    "position": "Manufacturing Engineer",
    "company": "Tesla",
    "money": "$100k",
    "deadline": "2017-09-03", # DEPRECATED (moved to fill_quotas)
    "applicants_to_hire": 2,  # DEPRECATED (moved to fill_quotas)
    "priority": 1,
    "account_division": 6,
    "coworkers": [1],
    "body": "<p>Some text</p>",
    "requirements": "<p>Another text</p>",
    "conditions": "<p>Different text</p>",
    "hidden": false,
    "state": "OPEN",
    "files": [1, 2, 3],
    "vacancy_request": 11,    # DEPRECATED (moved to fill_quotas)
    "fill_quotas": [
        {
            "deadline": "2017-09-03",
            "applicants_to_hire": 2,
            "vacancy_request": 11,
        }
    ]
}

Поля запроса

Имя Тип Обязательный Описание
position string Да Название вакансии (должности)
company string Нет Отдел, подразделение (игнорируется, если подключены подразделения)
money string Нет Зарплата
applicants_to_hire number Нет DEPRECATED Сколько человек нужно нанять (>= 1) (перенесено в структуру fill_quotas)
deadline date Нет DEPRECATED Дата дедлайна по вакансии (перенесено в структуру fill_quotas)
priority number Нет Приоритет вакансии (может быть или 0 (обычный), или 1 (высокий))
account_division number Нет Идентификатор подразделения (если подразделения подключены)
coworkers array Нет Список рекрутеров, работающих над вакансией
body string Нет Обязанности в формате HTML. Доступные теги: ul, ol, li, p, br, a, strong, em, u, b, i
requirements string Нет Требования в формате HTML. Доступные теги: ul, ol, li, p, br, a, strong, em, u, b, i
conditions string Нет Условия работы в формате HTML. Доступные теги: ul, ol, li, p, br, a, strong, em, u,b, i
hidden bool Нет Скрыта ли вакансия от коллег
state string Нет Состояние вакансии. По умолчанию OPEN
files array Нет Список файлов, прикрепленных к вакансии (загрузка файлов)
vacancy_request number Нет DEPRECATED Идентификатор заявки на вакансию (перенесено в структуру fill_quotas)
fill_quotas array Нет Список квот к найму, см. Описание квот к найму

Примечания

При создании вакансий принимается не более одного элемента в списке fill_quotas.

До 2020-06-01 оставлена обратная совместимость (неполная) со старым интерфейсом:

  • если поля fill_quotas нет в структуре запроса, то будут обработаны поля applicants_to_hire, deadline, vacancy_request из тела запроса (кроме случая редактирования вакансии - см. ниже).

При создании вакансии из этих полей будет сформирована структура квоты к найму. При редактировании вакансии этими полями можно изменить параметры существующей квоты на вакансии, но только в случае если квота на вакансии существует только одна. Если квот больше одной, то будет возвращена ошибка (http status 400), так как невозможно понять какую из квот нужно отредактировать.

Элемент списка квот - это структура. Если в этой структуре указан идентификатор квоты, то будет изменена уже существующая квота. Если в структуре не указан идентификатор квоты, то будет добавлена новая квота на вакансию. Возможности удалить квоту с вакансии нет.

Ограничения:

  • При добавлении новой вакансии нельзя указать больше одной квоты
  • При добавлении новой вакансии нельзя в структуре квоты указывать идентификатор (так как должна быть создана новая квота)
  • Одну и ту же заявку нельзя привязать больше одного раза (к одной вакансии или к разным)

Поля ответа

Дополнительно к полям запроса также будут добавлены поля:

{
    "id": 1,
    "created": "2017-04-10T21:34:01+03:00"

}
Имя Тип Описание
id number Идентификатор вакансии
created datetime Дата и время создания вакансии

Редактирование вакансии

Если организация --- Кадровое Агентство, то используется другой набор полей.

PUT /account/{account_id}/vacancies/{vacancy_id}

Поля запроса

Тело запроса аналогично телу в запросе на создание вакансии.

Поля ответа

Ответ аналогичен ответу на запрос на создание вакансии.

Удаление вакансии

DELETE /account/{account_id}/vacancies/{vacancy_id}

Поля запроса

Тело запроса должно быть пустым

Поля ответа

{
    "status": true
}
Имя Тип Описание
status bool Флаг успешной операции

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

Если организация --- Кадровое Агенство, то возвращается другой набор полей.

GET /account/{account_id}/vacancies вернёт список вакансий компании.

Принимаемые параметры:

  • mine — логическое поле. Если передается, то вернутся только вакансии, над которыми работает текущий пользователь.

  • opened — логическое поле. Если передается, то вернутся только открытые вакансии

  • count, pageпараметры постраничного вывода.

{
    "items": [
        {
            "id": 4531,
            "position": "Менеджер по продажам",
            "company": "Отдел продаж",
            "money": "30 000 + 3% от продаж",
            "deadline": "2017-04-27",
            "applicants_to_hire": 1,
            "created": "2017-03-22T18:16:27+03:00",
            "priority": 0,
            "hidden": false,
            "state": "OPEN"
        },
        {
            "id": 4530,
            "position": "Программист Python",
            "company": "Отдел разработки",
            "money": "80 000 руб",
            "deadline": null,
            "applicants_to_hire": 1,
            "created": "2017-03-22T18:16:27+03:00",
            "priority": 0,
            "hidden": false,
            "state": "CLOSED"
        }
    ],
    "total": 1,
    "page": 1,
    "count": 30
}

Имя Тип Описание
id number Идентификатор вакансии
position string Название вакансии (должности)
company string Отдел, подразделение
money string Зарплата
deadline date Дата дедлайна по вакансии
applicants_to_hire number Количество кандидатов к найму
created datetime Дата и время создания вакансии
priority number Приоритет вакансии (может быть или 0 (обычный), или 1 (высокий))
hidden bool Скрыта ли вакансия от коллег
state string состояние вакансии

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

Если организация --- Кадровое Агентство, то возвращается другой набор полей.

GET /account/{account_id}/vacancies/{vacancy_id} вернёт вакансию с идентификатором {vacancy_id}

{
    "id": 4531,
    "position": "Менеджер по продажам",
    "company": "Отдел продаж",
    "money": "30 000 + 3% от продаж",
    "deadline": "2017-04-27",
    "applicants_to_hire": 1,
    "created": "2017-03-22T18:16:27+03:00",
    "priority": 0,
    "hidden": false,
    "state": "OPEN",
    "body": "<p>Пишу я вам, чего же <strong>боле</strong></p>",
    "requirements": "<p>Что я могу ещё <strong>сказать</strong></p>",
    "conditions": "<p>Теперь я знаю в вашей воле <strong>воле</strong></p>",
    "files": [
        {
            "id": 15808,
            "name": "Снимок экрана 2017-04-10 в 11.00.13.png",
            "content_type": "image/png",
            "url": "https://store.huntflow.ru/uploads/f/f/h/ffhov94xuqytbl16u8b9l3oeewdjpyoc.png"
        }
    ]
}

Поля с результатом аналогичны данным из списка вакансий плюс поля:

Имя Тип Описание
body string Обязанности в формате HTML
requirements string Требования в формате HTML
conditions string Условия работы в формате HTML
files array Список файлов, прикрепленных к вакансии

Состояние вакансии

Идентификатор Описание
OPEN Вакансия открыта
CLOSED Вакансия закрыта
HOLD Работа над вакансией приостановлена

Квоты к найму

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

Структура квоты выглядит следующим образом:

{
    "id": 123,
    "deadline": "2020-03-12",
    "applicants_to_hire": 3,
    "vacancy_request": 234,
}
Имя Тип Описание
id number Идентификатор квоты
deadline string Срок закрытия квоты (YYYY-MM-DD)
applicants_to_hire number Количество человек к найму по квоте
vacancy_request number Идентификатор заявки на вакансию

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

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

GET /account/{account_id}/vacancy/{vacancy_id}/quotas вернёт вакансию с идентификатором {vacancy_id}

Принимаемые параметры:

Возвращает структуру вида:

{
    "идентификатор вакансии": {
        "count": 30,
        "page": 1,
        "total": 1,
        "items": [
            {
              "already_hired": 1,
              "applicants_to_hire": 2,
              "closed": null,
              "created": "2020-02-03 19:47:59",
              "deadline": "2020-03-04",
              "id": 64,
              "vacancy_request": null,
              "account_info": {
                  "email": "email пользователя открывшего квоту",
                  "id": 135,
                  "name": "Имя пользователя открывшего квоту"
              }
            },
            ...
        ]
    }
}
Имя Тип Описание
id number Идентификатор квоты
deadline string Срок закрытия квоты (YYYY-MM-DD)
applicants_to_hire number Количество человек к найму по квоте
vacancy_request number заявка на вакансию
created string дата создания квоты
closed string дата закрытия квоты
already_hired number сколько человек нанято по квоте на данный момент