ПланФикс API: Комментарии
Материал из Planfix
								action.add / Добавить действие
Добавление действия. Можно добавить комментарий или тайм треккинг:
<?xml version="1.0" encoding="UTF-8"?>
<request method="action.add">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <action>
    <description></description>
    <!-- Если узел есть, этим действием заполняем тайм треккинг -->
    <timeTracker>
      <workDate>дата тайм трекинга</workDate>
      <beginTime>время начала работ</beginTime>
      <endTime>время окончания действия</endTime>
      <!-- тип выполненных работ -->
      <workKind>
        <id></id>
        <name></name>
        <workType>
          <id></id>
          <name></name>
        </workType>
      </workKind>
    </timeTracker>
    <!-- в рамках какой задачи выполнялся -->
    <task>
      <id></id>
      <title></title>
    </task>
    <!-- список пользователей которых должны уведомить -->
    <notifiedList>
      <user>
        <id></id>
        <id></id>
        <!-- ... -->
      </user>
    </notifiedList>
    <!-- напоминание, не обязательный узел -->
    <Reminder>
      <date>Дата напонминания</date>
    </Reminder>
  </action>
</request>Результат удачного выполнения запроса:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <action>
    <id></id>
  </action>
</response>action.update / Обновить действие
Запрос на обновление данных:
<?xml version="1.0" encoding="UTF-8"?>
<request method="action.update">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <action>
    <id></id>
    <description></description>
    <!-- Если узел есть, этим действием заполняем тайм треккинг -->
    <timeTracker>
      <workDate>дата тайм трекинга</workDate>
      <beginTime>время начала работ</beginTime>
      <endTime>время окончания действия</endTime>
      <!-- тип выполненных работ -->
      <workKind>
        <id></id>
        <workType>
          <id></id>
        </workType>
      </workKind>
    </timeTracker>
    <!-- список пользователей которых должны уведомить -->
    <notifiedList>
      <user>
        <id></id>
        <id></id>
        <!-- ... -->
      </user>
    </notifiedList>
    <!-- напоминание, не обязательный узел -->
    <Reminder>
      <date>Дата напонминания</date>
    </Reminder>
  </action>
</request>Помните, можно обновлять действия с типом ACTION и COMMENT. Остальные попытки будут вызывать ошибку.
Результат выполнения запроса:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <action>
    <id></id>
  </action>
</response>action.get / Получить действие
Запрос:
<?xml version="1.0" encoding="UTF-8"?>
<request method="action.get">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <id></id>
</request>Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <action>
    <id></id>
    <description></description>
    <type></type>
    <!-- узел присутствует если действие изменило статус -->
    <statusChange>
      <oldStatus>с какого</oldStatus>
      <newStatus>на какой</newStatus>
    </statusChange>
    <isNotRead>{true|false}</isNotRead><!-- действие не помеченно как прочитанное -->
    <dateTime>дата добавления действия</dateTime>
    <!-- Если узел есть, этим действием был заполнен там треккинг -->
    <timeTracker>
      <workDate>дата тайм трекинга</workDate>
      <beginTime>время начала работ</beginTime>
      <endTime>время окончания действия</endTime>
      <!-- тип выполненных работ -->
      <workKind>
        <id></id>
        <name></name>
        <workType>
          <id></id>
          <name></name>
        </workType>
      </workKind>
    </timeTracker>
    <!-- в рамках какой задачи выполнялся -->
    <task>
      <id></id>
      <title></title>
    </task>
    <!-- владелец действия, кто его оставил -->
    <owner>
      <id></id>
      <name></name>
    </owner>
    <!-- в рамках какого проекта был создано действие -->
    <project>
      <id></id>
      <title></title>
    </project>
    <!-- Этим действием было изменено время окончание задачи -->
    <taskExpectDateChanged>
      <oldDate></oldDate>
      <newDate></newDate>
    </taskExpectDateChanged>
    <!-- список файлов прикрепленных этим действием -->
    <files>
      <file>
        <id></id>
        <name></name>
      </file>
      <file>
        <id></id>
        <name></name>
      </file>
      <!-- ... -->
    </files>
    <!-- список пользователей которых должны уведомить -->
    <notifiedList>
      <user>
        <id></id>
        <name></name>
      </user>
      <user>
        <id></id>
        <name></name>
      </user>
      <!-- ... -->
    </notifiedList>
    <!-- напоминание, не обязательный узел -->
    <Reminder>
      <date>Дата напонминания</date>
    </Reminder>
  </action>
</response>Значение поля type смотри в разделе константы Типы действий
action.getList / Получить список действий
Получение списка действий в задаче:
<?xml version="1.0" encoding="UTF-8"?>
<request method="action.getList">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <task>
    <id></id>
  </task>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
</request>
Ответ:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <actions count="количество узлов">
    <action><!-- описание полностью соответствует в разделе action.get --></action>
    <action><!-- описание полностью соответствует в разделе action.get --></action>
    <!-- ... -->
  </actions>
</response>action.attachFile / Прикрепить файл
Запрос на добавление файлов:
<?xml version="1.0" encoding="UTF-8"?>
<request method="action.attachFile">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <files>
    <file>
      <name>имя сохраняемого файла</name>
      <sourceType>тип источника</sourceType>
      <!-- в рамках какой задачи сохраняется файл, исключает наличие project -->
      <task>
        <id></id>
      </task>
      <!-- в рамках какого проекта сохраняется, используется, если не задан task -->
      <project>
        <id></id>
      </project>
      <!-- Использовать уже существующий файл,
      используется при sourceType: INTERNET, PROJECT  -->
      <otherFile>
        <!-- используется при ссылке на файл из проекта
        sourceType=PROJECT -->
        <id></id>
        <!-- используется только при sourceType=INTERNET -->
        <url></url>
      </otherFile>
      <!-- тело файла закодированное base64, используется при sourceType=FILESYSTEM -->
      <body></body>
      <description></description>
    </file>
  </files>
<!-- список пользователей которых должны уведомить -->
    <notifiedList>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
    </notifiedList>
</request>Константы
Типы действий
- ACTION - Действие
 - COMMENT - Комментарий
 - FILE - Файл
 - TASKCREATED - Задача создана
 - STATUSCHANGED - Статус изменен
 - TASKOVERDUED - Задача просрочена
 - TASKNOTACCEPTEDINTIME - Задача не принята вовремя
 - TASKREJECTED - Задача отклонена
 - TASKACCEPTED - Задача принята
 - WORKEREMPLOYED - К работе подключен сотрудник
 - TASKCLOSETODEADLINE - Задача близка к завершению
 - REMINDER - Напоминание
 - WORKERUNEMPLOYED - Сотрудник отстранен от работы
 - TASKEXPECTDATECHANGED - Изменена дата завершения задачи
 - CHANGEDATEREQUEST - Запрос на изменение даты завершения задачи
 - CHANGEDATEREQUESTRESULT - Результат запроса на изменение даты завершения задачи
 - TASKCHANGED - Данные задачи изменены
 
Типы источников файла
- FILESYSTEM - загружаемый файл
 - INTERNET - файл - ссылка на файл
 - PROJECT - файл проекта