Сотрудники¶
Карточка сотрудника¶
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+) | 
| string | ||
| 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":"sidorov@test.ru",
      "Icq":"1234567",
      "Skype":"sidorov",
      "Jabber":"sidorov@gmail.com",
      "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>sidorov@test.ru</email>
      <icq>1234567</icq>
      <skype>sidorov</skype>
      <jabber>sidorov@gmail.com</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 | |
| 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 | |
| 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 | Параметр для сортировки. Допустимые значения: 
 | |
| TimeUpdated | string | При указании возвращать только те объекты, которые были изменены после этой даты | Дата/время в одном из форматов ISO 8601 | 
| Name | string | Фильтрация по части имени сотрудника | 
Все параметры необязательны.
Выходные данные (массив сотрудников с полями)¶
| Имя поля | Тип | Описание | Примечание | 
|---|---|---|---|
| Id | integer | Идентификатор сотрудника | |
| Name | string | Полное имя | |
| LastName | string | Фамилия | |
| FirstName | string | Имя | |
| MiddleName | string | Отчество | |
| Position | object | Должность | Поля объекта: 
 | 
| Department | object | Отдел | Поля объекта: 
 | 
| Phones | array | Телефоны | В виде массива строк | 
| string | Электропочта | ||
| Status | object | Статус | Поля объекта: 
 | 
| 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":"oleg@test.com",
        "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>oleg@test.com</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 | Список возможных действий над сотрудником: 
 | 
Пример ответа в 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 | Идентификатор сотрудника, которого надо заблокировать | 
Выходные данные¶
—