[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-workday\u002Fschedule":3,"docs-tabs-workday\u002Fschedule":6},{"content":4,"lastmod":5},"\n## График работы\n\n`GET \u002Fv1\u002Fworkday\u002Fschedule`\n\nВозвращает график работы по идентификатору. Параметр id обязателен. Если графика с указанным идентификатором не существует, возвращается пустой массив.\n\n## Параметры\n\n| Параметр | В | Тип | Обяз. | По умолч. | Описание |\n|----------|---|-----|:-----:|-----------|---------|\n| `id` | query | number | да | — | Идентификатор графика. Список графиков и их идентификаторы настраиваются в разделе учёта рабочего времени на портале Битрикс24 |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -H \"X-Api-Key: YOUR_API_KEY\" \\\n  \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fworkday\u002Fschedule?id=1\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fworkday\u002Fschedule?id=1\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fworkday\u002Fschedule?id=1',\n  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } },\n)\nconst { data } = await res.json()\nif (Array.isArray(data) && data.length === 0) {\n  console.log('График не найден')\n} else {\n  console.log('График:', data.name)\n  console.log('Тип:', data.scheduleType)\n}\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fworkday\u002Fschedule?id=1',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  },\n)\nconst { data } = await res.json()\n```\n\n## Поля ответа\n\nКогда график найден, `data` — объект со сведениями о графике. Когда график с указанным `id` отсутствует, `data` — пустой массив.\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | `true` при успешном ответе |\n| `data` | object \\| array | Объект графика или пустой массив `[]` для несуществующего идентификатора |\n| `data.id` | number | Идентификатор графика |\n| `data.name` | string | Название графика |\n| `data.scheduleType` | string | Тип графика: `FIXED` (фиксированный), `SHIFT` (сменный), `FLEXTIME` (свободный) |\n| `data.reportPeriod` | string | Периодичность отчётов: `MONTH`, `WEEK`, `TWO_WEEKS`, `QUARTER` |\n| `data.reportPeriodOptions` | object | Дополнительные настройки периода отчётов (например, `startWeekDay`). Возвращается для всех значений `reportPeriod` |\n| `data.calendarId` | number | Идентификатор календаря, связанного с графиком |\n| `data.allowedDevices` | object | Разрешённые устройства учёта (`browser`, `mobile`). Каждое поле — boolean |\n| `data.deleted` | string | `\"0\"` — график активен; `\"1\"` — график удалён |\n| `data.isForAllUsers` | boolean | `true` — график применяется ко всем сотрудникам |\n| `data.worktimeRestrictions` | array | Массив правил ограничений рабочего времени. Пустой массив — ограничений нет |\n| `data.controlledActions` | number | Количество контролируемых действий по графику |\n| `data.updatedBy` | number | Идентификатор пользователя, который последним обновил график. `0` — обновлений не было |\n| `data.deletedBy` | number | Идентификатор пользователя, удалившего график. `0` — график не удалён |\n| `data.deletedAt` | string | Дата и время удаления. Пустая строка — график не удалён |\n| `data.createdBy` | number | Идентификатор пользователя, создавшего график. `0` — системное создание |\n| `data.createdAt` | string | Дата и время создания (ISO 8601) |\n| `data.shifts` | array | Массив объектов смен по графику |\n| `data.shifts[].id` | number | Идентификатор смены |\n| `data.shifts[].name` | string | Название смены |\n| `data.shifts[].breakDuration` | number | Длительность перерыва в секундах (`3600` = 1 час) |\n| `data.shifts[].workTimeStart` | number | Время начала смены в секундах от начала суток (`32400` = 09:00) |\n| `data.shifts[].workTimeEnd` | number | Время завершения смены в секундах от начала суток (`64800` = 18:00) |\n| `data.shifts[].workDays` | string | Дни недели цифрами 1–7, где 1 = понедельник, 7 = воскресенье. `\"12345\"` — будние дни |\n| `data.shifts[].scheduleId` | number | Идентификатор графика, к которому привязана смена |\n| `data.shifts[].deleted` | boolean | Признак удалённой смены (boolean, в отличие от строкового `data.deleted`) |\n| `data.calendar` | object | Сведения о календаре графика |\n| `data.calendar.id` | number | Идентификатор календаря |\n| `data.calendar.name` | string | Название календаря |\n| `data.calendar.parentCalendarId` | number | Идентификатор родительского календаря |\n| `data.calendar.systemCode` | string | Системный код календаря |\n| `data.calendar.exclusions` | array | Список исключений календаря |\n| `data.scheduleViolationRules` | object | Правила нарушения графика. Поля со значением `-1` означают «параметр не задан» |\n\n## Пример ответа\n\nГрафик с указанным идентификатором найден (тип `FIXED`, смена 09:00–18:00 пн-пт):\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 9,\n    \"name\": \"Фиксированный график\",\n    \"scheduleType\": \"FIXED\",\n    \"reportPeriod\": \"MONTH\",\n    \"reportPeriodOptions\": { \"startWeekDay\": 0 },\n    \"calendarId\": 37,\n    \"allowedDevices\": { \"browser\": true, \"mobile\": true },\n    \"deleted\": \"0\",\n    \"isForAllUsers\": true,\n    \"worktimeRestrictions\": [],\n    \"controlledActions\": 3,\n    \"updatedBy\": 0,\n    \"deletedBy\": 0,\n    \"deletedAt\": \"\",\n    \"createdBy\": 1,\n    \"createdAt\": \"2026-05-05T11:50:40+03:00\",\n    \"shifts\": [\n      {\n        \"id\": 7,\n        \"name\": \"\",\n        \"breakDuration\": 3600,\n        \"workTimeStart\": 32400,\n        \"workTimeEnd\": 64800,\n        \"workDays\": \"12345\",\n        \"scheduleId\": 9,\n        \"deleted\": false\n      }\n    ],\n    \"calendar\": {\n      \"id\": 37,\n      \"name\": \"\",\n      \"parentCalendarId\": 1,\n      \"systemCode\": \"\",\n      \"exclusions\": []\n    },\n    \"scheduleViolationRules\": {\n      \"id\": 11,\n      \"scheduleId\": 9,\n      \"entityCode\": \"UA\",\n      \"maxExactStart\": -1,\n      \"minExactEnd\": -1,\n      \"maxOffsetStart\": -1,\n      \"minOffsetEnd\": -1,\n      \"relativeStartFrom\": -1,\n      \"relativeStartTo\": -1,\n      \"relativeEndFrom\": -1,\n      \"relativeEndTo\": -1,\n      \"minDayDuration\": -1,\n      \"maxAllowedToEditWorkTime\": -1,\n      \"maxWorkTimeLackForPeriod\": -1,\n      \"periodTimeLackAgentId\": 0,\n      \"maxShiftStartDelay\": -1,\n      \"missedShiftStart\": 0,\n      \"usersToNotify\": {\n        \"fixedStartEnd\": [],\n        \"fixedPerRecord\": [],\n        \"fixedEditWorktime\": [],\n        \"fixedPeriodic\": [],\n        \"shiftDelay\": [],\n        \"shiftMissedStart\": []\n      }\n    }\n  }\n}\n```\n\nГрафик с указанным идентификатором не найден:\n\n```json\n{\n  \"success\": true,\n  \"data\": []\n}\n```\n\n## Пример ответа при ошибке\n\n422 — параметр `id` не передан:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Could not find value for parameter {id}\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Битрикс24 вернул `INVALID_PARAMS` — нарушена валидация поля запроса |\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n| 401 | `INVALID_API_KEY` | Неверный API-ключ |\n| 401 | `KEY_EXPIRED` | Срок действия API-ключа истёк |\n| 401 | `TOKEN_MISSING` | Ключу не настроены OAuth-токены для портала |\n| 402 | `ACCOUNT_FROZEN` | Баланс портала заморожен |\n| 403 | `SCOPE_DENIED` | У ключа нет скоупа `timeman` |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос — текст в `message` (например, не передан `id` или у пользователя нет прав на просмотр графика) |\n| 429 | `RATE_LIMITED` | Превышен лимит запросов к Битрикс24 |\n| 502 | `BITRIX_UNAVAILABLE` | Портал Битрикс24 недоступен |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n- **Тип поля `deleted` различается на разных уровнях ответа.** На уровне графика `data.deleted` — строка (`\"0\"`\u002F`\"1\"`), внутри смены `data.shifts[].deleted` — boolean (`true`\u002F`false`). При написании клиентского кода нельзя обрабатывать оба поля одинаково.\n\n## Смотрите также\n\n- [Настройки учёта](\u002Fdocs\u002Fworkday\u002Fsettings) — `GET \u002Fv1\u002Fworkday\u002Fsettings`.\n- [Текущий статус](\u002Fdocs\u002Fworkday\u002Fstatus) — `GET \u002Fv1\u002Fworkday\u002Fstatus`.\n- [Рабочий день](\u002Fdocs\u002Fworkday) — обзор раздела.\n","2026-06-23",{}]