Сотрудники

Карточка сотрудника

URI: /BumsStaffApiV01/Employee/card.api|xml

Входные параметры

Поле

Тип

Описание

Id

integer

ID сотрудника

Выходные данные (поля сотрудника)

Поле

Тип

Описание

Id

integer

ID сотрудника

Name

string

Полное имя

LastName

string

Фамилия

FirstName

string

Имя

Description

string

Описание

MiddleName

string

Отчество

Gender

string

Пол

Position

object (Id, Name)

Должность

Department

object (Id, Name)

Отдел

Birthday

date

Дата рождения

HideMyBirthday

boolean

Скрывать дату рождения

Age

integer

Возраст

Phones

array<array> (Phone, PhoneType*, PhoneComment)

Телефоны (версия 2011.4+)

Email

string

E-mail

Icq

string

ICQ

Skype

string

Skype

Jabber

string

Jabber

Address

object (Id, City, Street, House)

Адрес

Behaviour

string

График работы

Inn

string

ИНН

PassportData

string

Паспортные данные

AboutMe

string

О себе

ChiefsWithoutMe

array<object> (Id, Name)

Начальники

SubordinatesWithoutMe

array<object> (Id, Name)

Подчиненные

Coordinators

array<object> (Id, Name)

Координаторы

Status

object (Id, Name)

Статус

AppearanceDay

date

Дата принятия на работу

FireDay

date

Дата увольнения

TimeCreated

datetime

Время создания

TimeUpdated

datetime

Время обновления

Avatar

string

Адрес аватара сотрудника

Photo

string

Адрес большого фото сотрудника

Login

string

Логин пользователя

LastOnline

datetime

Дата и время последнего обращения пользователя к системе

IsOnline

boolean

Сейчас в Мегаплане

UnreadCommentsCount

integer

Количество непрочитанных комментариев

    • тип телефона принимает следующие значения: mobile, additional, work, home, fax, other

Пример ответа в JSON-формате

{
  "status":
  {
    "code":"ok",
    "message":null
  },
  "params":
  {
    "Id":21497
  },
  "data":
  {
    "employee":
    {
      "Id":21497,
      "Name":"Sidorov Ivan",
      "LastName":"Sidorov",
      "FirstName":"Ivan",
      "MiddleName":"",
      "Gender":"male",
      "Position":
      {
        "Id":3,
        "Name":"Manager"
      },
      "Birthday":"",
      "HideMyBirthday":false,
      "Age":"",
      "Email":"[email protected]",
      "Icq":"1234567",
      "Skype":"sidorov",
      "Jabber":"[email protected]",
      "Address":
      {
        "Id":225,
        "Name":"Leninskiy Prospekt 27",
        "Street":"Leninskiy Prospekt",
        "House":"27"
      },
      "Behaviour":"",
      "Inn":"",
      "PassportData":"",
      "AboutMe":"",
      "ChiefsWithoutMe":
      [
        {
          "Id":1316,
          "Name":"Popov Alex"
        },
        {
          "Id":17605,
          "Name":"Baranov Ciril"
        }
      ],
      "Status":
      {
        "Id":22,
        "Name":"\u0412 \u043e\u0444\u0438\u0441\u0435"
      },
      "AppearanceDay":"2011-02-03",
      "FireDay":"",
      "TimeCreated":"2011-02-03 18:59:59"
      "Avatar":"\/z\/i\/preview\/attach\/1\/836\/505\/41\/63c32300_300.jpg",
      "Photo":"\/z\/i\/preview\/attach\/1\/787\/505\/41\/9c6f15480_320.jpg",
      "Login":"pupkin",
      "IsOnline":true
    },
  }
}

Пример ответа в XML-формате

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>ok</code>
    <message></message>
  </status>
  <params>
    <id>21497</id>
  </params>
  <data>
    <employee>
      <id>21497</id>
      <name>Sidorov Ivan</name>
      <last_name>Sidorov</last_name>
      <first_name>Ivan</first_name>
      <middle_name></middle_name>
      <gender>male</gender>
      <position>
        <id>3</id>
        <name>Manager</name>
      </position>
      <birthday></birthday>
      <hide_my_birthday></hide_my_birthday>
      <age></age>
      <email>[email protected]</email>
      <icq>1234567</icq>
      <skype>sidorov</skype>
      <jabber>[email protected]</jabber>
      <address>
        <id>225</id>
        <name>Leninskiy Prospekt 27</name>
        <street>Leninskiy Prospekt</street>
        <house>27</house>
      </address>
      <behaviour></behaviour>
      <inn></inn>
      <passport_data></passport_data>
      <about_me></about_me>
      <chiefs_without_me>
        <item>
          <id>1316</id>
          <name>Popov Alex</name>
        </item>
        <item>
          <id>17605</id>
          <name>Baranov Ciril</name>
        </item>
      </chiefs_without_me>
      <status>
        <id>22</id>
        <name>В офисе</name>
      </status>
      <appearance_day>2011-02-03</appearance_day>
      <fire_day></fire_day>
      <time_created>2011-02-03 18:59:59</time_created>
      <avatar>/z/i/preview/attach/1/836/505/41/63c32300_300.jpg</avatar>
      <photo>/z/i/preview/attach/1/787/505/41/9c6f15480_320.jpg</photo>
      <login>pupkin</login>
      <is_online>true</is_online>
    </employee>
  </data>
