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

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 7: Строка 7:
#[[ПланФикс API user.changeStatus|user.changeStatus / Изменить/установить статус пользователя]]
#[[ПланФикс API user.changeStatus|user.changeStatus / Изменить/установить статус пользователя]]


== 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>





Версия от 08:59, 24 августа 2010

Функции управления своим личным профилем, управление профилем сотрудников.

  1. user.add / Создать нового сотрудника
  2. user.update / Обновить данные пользователя
  3. user.get / Получить информацию о пользователе
  4. user.getList / Список пользователей
  5. user.updateGroupMembership / Именить принадлежность к группе
  6. user.changeStatus / Изменить/установить статус пользователя


user.updateGroupMembership Именить принадлежность к группе

Запрос:

<?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>

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

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
  </user>
</response>


user.changeStatus Изменить/установить статус пользователя

Позволяет установить статус, если передан/задан параметр status. Если параметр опущен, то статус будет поменян на противоположный установленному. Запрос:

<?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>

В ответе будет передан параметр статус с указанием установленного статуса. Пакет ответа:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
  </user>
</response>


Константы

Роли пользователей

  • 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