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

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Строка 1: Строка 1:
Управление своим личным профилем, управление профилем сотрудников.
Функции управления своим личным профилем, управление профилем сотрудников.
#[[ПланФикс API user.add|user.add / Создать нового сотрудника]]
#[[ПланФикс API user.update|user.update / Обновить данные пользователя]]
#[[ПланФикс API user.get|user.get / Получить информацию о пользователе]]
#[[ПланФикс API user.getList|user.getList / Список пользователей]]
#[[ПланФикс API user.updateGroupMembership|user.updateGroupMembership / Именить принадлежность к группе]]
#[[ПланФикс API user.changeStatus|user.changeStatus / Изменить/установить статус пользователя]]
 


== user.add Создать нового сотрудника ==
== user.add Создать нового сотрудника ==

Версия от 14:53, 23 августа 2010

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

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


user.add Создать нового сотрудника

Выполнение данной функции разрешено пользователю с админ правами.

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

Допустимые значения для поля role - ADMIN, USER

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <user>
    <id></id>
    <isActivated>{true|false}</isActivated>
  </user>
</response>

Поле isActivated - в принципе будет равно false, т.к. пользователь навряд ли будет активирован на этот момент.


user.update Обновить данные пользователя

Запрос на обновление данных пользователя.

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

Поля, кроме id, необязательные, если они не переданы в запросе - они не изменяются. Поля role, status доступны для изменения только администратором.

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


user.get Получить информацию о пользователе

Получить информацию о пользователе:

<?xml version="1.0" encoding="UTF-8"?>
<request method="user.add">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <user>
    <id></id>
  </user>
  <signature></signature>
</request>

Ответ:

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


user.getList Список пользователей

Получение списка пользователей

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

Возможные значения типов сортировки смотри в разделе Константы

Ответ:

<response status="ok">
  <users count="x" totalCount="x">
    <user>
      <!-- смотри результат user.get -->
    </user>
    <user>
      <!-- смотри результат user.get -->
    </user>
    <!-- ... -->
  </users>
</response>


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