Bitcop Web API

API интерфейс предназначен для разработчиков и используется для интеграции ваших приложений с системой Bitcop. Если у вас имеются вопросы по работе API или требуются дополнительные возможности интеграции, свяжитесь с нами по адресу: support@bitcop.ru

API работает по протоколу HTTP и представляет собой набор методов, с помощью которых совершаются запросы и возвращаются ответы для каждой операции. Все ответы приходят в виде JSON структур.

Доступ к API

Чтобы работать с API необходимо:

  1. Получить ключ API (apikey) в личном кабинете администратора в меню [Настройки] - [Компания] - [Ключ API].
  2. Использовать данный ключ в каждом запросе к API в параметрах URL.

Формат запроса

URL любого API-запроса составляется следующим образом:

https://<имя_вашего_аккаунта>.bitcop.ru:4443/api/v1/
Пример:
https://demo.bitcop.ru:4443/api/v1/employees?&apikey=cb3436c284d34d748212bd92842f813d

API методы:

Получение списка сотрудников

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

Синтаксис запроса:
/api/v1/employees?apikey=<ключ>
Входные параметры:
Параметр Описание
apikey Ключ доступа к API.
Пример запроса:
/api/v1/employees?&apikey=cb3436c284d34d748212bd92842f813d
Структура ответа:
{
  "items": [
    {
      "id": 6,
      "firstName": "Татьяна",
      "lastName": "Смирнова",
      "email": "tsmirnova@bitcop.local"
    },
    {
      "id": 7,
      "firstName": "Алексей",
      "lastName": "Королев",
      "email": "akorolev@bitcop.local"
    },
]

Определение старта/окончания работ по сотруднику

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

Синтаксис запроса: (вариант 1)
/api/v1/workperiods?apikey=<ключ>&date=<дата>&employees=<ids сотрудников>
Входные параметры:
Параметр Описание
apikey Ключ доступа к API.
date Дата, за которую необходимо получить данные. Задается в виде количества секунд, прошедших с 01.01.1970 (Unix-time)
employees Идентификаторы сотрудников через запятую.
Пример запроса:
/api/v1/workperiods?apikey=cb3436c284d34d748212bd92842f813d&date=1484524800&employees=6,7
Структура ответа:
{
  "items": [
    {
      "id": 6,
      "name": "Смирнова Татьяна",
      "date": "1484524800",
      "begin": 31834,
      "end": 65263
    },
    {
      "id": 7,
      "name": "Королев Алексей",
      "date": "1484524800",
      "begin": 33058,
      "end": 64963
    }
  ]
}
Синтаксис запроса: (вариант 2)
/api/v1/workperiods2?apikey=<ключ>&begin=<дата начала>&begin=<дата окончания>&employees=<ids сотрудников>
Входные параметры:
Параметр Описание
apikey Ключ доступа к API.
begin Дата начала работы. Задается в формате ISO 8601. Например, 20170920T070000 - 20 сентября 2017 07:00:00
end Дата окончания работы. Задается в формате ISO 8601. Например, 20170921 - 21 сентября 2017 00:00:00
employees Идентификаторы сотрудников через запятую.
Пример запроса:
/api/v1/workperiods2?apikey=cb3436c284d34d748212bd92842f813d&begin=20170920T070000&end=20170921&employees=6,7
Структура ответа:
{
  "items": [
    {
      "id": 6,
      "name": "Смирнова Татьяна",
      "begin": "20170920T085835",
      "end": "20170920T180244"
    },
    {
      "id": 7,
      "name": "Королев Алексей",
      "begin": "20170920T090324",
      "end": "20170920T175346"
    }
  ]
}

Получение статистики работы по сотруднику

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

Синтаксис запроса:
/api/v1/activity?apikey=<ключ>&fromDate=<дата начала>&toDate=<дата окончания>&employees=<ids сотрудников>
Входные параметры:
Параметр Описание
apikey Ключ доступа к API.
fromDate Дата начала работы. Задается в виде количества секунд, прошедших с 01.01.1970 (Unix-time)
toDate Дата начала выборки. Задается в виде количества секунд, прошедших с 01.01.1970 (Unix-time)
employees Идентификаторы сотрудников через запятую.
Пример запроса:
/api/v1/activity?apikey=cb3436c284d34d748212bd92842f813d&fromDate=1480550400&toDate=1483142400&employees=6,7
Структура ответа:
{
  "items": [
    {
      "id": 6,
      "name": "Смирнова Татьяна", 
      "totalTime": 817983,
      "activeTime": 416221,
      "downTime": 401762,
      "lateTime": 2784,
      "lateCount": 4,
      "earlyEndTime": 3425,
      "earlyEndCount": 5,
      "overTime": 0,
      "absenteism": 2,
      "workDayCount": 20,
      "scheduleDayCount": 22
    }
  ]
}
Описание полей ответа:
Параметр Описание
id Идентификатор сотрудника
name ФИО сотрудника
totalTime Общее время работы
activeTime Время активной работы
downTime Время простоя
lateTime Время опозданий в секундах
lateCount Кол-во опозданий
earlyEndTime Кол-во ранних уходов
earlyEndCount Время ранних уходов в секундах
overTime Сверхурочное время
absenteism Кол-во прогулов
workDayCount Кол-во отработанных дней
scheduleDayCount Кол-во рабочих дней по расписанию