API — это способ обмена информацией между сервисами. У Хантфлоу есть мощный API, который позволяет настроить интеграцию с практическим любым внутренним сервисом или мессенджером компании: от SAP и интранета до Slack и Telegram.
Эйчары и кадровые специалисты часто пользуются специальным производственным календарем, в котором указаны рабочие и выходные дни — он нужен для подсчета KPI, постановки дедлайнов, расчета больничных и зарплат.
В самом Хантфлоу производственный календарь России, Казахстана, Республики Беларусь и Украины используется для формирования статистики внутри сервиса. Например, срок закрытия вакансии считался и в календарных, и в рабочих днях — это важно, чтобы получать корректную информацию.
Рассчитывать и использовать число рабочих дней очень важно в самых разных проектах и задачах. Теперь вместо того, чтобы разрабатывать логику и поддерживать актуальность своего сервиса — используйте наш новый API производственного календаря.
Примеры использования производственного календаря
Получить производственный календарь для разных стран
В разных странах праздники и их даты отличаются. Это важно учитывать, если вы работаете с клиентами или поставщиками из других стран. Поэтому в Хантфлоу есть календари для России, Украины, Республики Беларусь и Казахстана.
GET /production_calendar
вернет список производственных календарей для разных стран
{
"items": [
{
"id": 1,
"name": "Russian Federation"
},
...
]
}
GET /production_calendar/{calendar_id}
вернёт календарь с идентификатором {calendar_id}
{
"id": 1,
"name": "Russian Federation"
}
Получение нерабочих дней за период
Эта функция пригодится, если вам нужно подсчитать количество выходных дней в определенном периоде времени: например, при определении успешности выполнения KPI, расчете отпускных или больничных.
GET /production_calendar/{calendar_id}/days/{deadline}
вернет информацию о нерабочих днях до даты {deadline}
в формате YYYY-MM-DD, согласно календарю {calendar_id}
.
API даст ответ в таком формате:
{
"total_days": 36,
"not_working_days": 28,
"items": ["2019-01-01", ... ]
}
У этого запроса есть и массовая версия:
POST /production_calendar/{calendar_id}/days
В теле запроса необходимо передать JSON вида:
[
{"deadline": "2019-04-20"},
{"deadline": "2019-05-20" "start": "2018-05-20"}
]
Расчет даты в будущем с учетом нерабочих дней
Если вам нужно узнать, какая дата наступит, например, через 30 рабочих дней, вы легко сможете отправить запрос и получить ответ от API Хантфлоу. Эта функция пригодится при определении дедлайнов и KPI.
GET /production_calendar/{calendar_id}/deadline/{days}
— вернет дату в будущем, через {days}
рабочих дней, согласно календарю {calendar_id}
.
POST /production_calendar/{calendar_id}/deadline
— массовая версия этого запроса.
В теле запроса необходимо передать JSON вида:
[
{"days": 10},
{"days": 20},
{"days": 30, "start": "2007-09-01"}
]
Расчет даты в прошлом с учетом нерабочих дней
В API есть похожая функция и для прошлого — с ее помощью вы можете узнать, с какой даты начинается отсчет нужного количества рабочих дней.
GET /production_calendar/{calendar_id}/start/{days}
— вернет дату в прошлом, через {days}
рабочих дней, согласно календарю {calendar_id}
.
Для массового расчета дней используйте эту версию запроса: POST /production_calendar/{calendar_id}/start
.
В теле запроса необходимо передать JSON вида:
[
{"days": 10},
{"days": 20},
{"days": 30, "deadline": "2017-09-01"}
]
Читайте полную документацию на Github.