</response>

Версия Мегаплана: 2010.11+

Создание сотрудника

URI: /BumsStaffApiV01/Employee/create.api|xml

Входные параметры

Поле

Тип

Описание

Model[Login]

string

Логин пользователя

Model[Password]

string

Пароль пользователя

Model[LastName]

string

Фамилия

Model[FirstName]

string

Имя

Model[MiddleName]

string

Отчество

Model[Gender]

string

Пол (принимает значения male или female)

Model[Position]

string

Должность. Обязательный параметр

Model[Department]

integer

Код существующего отдела

Model[Birthday]

date

Дата рождения

Model[HideMyBirthday]

boolean

Скрывать дату рождения

Model[Email]

string

E-mail

Model[Icq]

string

ICQ

Model[Skype]

string

Skype

Model[Jabber]

string

Jabber

Model[Behaviour]

string

График работы

Model[PassportData]

string

Паспортные данные

Model[Inn]

string

ИНН

Model[AboutMe]

string

О себе

Model[Status]

string

Статус (принимает значения in-office или out-of-office)

Model[AppearanceDay]

date

Дата принятия на работу

Model[Phones]

array

Массив телефонов*

Model[Photo]

object(Name, Content)

Фотография сотрудника. Ключ Name - название файла, Content - содержимое файла, закодированное с использованием MIME base64

Address[City]

string

Город

Address[Street]

string

Улица

Address[House]

string

Дом

    • строка с номером телефона должна иметь следующий вид: префикс, определяющий тип телефона (например, домашний или мобильный), код страны, код города и сам номер, разделенные дефисом. Например: ph_m7-915-1234567. Список возможных префиксов с названиями можно получить в справочнике.

Выходные данные (поля созданного сотрудника)

Поле

Тип

Описание

Id

integer

ID сотрудника

Name

string

Имя сотрудника

Редактирование сотрудника

URI: /BumsStaffApiV01/Employee/edit.api|xml

Входные параметры

Поле

Тип

Описание

Id

integer

Код сотрудника

Model[Login]

string

Логин пользователя

Model[Password]

string

Пароль пользователя

Model[LastName]

string

Фамилия

Model[FirstName]

string

Имя

Model[MiddleName]

string

Отчество

Model[Gender]

string

Пол (принимает значения male или female)

Model[Position]

string

Должность. Обязательный параметр

Model[Department]

integer

Код существующего отдела

Model[Birthday]

date

Дата рождения

Model[HideMyBirthday]

boolean

Скрывать дату рождения

Model[Email]

string

E-mail

Model[Icq]

string

ICQ

Model[Skype]

string

Skype

Model[Jabber]

string

Jabber

Model[Behaviour]

string

График работы

Model[PassportData]

string

Паспортные данные

Model[Inn]

string

ИНН

Model[AboutMe]

string

О себе

Model[Status]

string

Статус (принимает значения in-office или out-of-office)

Model[AppearanceDay]

date

Дата принятия на работу

Model[Phones]

array

Массив телефонов*

Model[Photo]

object(Name, Content)

Фотография сотрудника. Ключ Name - название файла, Content - Содержимое файла, закодированное с использованием MIME base64

Address[City]

string

Город

Address[Street]

string

Улица

Address[House]

string

Дом

    • строка с номером телефона должна иметь следующий вид: префикс, определяющий тип телефона (например, домашний или мобильный), код страны, код города и сам номер, разделенные дефисом. Например: ph_m7-915-1234567. Список возможных префиксов с названиями можно получить в справочнике.

Выходные данные

Список сотрудников

URI: /BumsStaffApiV01/Employee/list.api|xml

Входные параметры

Имя поля

Тип

Описание

Примечание

Department

integer

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

Если передать значение -1, то будут возвращены сотрудники, не привязанные ни к какому отделу. Если отдела с указанным Id не существует, то будет возвращена ошибка «Department not found»

