#Рабочий день

Управляйте рабочим днём сотрудника через API. Открытие, закрытие, пауза, статус, настройки и расписание — всё через простые HTTP-запросы.

#Обзор

Workday API — обёртка над Bitrix24 REST API (timeman.*). Позволяет управлять учётом рабочего времени: открывать и закрывать рабочий день, ставить на паузу, получать статус и настройки.

Все ответы приходят в camelCase (серверная трансформация из UPPER_CASE Битрикс24). Например, TIME_START становится timeStart, TIME_LEAKStimeLeaks.

Требуемый скоуп: timeman

Базовый URL: https://vibecode.bitrix24.tech/v1

Авторизация: заголовок X-Api-Key с вашим API-ключом.


#Быстрый старт

#1. Проверьте текущий статус

Terminal
curl -H "X-Api-Key: $VIBE_KEY" \
  https://vibecode.bitrix24.tech/v1/workday/status

#2. Откройте рабочий день

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/workday/open \
  -H "X-Api-Key: $VIBE_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Ответ:

JSON
{
  "success": true,
  "data": {
    "status": "OPENED",
    "timeStart": "2026-03-31T09:00:00+03:00",
    "timeFinish": "",
    "duration": "0",
    "timeLeaks": "0",
    "active": true
  }
}

#3. Закройте рабочий день

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/workday/close \
  -H "X-Api-Key: $VIBE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "report": "Закрыл 5 сделок, обработал 12 лидов" }'

#Эндпоинты

#POST /v1/workday/open

Открывает рабочий день текущего пользователя. Если рабочий день уже открыт, Битрикс24 вернёт ошибку.

Bitrix24 метод: timeman.open

Параметры:

Параметр В Тип Обяз. По умолч. Описание
time body string нет Время начала в формате HH:MM (если нужно указать вручную)
report body string нет Отчёт / комментарий к открытию

curl:

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/workday/open \
  -H "X-Api-Key: $VIBE_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

JavaScript:

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/workday/open', {
  method: 'POST',
  headers: {
    'X-Api-Key': VIBE_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({})
})

const { data } = await res.json()
console.log('Status:', data.status) // "OPENED"
console.log('Started at:', data.timeStart)

Ответ:

JSON
{
  "success": true,
  "data": {
    "status": "OPENED",
    "timeStart": "2026-03-31T09:00:00+03:00",
    "timeFinish": "",
    "duration": "0",
    "timeLeaks": "0",
    "active": true
  }
}