|
|
(не показано 12 промежуточных версий 4 участников) |
Строка 1: |
Строка 1: |
| Список функций для управления задачами | | {{#seo: |
| | |title=ПланФикс API: Задачи |
| | |titlemode=append |
| | |keywords=планфикс, ПланФикс API: Задачи,API |
| | |description=ПланФикс API: Задачи |
| | }} |
| | Список функций для управления задачами: |
| | #[[ПланФикс API task.add|task.add / Добавление задачи]] |
| | #[[ПланФикс API task.update|task.update / Обновление задачи]] |
| | #[[ПланФикс API task.updateCustomData|task.updateCustomData / Обновление пользовательских полей задачи]] |
| | #[[ПланФикс API task.get|task.get / Получение карточки задачи]] |
| | #[[ПланФикс API task.getMulti|task.getMulti / Получение множества карточек задач]] |
| | #[[ПланФикс API task.getList|task.getList / Список задач]] |
| | #[[ПланФикс API task.accept|task.accept / Принять задачу]] |
| | #[[ПланФикс API task.reject|task.reject / Отклонить задачу]] |
| | #[[ПланФикс API task.changeExpectDate|task.changeExpectDate / Изменить дату выполнения задачи]] |
| | #[[ПланФикс API task.changeStatus|task.changeStatus / Изменить статус задачи]] |
| | #[[ПланФикс API task.getPossibleStatusToChange|task.getPossibleStatusToChange / Получить список возможных статусов для изменения]] |
| | #[[ПланФикс API task.changeWorkers|task.changeWorkers / Изменить (добавить/удалить) исполнителей]] |
| | #[[ПланФикс API task.getFilterList|task.getFilterList/ Получить список доступных фильтров задач]] |
|
| |
|
| == task.add Добавление задачи==
| |
| Добавление:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.add">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <title><!-- Название задачи --></title>
| |
| <description><!-- О чем эта задача --></description>
| |
| <importance><!-- Срочность --></importance>
| |
| <status><!-- Статус --></status>
| |
| <checkResult>{true|false}</checkResult><!-- Является ли задача задачей с обязательной проверкой результата -->
| |
| <!-- Создатель задачи -->
| |
| <owner>
| |
| <id></id>
| |
| </owner>
| |
| <!-- Над задача -->
| |
| <parent>
| |
| <id></id>
| |
| </parent>
| |
| <!-- В рамках какого проекта поставлена задача -->
| |
| <project>
| |
| <id></id>
| |
| </project>
| |
| <!-- Контрагент -->
| |
| <client>
| |
| <id></id>
| |
| </client>
| |
| <startTime><!-- Время начала (приступить к работе) --></startTime>
| |
| <endTime><!-- Время окончания (закончить работу До) --></endTime>
| |
| <!-- список исполнителей -->
| |
| <Workers>
| |
| <!-- список пользователей -->
| |
| <Users>
| |
| <id><!-- идентификатор логина --></id>
| |
| <id></id>
| |
| <!-- ... -->
| |
| </Users>
| |
| <Groups>
| |
| <id></id>
| |
| <id></id>
| |
| <!-- ... -->
| |
| </Groups>
| |
| </Workers>
| |
| <!-- периодичность задачи, необязательный параметр -->
| |
| <periodicity>
| |
| <!-- ежедневно -->
| |
| <daily>
| |
| <type>{EVERY|EVERY_WORKING|AFTER_COMPLETE}</type>
| |
| <shift></shift>
| |
| </daily>
| |
| <!-- еженедельно -->
| |
| <weekly>
| |
| <type>{EVERY|AFTER_COMPLETE}</type>
| |
| <shift></shift>
| |
| <days><!-- список дней через запятую --></days>
| |
| </weekly>
| |
| <!-- ежемесячно -->
| |
| <monthly>
| |
| <type>{AFTER_COMPLETE|DAY_OF_MONTH|BY_CONDITION}</type>
| |
| <month></month>
| |
| <day></day>
| |
| <dayType></dayType>
| |
| </monthly>
| |
| </periodicity>
| |
| </task>
| |
| </request>
| |
| </source>
| |
| Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача. Периодичность - не обязательный параметр. Внутри тега '''periodicity''' может быть только один из перечисленных элементов: ''daily'', ''weekly'', ''monthly''.
| |
|
| |
| Ответ при удачном выполнении операции:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.update Обновление задачи ==
| |
| Запрос на обновление информации:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.update">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id></id>
| |
| <title><!-- Название задачи --></title>
| |
| <description><!-- О чем эта задача --></description>
| |
| <importance><!-- Срочность --></importance>
| |
| <status><!-- Статус --></status>
| |
| <checkResult>{true|false}</checkResult><!-- Является ли задача задачей с обязательной проверкой результата -->
| |
| <!-- Создатель задачи -->
| |
| <owner>
| |
| <id></id>
| |
| </owner>
| |
| <!-- Над задача -->
| |
| <parent>
| |
| <id></id>
| |
| </parent>
| |
| <!-- В рамках какого проекта поставлена задача -->
| |
| <project>
| |
| <id></id>
| |
| </project>
| |
| <!-- Контрагент -->
| |
| <client>
| |
| <id></id>
| |
| </client>
| |
| <startTime><!-- Время начала (приступить к работе) --></startTime>
| |
| <endTime><!-- Время окончания (закончить работу До) --></endTime>
| |
| <!-- список исполнителей -->
| |
| <workers>
| |
| <!-- список пользователей -->
| |
| <users>
| |
| <id><!-- идентификатор логина --></id>
| |
| <id></id>
| |
| <!-- ... -->
| |
| </users>
| |
| <groups>
| |
| <id></id>
| |
| <id></id>
| |
| <!-- ... -->
| |
| </groups>
| |
| </workers>
| |
| <!-- периодичность задачи, необязательный параметр -->
| |
| <periodicity>
| |
| <!-- ежедневно -->
| |
| <daily>
| |
| <type>{EVERY|EVERY_WORKING|AFTER_COMPLETE}</type>
| |
| <shift></shift>
| |
| </daily>
| |
| <!-- еженедельно -->
| |
| <weekly>
| |
| <type>{EVERY|AFTER_COMPLETE}</type>
| |
| <shift></shift>
| |
| <days><!-- список дней через запятую --></days>
| |
| </weekly>
| |
| <!-- ежемесячно -->
| |
| <monthly>
| |
| <type>{AFTER_COMPLETE|DAY_OF_MONTH|BY_CONDITION}</type>
| |
| <month></month>
| |
| <day></day>
| |
| <dayType></dayType>
| |
| </monthly>
| |
| </periodicity>
| |
| </task>
| |
| </request>
| |
| </source>
| |
|
| |
| Ответ при удачном выполнении запроса:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.get Получение карточки задачи ==
| |
| Запрос на получение:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.get">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <id></id>
| |
| </request>
| |
| </source>
| |
|
| |
|
| |
| Ответ:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| <title><!-- Название задачи --></title>
| |
| <description><!-- О чем эта задача --></description>
| |
| <importance><!-- Срочность --></importance>
| |
| <status><!-- Статус --></status>
| |
| <checkResult>{true|false}</checkResult><!-- Является ли задача задачей с обязательной проверкой результата -->
| |
| <!-- Создатель задачи -->
| |
| <owner>
| |
| <id></id>
| |
| <name></name>
| |
| </owner>
| |
| <!-- Над задача -->
| |
| <parent>
| |
| <id></id>
| |
| </parent>
| |
| <!-- В рамках какого проекта поставлена задача -->
| |
| <project>
| |
| <id></id>
| |
| <title></title>
| |
| </project>
| |
| <!-- Контрагент -->
| |
| <client>
| |
| <id></id>
| |
| <name></name>
| |
| </client>
| |
| <beginDateTime><!-- Время создания задачи --></beginDateTime>
| |
| <startTime><!-- Время начала (приступить к работе) --></startTime>
| |
| <endTime><!-- Время окончания (закончить работу До) --></endTime>
| |
| <!-- Сквозной номер -->
| |
| <general></general>
| |
|
| |
| <isOverdued><!-- Задача не выполнена в срок --></isOverdued>
| |
| <isCloseToDeadline><!-- Задача близка к дедлайну --></isCloseToDeadline>
| |
| <isNotAcceptedInTime><!-- Задача не принята вовремя --></isNotAcceptedInTime>
| |
| <!-- Помещена в избранные -->
| |
| <starred>{true|false}</starred>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.getList Список задач ==
| |
| Получение списка задач:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.getList">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <!-- список какого пользователя мы хотим посмотреть -->
| |
| <login>
| |
| <id></id>
| |
| </login>
| |
| <target>
| |
| Входящие/исходящие/Все
| |
| </target>
| |
| <!-- фильтр по проекту, не обязательное поле -->
| |
| <project>
| |
| <id></id>
| |
| </project>
| |
| <sort></sort>
| |
| <status><!-- смотри константы --></status>
| |
| <pageCurrent></pageCurrent>
| |
| <pageSize></pageSize>
| |
| <filter></filter>
| |
| </request>
| |
| </source>
| |
| Параметр '''filter''' может принимать следующие значения: '''ACTIVE''' (активные задачи), '''OVERDUE''' (просроченные задачи), '''MY''' (мои задачи). Значение параметра может представлять комбинацию допустимых значений, например:
| |
| <source lang="xml">
| |
| <filter>ACTIVE MY</filter>
| |
| </source>
| |
| Значения параметра '''target''':
| |
| *'''all''' - все
| |
| *'''in''' - входящие, значение по умолчанию
| |
| *'''out''' - исходящие
| |
| Значения параметра '''sort''' смотри в [[#Типы сортировок|Типы сортировок]]
| |
|
| |
| Результатом выполнения функции является следующий ответ:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <tasks count="размер списка">
| |
| <task>
| |
| <id></id>
| |
| <title><!-- Название задачи --></title>
| |
| <description><!-- О чем эта задача --></description>
| |
| <importance><!-- Срочность --></importance>
| |
| <status><!-- Статус --></status>
| |
| <checkResult>{true|false}</checkResult><!-- Является ли задача задачей с обязательной проверкой результата -->
| |
| <!-- Создатель задачи -->
| |
| <owner>
| |
| <id></id>
| |
| <name></name>
| |
| </owner>
| |
| <!-- Над задача -->
| |
| <parent>
| |
| <id></id>
| |
| </parent>
| |
| <!-- В рамках какого проекта поставлена задача -->
| |
| <project>
| |
| <id></id>
| |
| <title></title>
| |
| </project>
| |
| <!-- Контрагент -->
| |
| <client>
| |
| <id></id>
| |
| <name></name>
| |
| </client>
| |
| <beginDateTime><!-- Время создания задачи --></beginDateTime>
| |
| <startTime><!-- Время начала (приступить к работе) --></startTime>
| |
| <endTime><!-- Время окончания (закончить работу До) --></endTime>
| |
| <!-- Сквозной номер -->
| |
| <general></general>
| |
|
| |
| <isOverdued><!-- Задача не выполнена в срок --></isOverdued>
| |
| <isCloseToDeadline><!-- Задача близка к дедлайну --></isCloseToDeadline>
| |
| <isNotAcceptedInTime><!-- Задача не принята вовремя --></isNotAcceptedInTime>
| |
| <!-- Помещена в избранные -->
| |
| <starred>{true|false}</starred>
| |
| <!-- исполнители -->
| |
| <workers>
| |
| <users>
| |
| <user>
| |
| <id></id>
| |
| <name></name>
| |
| </user>
| |
| <user>
| |
| <id></id>
| |
| <name></name>
| |
| </user>
| |
| <!-- ... -->
| |
| </users>
| |
| <groups>
| |
| <group>
| |
| <id></id>
| |
| <name></name>
| |
| </group>
| |
| <group>
| |
| <id></id>
| |
| <name></name>
| |
| </group>
| |
| <!-- ... -->
| |
| </groups>
| |
| </workers>
| |
| </task>
| |
| <!-- ... -->
| |
| </tasks>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.accept Принять задачу ==
| |
| Для дальнейшей работы с задачей, пользователь должен принять задачу. Вызов функции:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.accept">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id>идентификатор задачи, которую принимает пользователь</id>
| |
| </task>
| |
| </request>
| |
| </source>
| |
|
| |
| Результатом корректного выполнения запроса будет:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.reject Отклонить задачу ==
| |
| Для отклонения задачи, необходимо вызвать следующую функцию:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.reject">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id>идентификатор задачи, которую принимает пользователь</id>
| |
| </task>
| |
| <reason>причина по которой отклоняется задача,обязательное поле, не может быть пустым</reason>
| |
| </request>
| |
| </source>
| |
|
| |
| Результатом удачного выполнения функции будет следующий ответ?
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
|
| |
| == task.changeExpectDate Изменить дату выполнения задачи ==
| |
| Если пользователь по какой-то причине не может выполнить в установленный срок задачу, он может перенести время выполнения её.
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.changeExpectDate">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id>идентификатор задачи, которую принимает пользователь</id>
| |
| </task>
| |
| <expectDate></expectDate>
| |
| </request>
| |
| </source>
| |
|
| |
| При успешном выполнении получим следующий ответ:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| <endTime></endTime>
| |
| </task>
| |
| </response>
| |
| </source>
| |
| Если в ответе отсутствует параметр '''endTime''' - это говорит о том, что был послан запрос постановщику с предложением о смене даты.
| |
|
| |
|
| |
| == task.changeStatus Изменить статус задачи ==
| |
| Изменение статуса:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.changeExpectDate">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id><!-- идентификатор задачи --></id>
| |
| </task>
| |
| <status></status>
| |
| </request>
| |
| </source>
| |
|
| |
| Ответ:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
| == task.changeWorkers Изменить (добавить/удалить) исполнителей ==
| |
| Запрос на изменение исполнителей.
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <request method="task.changeWorkers">
| |
| <account><!-- имя аккаунта --></account>
| |
| <sid><!-- ключ сессии, полученный после аутентификации --></sid>
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| <workers>
| |
| <users>
| |
| <id></id>
| |
| <id></id>
| |
| <!-- ... -->
| |
| </users>
| |
| </workers>
| |
| </request>
| |
| </source>
| |
| Важно понимать, что необходимо посылать полный список исполнителей, сервер автоматически рассчитает кого необходимо удалить, а кого добавить, и кого необходимо оставить.
| |
| Ответ:
| |
| <source lang="xml">
| |
| <?xml version="1.0" encoding="UTF-8"?>
| |
| <response status="ok">
| |
| <task>
| |
| <id></id>
| |
| </task>
| |
| </response>
| |
| </source>
| |
|
| |
| == Константы ==
| |
| === Срочность ===
| |
| *'''LOW''' - Не срочная
| |
| *'''AVERAGE''' - Обычная
| |
| *'''HIGH''' - Срочная
| |
| === Статус ===
| |
| *'''DRAFT''' - Черновик
| |
| *'''ACTIVE''' - Активный но еще не принятый
| |
| *'''ACCEPTED''' - Принятый
| |
| *'''COMPLETED''' - Завершенный
| |
| *'''DELAYED''' - Отложенный
| |
| *'''REJECTED''' - Отклоненный
| |
| *'''DONE''' - Выполненный
| |
| *'''CANCELED''' - Отмененный
| |
| === Типы сортировок ===
| |
| *'''NUMBER_ASC''' - сортировка по номеру (возрастание)
| |
| *'''NUMBER_DESC''' - сортировка по номеру (убывание)
| |
| *'''IMPORTANCE_ASC''' - сортировка по приоритету (возрастание)
| |
| *'''IMPORTANCE_DESC''' - сортировка по приоритету (убывание)
| |
| *'''DEADLINE_ASC''' - сортировка по времени окончания (возрастание)
| |
| *'''DEADLINE_DESC''' - сортировка по времени окончания (убывание)
| |
| *'''TASKTITLE_ASC''' - сортировка по названию задачи (возрастание)
| |
| *'''TASKTITLE_DESC''' - сортировка по названию задачи (убывание)
| |
| *'''PROJECT_ASC''' - сортировка по названию проекта (возрастание)
| |
| *'''PROJECT_DESC''' - сортировка по названию проекта (убывание)
| |
|
| |
| == Ошибки ==
| |
| по ходу реализации раздел дополниться, сей час не понятен полный список возможных ошибок
| |
|
| |
|
| == Перейти == | | == Перейти == |
| [[ПланФикс API]] | | [[Список функций]] |