Как через REST API получить список пользователей Битрикс24, которые начали рабочий день?
Содержание
- Введение (о Битрикс24)
- Понятие рабочего дня в Битрикс24
- Применение рабочего дня в Битрикс24
- Зачем может понадобиться получать список сотрудников с начатым рабочим днем в Битрикс24
- Получение списка сотрудников из Битрикс24 через API
- Получение списка пользователей с открытым рабочим днем через API
- Пишем скрипт
- Заключение
Введение
Битрикс24 - это мощный корпоративный портал, который стал незаменимым инструментом для управления бизнесом в современных условиях. Платформа объединяет в себе функционал CRM, проектного менеджмента, внутренней коммуникации и контроля рабочего времени сотрудников.
Система учёта рабочего времени является одним из ключевых компонентов Битрикс24. Она позволяет отслеживать начало и окончание рабочего дня, перерывы и общее время, проведённое сотрудниками за работой. Это помогает оптимизировать бизнес-процессы и повысить эффективность работы команды.
REST API Битрикс24 представляет собой набор готовых методов для интеграции с различными системами и автоматизации рабочих процессов. С его помощью разработчики могут создавать собственные решения для работы с данными портала, автоматизировать рутинные задачи и получать доступ к информации в режиме реального времени.
В данной статье мы рассмотрим конкретный пример использования REST API для получения списка сотрудников, начавших рабочий день. Это решение может быть полезно для создания различных корпоративных дашбордов, систем мониторинга и автоматизации бизнес-процессов, связанных с учётом рабочего времени.
Понятие рабочего дня в Битрикс24
Рабочий день - это инструмент для учёта и контроля рабочего времени сотрудников в системе Битрикс24.
Основные функции:
- Учёт времени: автоматический подсчёт рабочих часов, фиксация начала и конца рабочего дня.
- Контроль активности: мониторинг присутствия сотрудников онлайн, отслеживание периодов неактивности.
- Отчётность: формирование отчётов по отработанному времени, анализ продуктивности.
- Настройка графиков: создание различных графиков работы, учёт праздников.
- Интеграция: связь с задачами, проектами и корпоративным мессенджером.
Применение рабочего дня в Битрикс24
Где применяется
- Управление персоналом: контроль присутствия сотрудников на рабочем месте
- Учёт рабочего времени: фиксация начала и окончания рабочего дня
- Проектная работа: отслеживание времени, затраченного на задачи
- HR-процессы: расчёт премий, отпусков, больничных
- Финансовый учёт: формирование табелей для бухгалтерии
Практические примеры использования
- Контроль эффективности: анализ продуктивности сотрудников в течение дня
- Планирование нагрузки: распределение задач с учётом рабочего графика
- Оптимизация процессов: выявление периодов низкой активности
- Мотивация персонала: прозрачная система учёта рабочего времени
- Соблюдение нормативов: контроль соблюдения трудового законодательства
Результаты внедрения
- Повышение дисциплины: сотрудники более ответственно относятся к рабочему времени
- Экономия ресурсов: автоматизация рутинных процессов учёта
- Улучшение коммуникации: синхронизация работы команды
- Рост производительности: оптимизация рабочих процессов
- Снижение издержек: контроль затрат на персонал
Система рабочего дня помогает создать прозрачную и эффективную среду для управления персоналом, что положительно влияет на результаты работы всей компании.
Зачем может понадобиться получать список сотрудников с начатым рабочим днем в Битрикс24
Иногда при автоматизации внутренних бизнес - процессов компании с применением внешних обработчиков (через вебхуки) может потребоваться знать находится на рабочем месте тот или иной сотрудник или нет. Например, это может быть полезно если необходимо оперативно решить какую - либо задачу и требуется назначить эту задачу для максимально быстрого решения на работающего сотрудника.
Благодаря информации о сотрудниках на рабочих местах можно собирать статистику работы компании в разные временные промежутки времени, накапливать и в дальнейшем анализировать данные связанные с работой компании: например наличие сотрудников на рабочих местах в выходной день, среднее время перерыва в пятницу, среднее время начала рабочего дня в среду, и т.д. - на основании этих данных и отчетов в дальнейшем можно делать выводы и строить более эффективную работу компании как с точки зрения бизнеса, так и с точки зрения сотрудников работающих в компании. К примеру на основании данных о продолжительности обеденного перерыва можно сделать вывод хватает ли сотрудникам время пообедать (возможно рядом с компанией в шаговой доступности нет заведения общепита) и принять решение о увеличении времени обеденного перерыва на 15 минут.
Для того чтобы понимать всю динамику наличия на рабочем месте потребуется проводить запрос данных по сотрудникам (получить список всех сотрудников компании) и потом по статусу рабочего дня каждого из сотрудников в списке. Полученные данные можно сохранить с временной меткой и использовать в дальнейшем.
Получение списка сотрудников в Битрикс24
Получение списка сотрудников описано в документации к REST API: https://apidocs.bitrix24.ru/api-reference/user/user-get.html
Для того, чтобы получить список сотрудников, нужно сформировать и отправить запрос к API с указанием параметров сортировки и фильтрации (при необходимости). За один запрос возвращается 50 записей
начиная с записи start, если start не указан - возвращается первых 50 записей. Для получения всех сотрудников нужно в цикле выполнить столько запросов, сколько у вас сотрудников / 50 (не забывая при этом конечно каждый раз указывать новое значение параметра start). Мы в нашем коде этого делать не будем, так как он несет просто ознакомительный характер.
Получение рабочего времени пользователя в Битрикс24
Получение текущего статуса сотрудника описано в документации к REST API: https://apidocs.bitrix24.ru/api-reference/timeman/base/timeman-status.html
Для получения данных по конкретному человеку достаточно отправить GET запрос с указанием его идентификатора на портале. WEBHOOK_URL."/timeman.status?user_id=USER_ID;
В результате мы получим массив данных в котором есть поле STATUS, оно может принимать значения (на момент написания статьи) 'OPENED' , 'PAUSED', 'CLOSED':
- OPENED - означает что рабочий день у сотрудника активен
- PAUSED - означает что рабочий день у сотрудника активен, но поставлен на паузу (может быть обеденный перерыв и т.д.)
- CLOSED - означает что рабочий день у сотрудника не активен
- EXPIRED - означает что рабочий день у сотрудника истек
Пишем скрипт
Напишем скрипт на PHP, который будет получать список из первых 50 сотрудников и у каждого проверять статус рабочего дня, если рабочий день открыт или на паузе - добавлять идентификатор сотрудника в список активных. В конце выведем этот список.
Заключение
Благодаря этому мы можем собирать данные об активности компании и использовать полученные данные для дальнейшего анализа.
Если сотрудников больше 50 добавьте в цикле параметр start = page * 50 и выход из цикла запросов в случае если не получен идентификатор пользователя. Это позволит получить полный список сотрудников компании. Так же можно сохранять эти данные в базу с указанием времени запуска скрипта - для накопления данных.
Рекомендуем прочитать