ПланФикс API: Сотрудники: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
 
(не показано 5 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{#seo:
|title=ПланФикс API: Сотрудники
|titlemode=append
|keywords=планфикс, сотрудники, апи, api
|description=сотрудники api
}}
Функции управления своим личным профилем, управление профилем сотрудников.
Функции управления своим личным профилем, управление профилем сотрудников.
#[[ПланФикс API user.add|user.add / Создать нового сотрудника]]
#[[ПланФикс API user.add|user.add / Создать нового сотрудника]]
Строка 4: Строка 11:
#[[ПланФикс API user.get|user.get / Получить информацию о пользователе]]
#[[ПланФикс API user.get|user.get / Получить информацию о пользователе]]
#[[ПланФикс API user.getList|user.getList / Список пользователей]]
#[[ПланФикс API user.getList|user.getList / Список пользователей]]
#[[ПланФикс API user.updateGroupMembership|user.updateGroupMembership / Именить принадлежность к группе]]
#[[ПланФикс API user.updateGroupMembership|user.updateGroupMembership / Изменить принадлежность к группе]]
#[[ПланФикс API user.changeStatus|user.changeStatus / Изменить/установить статус пользователя]]
#[[ПланФикс API user.changeStatus|user.changeStatus / Изменить/установить статус пользователя]]
 
#[[ПланФикс API user.actionsAdded|user.actionsAdded / Получить количество добавленных пользователем действий за период]]
 
== user.add Создать нового сотрудника ==
Выполнение данной функции разрешено пользователю с админ правами.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.add">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <user>
    <name>Имя Отчество</name>
    <lastName>Фамилия</lastName>
    <email></email>
    <role></role>
    <status></status>
  </user>
  <signature></signature>
</request>
</source>
Допустимые значения для поля '''role''' - ''ADMIN'', ''USER''
 
Ответ:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
    <isActivated>{true|false}</isActivated>
  </user>
</response>
</source>
Поле '''isActivated''' - в принципе будет равно ''false'', т.к. пользователь навряд ли будет активирован на этот момент.
 
 
== user.update Обновить данные пользователя==
Запрос на обновление данных пользователя.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.update">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <user>
    <id></id>
    <name>Имя Отчество</name>
    <lastName>Фамилия</lastName>
    <email></email>
    <role></role>
    <status></status>
    <password>текст</password>
 
    <!-- уведомления -->
    <notify>
      <byEmail>Получать уведомления по электронной почте</byEmail>
      <byJabber>Получать уведомления по jabber</byJabber>
      <byPlanfix>Получать уведомления по внутренней системе уведомлений ПланФикс</byPlanfix>
    </notify>
 
    <birthdate>дата рождения</birthdate>
    <sex>пол</sex>
    <phone></phone>
    <coeff>личный коэффициент</coeff>
 
    <timezone>Часовой пояс</timezone>
    <useDst>{true|false}</useDst><!-- Переход на летнее время -->
 
    <isInvisibleOutOfGroup>{true|false}</isInvisibleOutOfGroup>
    <isBlindOutOfGroup>{true|false}</isBlindOutOfGroup>
 
    <userPic></userPic>
  </user>
  <signature></signature>
</request>
</source>
Поля, кроме '''id''', необязательные, если они не переданы в запросе - они не изменяются. Поля '''role''', '''status''' доступны для изменения только администратором.
 
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
  </user>
</response>
</source>
 
 
== user.get Получить информацию о пользователе ==
Получить информацию о пользователе:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.add">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <user>
    <id></id>
  </user>
  <signature></signature>
</request>
</source>
 
Ответ:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
    <name>Имя Отчество</name>
    <lastName>Фамилия</lastName>
    <login>логин используемый пользователем</login>
    <email></email>
    <role></role>
    <status></status>
 
    <!-- уведомления -->
    <notify>
      <byEmail>Получать уведомления по электронной почте</byEmail>
      <byJabber>Получать уведомления по jabber</byJabber>
      <byPlanfix>Получать уведомления по внутренней системе уведомлений ПланФикс</byPlanfix>
    </notify>
 
    <birthdate>дата рождения</birthdate>
    <sex>пол</sex>
    <phone></phone>
    <coeff>личный коэффициент</coeff>
 
    <timezone>Часовой пояс</timezone>
    <useDst>{true|false}</useDst><!-- Переход на летнее время -->
 
    <isInvisibleOutOfGroup>{true|false}</isInvisibleOutOfGroup>
    <isBlindOutOfGroup>{true|false}</isBlindOutOfGroup>
 
    <userPic>???</userPic>
    <isOnline>{true|false}</isOnline><!-- пользователь в сети -->
 
    <userGroups>
      <userGroup>
        <id></id>
        <name></name>
      </userGroup>
      <userGroup>
        <id></id>
        <name></name>
      </userGroup>
      <!-- ... -->
    </userGroups>
  </user>
</response>
</source>
 
 
== user.getList Список пользователей ==
Получение списка пользователей
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.getList">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <status></status>
  <userGroup>
    <id></id>
  </userGroup>
  <sortType></sortType>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
  <signature></signature>
</request>
</source>
Возможные значения типов сортировки смотри в разделе [[#Константы|Константы]]
 
Ответ:
<source lang="xml">
<response status="ok">
  <users count="x" totalCount="x">
    <user>
      <!-- смотри результат user.get -->
    </user>
    <user>
      <!-- смотри результат user.get -->
    </user>
    <!-- ... -->
  </users>
</response>
</source>
 
 
== user.updateGroupMembership Именить принадлежность к группе ==
Запрос:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.updateGroupMembership ">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <status></status>
  <user>
    <id></id>
    <userGroup>
      <id></id>
      <id></id>
      <!-- ... -->
    </userGroup>
  </user>
  <signature></signature>
</request>
</source>
Для того чтоб исключить пользователя из всех групп, достаточно передать список '''userGroup''' пустым.
 
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
  </user>
</response>
</source>
 
 
== user.changeStatus Изменить/установить статус пользователя ==
Позволяет установить статус, если передан/задан параметр '''status'''. Если параметр опущен, то статус будет поменян на противоположный установленному. Запрос:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="user.changeStatus">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <status></status>
  <user>
    <id></id>
    <status><!-- не обязательное поле --></status>
  </user>
  <signature></signature>
</request>
</source>
 
В ответе будет передан параметр статус с указанием установленного статуса. Пакет ответа:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
  </user>
</response>
</source>
 
 
== Константы ==
=== Роли пользователей ===
*'''ADMIN''' - Администратор
*'''USER''' - Пользователь
*'''AUDITOR''' - Аудитор
=== Пол ===
*'''MALE''' - муской пол
*'''FEMALE''' - женский пол
=== Типы сортировок ===
*'''NAME_ASC''' - по имени (алфавит)
*'''NAME_DESC''' - по имени (обратный порядок)
*'''GROUP_ASC''' - по имени группы (алфавит)
*'''GROUP_DESC''' - по имени группы (обратный порядок)
*'''ISACTIVE_ASC''' - неактивные, потом активные
*'''ISACTIVE_DESC''' - активные, потом неактивные
*'''PROJECTS_ASC''' - по проекту (алфавит)
*'''PROJECTS_DESC''' - по проекту (обратный порядок)
*'''ROLE_ASC''' - роль (возрастание)
*'''ROLE_DESC''' - роль (убывание)


== Перейти ==
== Перейти ==
[[ПланФикс API]]
[[Список функций]]

Текущая версия от 12:15, 1 сентября 2021