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

POST /v1/workday/open

Открывает новый рабочий день текущего пользователя. Вайбкод проксирует запрос в Битрикс24 без дополнительной обработки и возвращает ответ как есть. Поведение для уже активных дней определяется на стороне Битрикс24: для дня в статусе OPENED возвращается текущее состояние без изменений; для дня в статусе PAUSED — день переводится обратно в OPENED с продолжением учёта.

#Поля запроса (body)

Все параметры опциональны. Тело может быть пустым: {}.

Поле Тип Обяз. Описание
userId number нет Идентификатор сотрудника. По умолчанию — пользователь, которому принадлежат токены ключа
time string нет Дата и время начала в формате ISO 8601 (например 2026-05-05T09:00:00+03:00). Дата должна совпадать с текущей. Применяется только когда день в статусе CLOSED. При указании этого поля становится обязательным report
report string нет Причина изменения. Обязательно при заданном time и для сотрудников с фиксированным графиком работы
lat number нет Географическая широта точки начала рабочего дня
lon number нет Географическая долгота точки начала рабочего дня

#Примеры

#curl — личный ключ

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

#curl — OAuth-приложение

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/workday/open \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -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': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
})
const { data } = await res.json()
console.log('Статус:', data.status)
console.log('Открыт в:', data.timeStart)

#JavaScript — OAuth-приложение

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

#Поля ответа

Поле Тип Описание
success boolean true при успешном открытии
data.status string Актуальный статус: OPENED, CLOSED, PAUSED, EXPIRED
data.timeStart string Дата и время начала дня (ISO 8601, часовой пояс сотрудника)
data.timeFinish string | null Дата и время завершения дня. null для незакрытого дня
data.duration string Длительность дня в формате HH:MM:SS. Для только что открытого — 00:00:00
data.timeLeaks string Суммарная длительность пауз за день в формате HH:MM:SS
data.active boolean Признак активной записи рабочего дня
data.ipOpen string IP-адрес начала дня. Пустая строка при открытии без IP-фиксации
data.ipClose string IP-адрес завершения дня. Пустая строка для незакрытого дня
data.latOpen number Географическая широта точки начала. 0 — координаты не переданы
data.lonOpen number Географическая долгота точки начала. 0 — координаты не переданы
data.latClose number Географическая широта точки завершения
data.lonClose number Географическая долгота точки завершения
data.tzOffset number Смещение часового пояса сотрудника в секундах (зависит от настроек сотрудника на портале; пример 10800 соответствует UTC+3)

#Пример ответа

JSON
{
  "success": true,
  "data": {
    "status": "OPENED",
    "timeStart": "2026-05-05T09:00:00+03:00",
    "timeFinish": null,
    "duration": "00:00:00",
    "timeLeaks": "00:00:00",
    "active": true,
    "ipOpen": "",
    "ipClose": "",
    "latOpen": 0,
    "lonOpen": 0,
    "latClose": 0,
    "lonClose": 0,
    "tzOffset": 10800
  }
}

#Пример ответа при ошибке

403 — у ключа нет скоупа timeman:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'timeman' scope"
  }
}

#Ошибки

HTTP Код Описание
400 INVALID_PARAMS Битрикс24 вернул INVALID_PARAMS — нарушена валидация поля запроса
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный API-ключ
401 KEY_EXPIRED Срок действия API-ключа истёк
401 TOKEN_MISSING Ключу не настроены OAuth-токены для портала
402 ACCOUNT_FROZEN Баланс портала заморожен
403 SCOPE_DENIED У ключа нет скоупа timeman
422 BITRIX_ERROR Битрикс24 отклонил запрос — текст в message. Возможные причины: дата time не совпадает с текущей, отсутствует report при заданном time, день уже в нужном состоянии
429 RATE_LIMITED Превышен лимит запросов к Битрикс24
502 BITRIX_UNAVAILABLE Портал Битрикс24 недоступен

Полный список общих ошибок API — Ошибки.

#Смотрите также