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

Материал из ПланФикс
Перейти к: навигация, поиск
(task.get Получение карточки задачи)
 
(не показано 20 промежуточных версий 3 участников)
Строка 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.chengeStatus Изменить статус задачи ==
 
 
 
== Константы ==
 
=== Срочность ===
 
*'''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]]
+
[[Список функций]]

Текущая версия на 13:58, 22 июня 2018

Список функций для управления задачами:

  1. task.add / Добавление задачи
  2. task.update / Обновление задачи
  3. task.updateCustomData / Обновление пользовательских полей задачи
  4. task.get / Получение карточки задачи
  5. task.getMulti / Получение множества карточек задачи
  6. task.getList / Список задач
  7. task.accept / Принять задачу
  8. task.reject / Отклонить задачу
  9. task.changeExpectDate / Изменить дату выполнения задачи
  10. task.changeStatus / Изменить статус задачи
  11. task.getPossibleStatusToChange / Получить список возможных статусов для изменения
  12. task.changeWorkers / Изменить (добавить/удалить) исполнителей
  13. task.getFilterList/ Получить список доступных фильтров задач


Перейти

Список функций