ПланФикс API: Сотрудники: различия между версиями
Seva (обсуждение | вклад) |
Seva (обсуждение | вклад) Нет описания правки |
||
Строка 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
Функции управления своим личным профилем, управление профилем сотрудников.
- user.add / Создать нового сотрудника
- user.update / Обновить данные пользователя
- user.get / Получить информацию о пользователе
- user.getList / Список пользователей
- user.updateGroupMembership / Именить принадлежность к группе
- 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 - роль (убывание)