Как через REST API получить список пользователей Битрикс24, которые начали рабочий день?

Как через REST API получить список пользователей Битрикс24, которые начали рабочий день?
Как через REST API получить список пользователей Битрикс24, которые начали рабочий день?

Содержание

  1. Введение (о Битрикс24)
  2. Понятие рабочего дня в Битрикс24
  3. Применение рабочего дня в Битрикс24
  4. Зачем может понадобиться получать список сотрудников с начатым рабочим днем в Битрикс24
  5. Получение списка сотрудников из Битрикс24 через API
  6. Получение списка пользователей с открытым рабочим днем через API
  7. Пишем скрипт
  8. Заключение

Введение

Битрикс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 пользователей и проверяющий у них статус рабочего дня

Заключение

Благодаря этому мы можем собирать данные об активности компании и использовать полученные данные для дальнейшего анализа.

Если сотрудников больше 50 добавьте в цикле параметр start = page * 50 и выход из цикла запросов в случае если не получен идентификатор пользователя. Это позволит получить полный список сотрудников компании. Так же можно сохранять эти данные в базу с указанием времени запуска скрипта - для накопления данных.

image