OrderBy

string

Параметр для сортировки. Допустимые значения:

  • «name» - имя сотрудника

  • «department» - название отдела

  • «position» - должность сотрудника

TimeUpdated

string

При указании возвращать только те объекты, которые были изменены после этой даты

Дата/время в одном из форматов ISO 8601

Name

string

Фильтрация по части имени сотрудника

Все параметры необязательны.

Выходные данные (массив сотрудников с полями)

Имя поля

Тип

Описание

Примечание

Id

integer

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

Name

string

Полное имя

LastName

string

Фамилия

FirstName

string

Имя

MiddleName

string

Отчество

Position

object

Должность

Поля объекта:

  • Id - идентификатор

  • Name - название

Department

object

Отдел

Поля объекта:

  • Id - идентификатор

  • Name - название

Phones

array

Телефоны

В виде массива строк

Email

string

Электропочта

Status

object

Статус

Поля объекта:

  • Id - идентификатор

  • Name - название

TimeCreated

string

Время создания сотрудника

Формат YYYY-MM-DD hh:mm:ss

FireDay

string

Дата увольнения

Формат YYYY-MM-DD

Avatar

string

Относительный URL аватара сотрудника

Login

string

Логин сотрудника

Пример ответа в JSON-формате

{
  "status":
  {
    "code":"ok",
    "message":null
  },
  "params":
  {
    "Department":3
  },
  "data":
  {
    "employees":
    [
      {
        "Id":1087,
        "Name":"Denisov Ivan",
        "LastName":"Denisov",
        "FirstName":"Ivan",
        "MiddleName":"",
        "Position":
        {
          "Id":194,
          "Name":"Manager"
        },
        "Department":
        {
          "Id":3,
          "Name":"Test Department"
        },
        "Email":"",
        "Status":
        {
          "Id":22,
          "Name":"In Office"
        },
        "TimeCreated":"2010-03-26 18:10:32",
        "Login":"pupkin"
      },
      {
        "Id":2047,
        "Name":"Ivanov Oleg",
        "LastName":"Ivanov",
        "FirstName":"Oleg",
        "MiddleName":"Olegovich",
        "Position":
        {
          "Id":194,
          "Name":"Manager"
        },
        "Department":
        {
          "Id":3,
          "Name":"Test Department"
        },
        "Phones":
        [
          "+7 926 123-45-67",
          "+7 925 987-65-43"
        ],
        "Email":"[email protected]",
        "Status":
        {
          "Id":22,
          "Name":"In Office"
        },
        "TimeCreated":"2010-08-12 16:23:44",
        "FireDay":"2011-04-13",
        "Avatar":"/z/i/preview/s/7/i/sample/photo-small480_320.jpg",
        "Login":"ivanov"
      }
    ]
  }
}

Пример ответа в XML-формате

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>ok</code>
    <message></message>
  </status>
  <params>
  <department>3</department>
  </params>
  <data>
    <employees>
      <item>
        <id>1087</id>
        <name>Denisov Ivan</name>
        <last_name>Denisov</last_name>
        <first_name>Ivan</first_name>
        <middle_name></middle_name>
        <position>
          <id>194</id>
          <name>Manager</name>
        </position>
        <department>
          <id>3</id>
          <name>Test Department</name>
        </department>
        <email></email>
        <status>
          <id>22</id>
          <name>In Office</name>
        </status>
        <time_created>2010-03-26 18:10:32</time_created>
        <login>pupkin</login>
      </item>
      <item>
        <id>2047</id>
        <name>Ivanov Oleg</name>
        <last_name>Ivanov</last_name>
        <first_name>Oleg</first_name>
        <middle_name>Olegovich</middle_name>
        <position>
          <id>194</id>
          <name>Manager</name>
        </position>
        <department>
          <id>3</id>
          <name>Test Department</name>
        </department>
        <phones>
          <item>+7 926 123-45-67</item>
          <item>+7 925 987-65-43</item>
        </phones>
        <email>[email protected]</email>
        <status>
          <id>22</id>
          <name>In Office</name>
        </status>
        <time_created>2010-08-12 16:23:44</time_created>
        <fire_day>2011-04-13</fire_day>
        <avatar>/z/i/preview/s/7/i/sample/photo-small480_320.jpg</avatar>
        <login>ivanov</login>
      </item>
    </employees>
  </data>
 </response>

Допустимые действия над сотрудником

URI: /BumsStaffApiV01/Employee/availableActions.api|xml

Входные параметры

Параметр

Тип

Описание

Id

integer

ID сотрудника. Обязательный параметр

