Производственный календарь

API предоставляет производственные календари в формате JSON, актуальные для Российской Федерации.

Доступные годы: с 2023 по 2024.

Ссылка на репозиторий: github.com/iposho/holidays-calendar-ru.

Эндпойнты

Получить все доступные календари

curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar"

Запрос вернет массив имеющихся в наличии календарей.

{
  "years": [
    2023,
    2024
  ],
  "status": 200
}

Получить календарь на конкретный год

curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023"

Запрос вернет объект с годом и массивом объектов месяцев. Описание объекта месяца ниже.

{
  "year": 2023,
  "months": [
    {
      "id": 0,
      "name": "January",
      "workingDays": 17,
      "notWorkingDays": 14,
      "shortDays": 0,
      "workingHours": 136
    }
    // ... Другие месяцы
  ],
  "status": 200
}

Получить праздничные и сокращенные дни на конкретный год

curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/holidays"

Возвращает праздничные и сокращенные предпраздничные дни для конкретного года.

{
  "year": 2023,
  "holidays": [
    {
      "date": "2023-01-01T00:00:00.000Z",
      "name": "Новый год"
    }
    // ... Другие праздники
  ],
  "shortDays": [
    {
      "date": "2023-02-22T00:00:00.000Z",
      "name": "День защитника Отечества"
    }
    // ... Другие сокращенные дни
  ],
  "status": 200
}

Получить календарь на конкретный месяц

curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/1"

Вернет объект месяца. Нумерация месяцев начинается с 1, а не с 0. Январь — месяц под номером 1, декабрь — под номером 12.

Объект содержит id месяца, имя, количество рабочих, нерабочих и коротких дней, а также рабочих часов при восьмичасовой рабочей неделе.

{
  "year": 2023,
  "month": {
    "id": 0,
    "name": "January",
    "workingDays": 17,
    "notWorkingDays": 14,
    "shortDays": 0,
    "workingHours": 136
  },
  "status": 200
}

Получить информацию о конкретном дне

1curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/2/22"

Вернет объект конкретного дня.

Объект содержит информацию о месяце, точную дату, признак рабочего/нерабочего/сокращенного, название праздника, если день праздничный или предпраздничный.

{
  "year": 2023,
  "month": {
    "name": "February",
    "id": 1
  },
  "date": "2023-02-22T00:00:00.000Z",
  "isWorkingDay": true,
  "isShortday": true,
  "holiday": "День защитника Отечества",
  "status": 200
}

Локальная установка

1git clone https://github.com/iposho/holidays-calendar-ru.git
2cd holidays-calendar-ru/
3npm i
4[...]
5npm run dev

Как внести свой вклад

  1. Форкните этот репозиторий.
  2. Создайте ветку своей фичи (git checkout -b my-new-feature).
  3. Закоммитьте изменения (git commit -am 'Add some feature').
  4. Запушьте изменения в репозиторий (git push origin my-new-feature).
  5. Создайте новый пулл-реквест в ветку develop.

Лицензия

Это проект с открытым кодом, распространяющийся под лицензией MIT License.