ПланФикс API: Задачи

Материал из Planfix
Перейти к: навигация, поиск

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

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

task.get Получение карточки задачи

Запрос на получение:

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


Ответ:

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


task.getList Список задач

Получение списка задач:

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

Параметр filter может принимать следующие значения: ACTIVE (активные задачи), OVERDUE (просроченные задачи), MY (мои задачи). Значение параметра может представлять комбинацию допустимых значений, например:

  <filter>ACTIVE MY</filter>

Значения параметра target:

  • all - все
  • in - входящие, значение по умолчанию
  • out - исходящие

Значения параметра sort смотри в Типы сортировок

Результатом выполнения функции является следующий ответ:

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


task.accept Принять задачу

Для дальнейшей работы с задачей, пользователь должен принять задачу. Вызов функции:

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

Результатом корректного выполнения запроса будет:

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


task.reject Отклонить задачу

Для отклонения задачи, необходимо вызвать следующую функцию:

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.reject">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <task>
    <id>идентификатор задачи, которую принимает пользователь</id>
  </task>
  <reason>причина по которой отклоняется задача,обязательное поле, не может быть пустым</reason>
</request>

Результатом удачного выполнения функции будет следующий ответ?

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


task.changeExpectDate Изменить дату выполнения задачи

Если пользователь по какой-то причине не может выполнить в установленный срок задачу, он может перенести время выполнения её.

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.changeExpectDate">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <task>
    <id>идентификатор задачи, которую принимает пользователь</id>
  </task>
  <expectDate></expectDate>
</request>

При успешном выполнении получим следующий ответ:

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

Если в ответе отсутствует параметр endTime - это говорит о том, что был послан запрос постановщику с предложением о смене даты.


task.changeStatus Изменить статус задачи

Изменение статуса:

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

Ответ:

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

task.changeWorkers Изменить (добавить/удалить) исполнителей

Запрос на изменение исполнителей.

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

Важно понимать, что необходимо посылать полный список исполнителей, сервер автоматически рассчитает кого необходимо удалить, а кого добавить, и кого необходимо оставить. Ответ:

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

Константы

Срочность

  • 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