Получить рабочий график timeman.schedule.get

Scope: timeman

Кто может выполнять метод: любой пользователь

Метод timeman.schedule.get получает рабочий график по идентификатору. Если графика с указанным идентификатором не существует — вернет пустой массив.

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

Название
тип

Описание

id
integer

Идентификатор графика.

Узнать идентификатор графика можно в списке графиков на странице Сотрудники > Время и отчеты > Рабочие графики

Примеры кода

Как использовать примеры в документации

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":1}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/timeman.schedule.get
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":1,"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/timeman.schedule.get
        
try
        {
        	const response = await $b24.callMethod(
        		"timeman.schedule.get",
        		{
        			id: 1
        		}
        	);
        	
        	const result = response.getData().result;
        	console.dir(result);
        	if(response.more())
        		response.next();
        }
        catch(error)
        {
        	console.error(error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'timeman.schedule.get',
                    [
                        'id' => 1
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            if ($result->error()) {
                error_log($result->error());
                echo 'Error: ' . $result->error();
            } else {
                var_dump($result->data());
                if ($result->more()) {
                    $result->next();
                }
            }
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error getting schedule: ' . $e->getMessage();
        }
        
BX24.callMethod(
            "timeman.schedule.get",
            {
                id: 1
            },
            function(result)
            {
                if(result.error())
                    console.error(result.error());
                else
                {
                    console.dir(result.data());
                    if(result.more())
                        result.next();
                }
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'timeman.schedule.get',
            [
                'id' => 1
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Обработка ответа

HTTP-статус: 200

{
            "result": {
                "ID": 1,
                "NAME": "Для всех сотрудников",
                "SCHEDULE_TYPE": "FIXED",
                "REPORT_PERIOD": "MONTH",
                "REPORT_PERIOD_OPTIONS": {
                    "START_WEEK_DAY": 0
                },
                "CALENDAR_ID": 1,
                "ALLOWED_DEVICES": {
                    "browser": true
                },
                "DELETED": "0",
                "IS_FOR_ALL_USERS": true,
                "WORKTIME_RESTRICTIONS": [
                    "[]"
                ],
                "CONTROLLED_ACTIONS": 3,
                "UPDATED_BY": 503,
                "DELETED_BY": 0,
                "DELETED_AT": "",
                "CREATED_BY": 0,
                "CREATED_AT": "2019-09-19T21:22:22+03:00",
                "SHIFTS": [
                    {
                        "ID": 1,
                        "NAME": "",
                        "BREAK_DURATION": 3600,
                        "WORK_TIME_START": 28800,
                        "WORK_TIME_END": 61200,
                        "WORK_DAYS": "12345",
                        "SCHEDULE_ID": 1,
                        "DELETED": false
                    }
                ],
                "CALENDAR": {
                    "ID": 1,
                    "NAME": "",
                    "PARENT_CALENDAR_ID": 0,
                    "SYSTEM_CODE": "",
                    "EXCLUSIONS": []
                },
                "SCHEDULE_VIOLATION_RULES": {
                    "ID": 1,
                    "SCHEDULE_ID": 1,
                    "ENTITY_CODE": "UA",
                    "MAX_EXACT_START": 28859,
                    "MIN_EXACT_END": 61200,
                    "MAX_OFFSET_START": -1,
                    "MIN_OFFSET_END": -1,
                    "RELATIVE_START_FROM": -1,
                    "RELATIVE_START_TO": -1,
                    "RELATIVE_END_FROM": -1,
                    "RELATIVE_END_TO": -1,
                    "MIN_DAY_DURATION": 28800,
                    "MAX_ALLOWED_TO_EDIT_WORK_TIME": 300,
                    "MAX_WORK_TIME_LACK_FOR_PERIOD": 3600,
                    "PERIOD_TIME_LACK_AGENT_ID": 309429,
                    "MAX_SHIFT_START_DELAY": -1,
                    "MISSED_SHIFT_START": 0,
                    "USERS_TO_NOTIFY": {
                        "FIXED_START_END": [
                            "U503"
                        ],
                        "FIXED_PER_RECORD": [
                            "U503"
                        ],
                        "FIXED_EDIT_WORKTIME": [
                            "U503"
                        ],
                        "FIXED_PERIODIC": [
                            "U503"
                        ],
                        "SHIFT_DELAY": [],
                        "SHIFT_MISSED_START": []
                    }
                }
            },
            "time": {
                "start": 1744036659.2339499,
                "finish": 1744036659.2655749,
                "duration": 0.031625032424926758,
                "processing": 0.008758068084716797,
                "date_start": "2025-04-07T17:37:39+03:00",
                "date_finish": "2025-04-07T17:37:39+03:00",
                "operating_reset_at": 1744037259,
                "operating": 0
            }
        }
        

Возвращаемые данные

Название
тип

Описание

result
object

Корневой элемент ответа.

Содержит объект с описанием графика работы сотрудников

ID
integer

Идентификатор графика работы

NAME
string

Название графика работы

SCHEDULE_TYPE
string

Тип графика работы.

Варианты значений:

  • FIXED — фиксированный
  • SHIFT — посменный
  • FLEXTIME — свободный

REPORT_PERIOD
string

Периодичность формирования отчетов по графику.

Возможные значения:

  • MONTH — месяц
  • WEEK — неделя
  • TWO_WEEKS — две недели
  • QUARTER — квартал

REPORT_PERIOD_OPTIONS
object

Объект с описанием дополнительных настроек периода формирования отчетов.

Только для REPORT_PERIOD со значениями WEEK и TWO_WEEKS

CALENDAR_ID
integer

Идентификатор календаря, связанного с графиком работы

ALLOWED_DEVICES
object

Объект с описанием разрешенных устройств для учета рабочего времени

DELETED
string

Флаг удаления графика работы.

Значение "0" означает, что график активен. Значение "1" указывает на удаленное состояние

IS_FOR_ALL_USERS
boolean

Применимость графика ко всем сотрудникам.

Значение true означает, что график применяется ко всем пользователям системы

WORKTIME_RESTRICTIONS
array

Ограничения рабочего времени.

Содержит массив строк с правилами ограничений

CONTROLLED_ACTIONS
integer

Количество контролируемых действий в рамках графика работы

UPDATED_BY
integer

Идентификатор пользователя, который последним обновил график работы

DELETED_BY
integer

Идентификатор пользователя, который удалил график работы.

Значение 0 указывает, что график не был удален

DELETED_AT
string

Дата и время удаления графика работы.

Пустая строка означает, что график не был удален

CREATED_BY
integer

Идентификатор пользователя, который создал график работы.

Значение 0 указывает на системное создание

CREATED_AT
datetime

Дата и время создания графика работы

SHIFTS
array

Массив объектов смен. Каждый объект содержит описание смены, связанной с графиком работы

CALENDAR
object

Объект с информацией о календаре, связанном с графиком работы

SCHEDULE_VIOLATION_RULES
object

Объект с описанием правил нарушения графика работы

time
time

Информация о времени выполнения запроса

Объект REPORT_PERIOD_OPTIONS

Название
тип

Описание

START_WEEK_DAY
integer

День начала недели.

Возможные значения:

  • 0 — понедельник
  • 1 — вторник
  • 2 — среда
  • 3 — четверг
  • 4 — пятница
  • 5 — суббота
  • 6 — воскресенье

Объект ALLOWED_DEVICES

Название
тип

Описание

browser
boolean

Разрешен ли учет рабочего времени через браузер.

Если true — учет разрешен

Объект SHIFTS

Название
тип

Описание

ID
integer

Идентификатор смены

NAME
string

Название смены

BREAK_DURATION
integer

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

WORK_TIME_START
integer

Время начала рабочего дня в секундах от полуночи

WORK_TIME_END
integer

Время окончания рабочего дня в секундах от полуночи

WORK_DAYS
string

Строка с кодами рабочих дней. Например, 12345 — с понедельника по пятницу

SCHEDULE_ID
integer

Идентификатор графика работы

DELETED
boolean

Флаг удаления смены.

Значение true означает, что смена удалена

Объект CALENDAR

Название
тип

Описание

ID
integer

Идентификатор календаря

NAME
string

Название календаря

PARENT_CALENDAR_ID
integer

Идентификатор родительского календаря.

Значение 0 указывает, что родительский календарь отсутствует

SYSTEM_CODE
string

Системный код календаря

EXCLUSIONS
array

Исключения из календаря.

Содержит массив строк с датами или периодами, исключенными из календаря

Объект SCHEDULE_VIOLATION_RULES

Название
тип

Описание

ID
integer

Идентификатор правил нарушений графика

SCHEDULE_ID
integer

Идентификатор графика работы

ENTITY_CODE
string

Код сущности, к которой применяются правила.

Например, UA — пользовательские действия

MAX_EXACT_START
integer

Максимальное точное время начала рабочего дня в секундах от полуночи

MIN_EXACT_END
integer

Минимальное точное время окончания рабочего дня в секундах от полуночи

MAX_OFFSET_START
integer

Максимальное смещение начала рабочего дня.

Значение -1 означает, что ограничение не установлено

MIN_OFFSET_END
integer

Минимальное смещение окончания рабочего дня.

Значение -1 означает, что ограничение не установлено

RELATIVE_START_FROM
integer

Относительное начало рабочего дня (относительно планируемого времени).

Значение -1 означает, что ограничение не установлено

RELATIVE_START_TO
integer

Относительное окончание рабочего дня (относительно планируемого времени).

Значение -1 означает, что ограничение не установлено

RELATIVE_END_FROM
integer

Относительное начало окончания рабочего дня.

Значение -1 означает, что ограничение не установлено

RELATIVE_END_TO
integer

Относительное окончание рабочего дня.

Значение -1 означает, что ограничение не установлено

MIN_DAY_DURATION
integer

Минимальная продолжительность рабочего дня в секундах

MAX_ALLOWED_TO_EDIT_WORK_TIME
integer

Максимальное время, на которое можно изменить рабочее время в секундах

MAX_WORK_TIME_LACK_FOR_PERIOD
integer

Максимальное время недоработки за период в секундах

PERIOD_TIME_LACK_AGENT_ID
integer

Идентификатор агента, который проверяет недоработку за период

MAX_SHIFT_START_DELAY
integer

Максимальная задержка начала смены в секундах.

Значение -1 означает, что ограничение не установлено

MISSED_SHIFT_START
integer

Флаг пропуска начала смены.

Значение 0 означает, что пропуск не фиксировался

USERS_TO_NOTIFY
object

Объект с описанием пользователей для уведомления о нарушениях графика

Объект USERS_TO_NOTIFY

Название
тип

Описание

FIXED_START_END
array

Список пользователей для уведомления о фиксированном начале и окончании рабочего дня.

Каждый элемент массива содержит идентификатор пользователя в формате U<ID>

FIXED_PER_RECORD
array

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

Каждый элемент массива содержит идентификатор пользователя в формате U<ID>

FIXED_EDIT_WORKTIME
array

Список пользователей для уведомления об изменении рабочего времени.

Каждый элемент массива содержит идентификатор пользователя в формате U<ID>

FIXED_PERIODIC
array

Список пользователей для уведомления о периодических нарушениях графика.

Каждый элемент массива содержит идентификатор пользователя в формате U<ID>

SHIFT_DELAY
array

Список пользователей для уведомления о задержке начала смены

SHIFT_MISSED_START
array

Список пользователей для уведомления о пропуске начала смены

Обработка ошибок

Статусы и коды системных ошибок

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

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

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение

Предыдущая
Следующая