CheckDay API
CheckDay API

Определяет рабочие, выходные и праздничные дни для скриптов и интеграций

Сервис отвечает JSON-данными по производственному календарю и помогает там, где обычный cron сам не умеет понимать праздничные, выходные, сокращённые и специальные рабочие дни.

Его удобно использовать для автозапусков, уведомлений, биллинга, переноса задач, расчётов по рабочим дням и любых сценариев, где решение зависит от статуса даты.

Документация

Актуальная версия API работает через заголовок Authorization: Bearer API_KEY или X-API-Key: API_KEY. Точка входа для документации: /api/v2/

curl -H "Authorization: Bearer API_KEY" \ "/api/v2/day?date=2026-02-09"

Простые запросы

Самый частый сценарий — узнать статус одной даты или получить текущий день без дополнительных параметров.

Получение данных по дате

/api/v2/day /api/v2/day?date=2026-02-09

Если параметр date не передан, сервис возвращает статус текущей даты. Формат даты — строго YYYY-MM-DD.

Параметры и правила запросов

Здесь собраны общие правила для всех методов API: как передавать ключ, в каком формате указывать даты и какие параметры используются в основных запросах.

Авторизация

Поддерживаются два способа: Authorization: Bearer API_KEY или X-API-Key: API_KEY.

Параметры даты

Для одной даты используется date=YYYY-MM-DD. Если параметр не передан, метод /day возвращает статус сегодняшнего дня.

Параметры периода

Для диапазона используются start и end. Для выборок по месяцу и году используются month и year.

Ограничения

Диапазон периода, скорость запросов и месячная квота зависят от тарифа пользователя. При превышении API возвращает 429.

Расширенные запросы

Получение данных на дату

/api/v2/day?date=2026-02-09

Получение данных за месяц

/api/v2/month?month=2&year=2026/api/v2/month?month=February&year=2026

Получение данных за год

/api/v2/year?year=2026

Получение данных за произвольный период

/api/v2/period?start=2026-02-01&end=2026-02-28

Сервис проверяет корректность диапазона, порядок дат и максимально допустимую длину периода по тарифу.

Ответы сервиса

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

Код Значение HTTP
0 Рабочий день 200
1 Нерабочий день 200
2 Сокращённый день 200
5 Первый рабочий день после выходных 200
8 Праздничный день 200
400 Ошибка в параметрах или формате даты 400
403 Недействительный API-ключ 403
404 Данные не найдены 404
429 Превышен лимит скорости, месячная квота или лимит периода 429
{ "date": "2026-02-09", "code": 5, "title": "Первый рабочий день после выходных" }

Использование в cron

Это один из основных сценариев сервиса: cron-задача может сперва проверить текущую дату, а потом уже решить, выполнять действие сегодня или нет.

#!/bin/bash STATUS=$(curl -fsS -H "Authorization: Bearer API_KEY" \ "/api/v2/day" | jq -r '.code') if [ "$STATUS" = "0" ] || [ "$STATUS" = "2" ] || [ "$STATUS" = "5" ]; then echo "Сегодня можно выполнять задачу" else echo "Сегодня выходной или праздник" fi

Код выше приведён как пример интеграции. На практике можно проверять нужные именно вам статусы.

Библиотеки

Специальная библиотека не обязательна: сервис работает по обычному HTTPS и легко вызывается из любого HTTP-клиента.

curl

Подходит для cron, shell-скриптов и серверных автоматизаций.

Python requests

Удобен для бекендов, фоновых задач и служебных утилит.

PHP cURL

Подходит для сайтов, панелей и внутренних сервисов на PHP.

Любой HTTP client

Go, Node.js, Java, .NET — достаточно передать URL и заголовок авторизации.

О проекте

CheckDay API — это внутренний сервис для быстрого получения статуса календарной даты без ручного расчёта производственного календаря в каждом отдельном проекте.

Его задача — дать простой и единый интерфейс, который можно подключить к cron-задачам, интеграциям и сервисам, где важно корректно учитывать рабочие и праздничные дни.