ПланФикс API: Сотрудники: различия между версиями
Материал из Planfix
Seva (обсуждение | вклад) |
Seva (обсуждение | вклад) |
||
Строка 179: | Строка 179: | ||
<!-- ... --> | <!-- ... --> | ||
</users> | </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> | </response> | ||
</source> | </source> |
Версия от 12:21, 11 августа 2010
Управление своим личным профилем, управление профилем сотрудников.
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>
Константы
Роли пользователей
- 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 - роль (убывание)