Выходные данные (массив с названиями допустимых действий)

Параметр

Тип

Описание

actions

array

Список возможных действий над сотрудником:

  • act_can_fire - уволить

  • act_edit - редактировать

Пример ответа в JSON-формате

{
  "status":
  {
    "code":"ok",
    "message":null
  },
  "params":
  {
    "Id":1000011
  },
  "actions":["act_edit"]
}

Пример ответа в XML-формате

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>ok</code>
    <message></message>
  </status>
  <params>
    <id>1000011</id>
  </params>
  <actions>
    <item>act_edit</item>
  </actions>
</response>

Проверка прав на создание нового сотрудика для текущего пользователя

URI: /BumsStaffApiV01/Employee/canCreate.api|xml

Выходные данные

Поле

Тип

Описание

CanCreate

bool

Можно ли создавать новых сотрудников

Пример ответа в JSON-формате

{
  "status":
  {
    "code":"ok",
    "message":null
  },
  "data":
  {
    "CanCreate": 1
  }
}

Пример ответа в XML-формате

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>ok</code>
    <message></message>
  </status>
  <data>
    <can_create>1</can_create>
  </data>
</response>

Идентификаторы сотрудников работающих в Мегаплане

URI: /BumsStaffApiV01/Employee/employeesOnline.api|xml

Выходные данные (массив идентификаторов сотрудников)

Поле

Тип

Описание

Ids

array<integer>

ID сотрудников

Список отделов

URI: /BumsStaffApiV01/Department/list.api|xml

Выходные данные (массив отделов с полями)

Поле

Тип

Описание

Id

integer

ID отдела

Name

string

Название отдела

Head

object (Id, Name)

Начальник отдела

Employees

array<object (Id, Name, IsWorking)>

Список сотрудников отдела (Id, Имя, Уволенный)

EmployeesCount

integer

Количество сотрудников в отделе

Пример ответа в JSON-формате

{
  "status":
  {
    "code":"ok",
    "message":null
  },
  "data":
  {
    "departments":
    [
      {
        "Id":495,
        "Name":"Test Department",
        "Head":null,
        "EmployeesCount":0
      },
      {
        "Id":94,
        "Name":"Another department",
        "Head":
        {
          "Id":124,
          "Name":"Medvedev Dima",
          "IsWorking": true
        },
        "Employees":
        [
          {
            "Id":455,
            "Name":"Semenov",
            "IsWorking": true
          }
        ],
        "EmployeesCount":1
      },
      {
        "Id":425,
        "Name":"Last department",
        "Head":
        {
          "Id":638,
          "Name":"Sidorov Ivan",
          "IsWorking": false
        },
        "Employees":
        [
          {
            "Id":453,
            "Name":"Petrov",
            "IsWorking": true
          },
          {
            "Id":454,
            "Name":"Sidorov",
            "IsWorking": true
          }
        ],
        "EmployeesCount":2
      }
    ]
  }
}

Пример ответа в XML-формате

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>ok</code>
    <message></message>
  </status>
  <data>
    <departments>
      <item>
        <id>495</id>
        <name>Test Department</name>
        <head></head>
        <employees_count>0</employees_count>
      </item>
      <item>
        <id>94</id>
        <name>Another department</name>
        <head>
          <id>124</id>
          <name>Medvedev Dima</name>
        </head>
        <employees>
          <item>
            <id>455</id>
            <name>Semenov</name>
          </item>
        </employees>
        <employees_count>1</employees_count>
      </item>
      <item>
        <id>425</id>
        <name>Last department</name>
        <head>
          <id>638</id>
          <name>Sidorov Ivan</name>
        </head>
        <employees>
          <item>
            <id>453</id>
            <name>Petrov</name>
          </item>
          <item>
            <id>454</id>
            <name>Sidorov</name>
          </item>
        </employees>
        <employees_count>2</employees_count>
      </item>
    </departments>
  </data>
</response>

Блокировка

URI: /BumsCommonApiV01/UserAccount/block.api|xml

Входные параметры

Имя поля

Тип

Описание

EmployeeId

integer

Идентификатор сотрудника, которого надо заблокировать

Выходные данные

Разблокировка

URI: /BumsCommonApiV01/UserAccount/unblock.api|xml

Входные параметры

Имя поля

Тип

Описание

EmployeeId

integer

Идентификатор сотрудника, которого надо разблокировать

Выходные данные

Увольнение

URI: /BumsStaffApiV01/Employee/fire.api|xml

Входные параметры

Имя поля

Тип

Описание

Id

integer

Идентификатор сотрудника, которого надо уволить

NewResponsible

integer

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

Выходные данные