Сотрудники

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

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: /BumsCommonApiV01/UserAccount/fire.api|xml

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

Имя поля Тип Описание
Id integer Идентификатор сотрудника, которого надо уволить
NewResponsible integer Идентификатор сотрудника, которому будут переданы задачи уволенного

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