ПланФикс API task.update
Функция обновления информации задачи. Формат запроса:
<?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></checkResult>
    <owner>
      <id></id>
    </owner>
    <parent>
      <id></id>
    </parent>
    <project>
      <id></id>
    </project>
    <client>
      <id></id>
    </client>
    <startTime></startTime>
    <endTime></endTime>
    <workers>
      <addUsers>
        <id></id>
        <id></id>
        <!-- ... -->
      </addUsers>
      <addGroups>
        <id></id>
        <id></id>
        <!-- ... -->
      </addGroups>
      <delUsers>
        <id></id>
        <id></id>
        <!-- ... -->
      </delUsers>
      <delGroups>
        <id></id>
        <id></id>
        <!-- ... -->
      </delGroups>
    </workers>
    <periodicity unset="1">
      <!-- ежедневно -->
      <daily>
        <type></type>
        <shift></shift>
      </daily>
      <!-- еженедельно -->
      <weekly>
        <type></type>
        <shift></shift>
        <days></days>
      </weekly>
      <!-- ежемесячно -->
      <monthly>
        <type></type>
        <month></month>
        <day></day>
        <dayType></dayType>
      </monthly>
      <startDate></startDate>
      <endCondition>
        <type></type>
        <date></date>
        <repeatCount></repeatCount>
      </endCondition>
      <notify>
        <type></type>
        <day></day>
      </notify>
    </periodicity>
  </task>
  <signature></signature>
</request>| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| id | int | идентификатор обновляемой задачи | обязательный параметр | 
| title | string | название задачи | |
| description | string | о чем задача, описание | |
| importance | enum | срочность | перечень допустимых значений смотри в разделе срочность задач | 
| status | enum | статус задачи | перечень допустимых значений смотри в разделе статусы задач | 
| checkResult | bool | является ли задача задачей с обязательной проверкой результата | |
| owner | создатель задачи | необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция | |
| owner.id | int | идентификатор пользователя | |
| parent | над задача | необязательное поле | |
| parent.id | int | идентификатор задачи, которая будет являться над задачей | допустимо значение 0 (ноль) | 
| project | в рамках какого проекта поставлена задача | ||
| project.id | int | идентификатор проекта | |
| client | контрагент | необязательный параметр | |
| client.id | int | идентификатор контрагента | допустимо значение 0 | 
| startTime | DateTime | время начала работы | в интерфейсе ПланФикс поле приступить к работе | 
| endTime | DateTime | время окончания задачи | в интерфейсе ПланФикс поле закончить работу До | 
| workers | корневой элемент списка исполнителей задачи | ||
| workers.addUsers | корневой элемент списка пользователей, которые подключаются к задаче | ||
| workers.addUsers.id | int | идентификатор пользователя, который подключается к задаче | |
| workers.addGroups | корневой элемент списка групп, которые подключаются к задаче поставлена задача | ||
| workers.addGroups.id | int | идентификатор группы | |
| workers.delUsers | корневой элемент списка пользователей, которые удаляются из списка исполнителей | ||
| workers.delUsers.id | int | идентификатор пользователя, который удаляется из списка исполнителей | |
| workers.delGroups | корневой элемент списка групп, которые удаляются из списка исполнителей | ||
| workers.delGroups.id | int | идентификатор группы | |
| periodicity | node | задает периодичность выполнения задачи | смотри описание структуры узлов daily, weekly и monthly ниже | 
| periodicity unset | int | наличие этого атрибута отменяет (удаляет) связанную с задачей периодичность | содержимое внутри узла игнорируется | 
| periodicity.startDate | DateTime | начиная с этой даты начинает работать повторение задачи | |
| periodicity.endCondition | условия окончания повторения | ||
| periodicity.endCondition.type | enum | условие окончания | допустимые значения: ENDLESS - нет конечной даты, BYCOUNT - После repeatCount повторений, BYENDDATE - до даты определенной в date | 
| periodicity.endCondition.date | DateTime | дата, после которой повторение задачи перестает работать | используется при type=BYENDDATE | 
| periodicity.endCondition.repeatCount | int | количество повторений, после которого задача перестает повторяться | используется при type=BYCOUNT | 
| periodicity.notify | уведомления | ||
| periodicity.notify.type | int | тип период, 0 - рабочий день, 1 - неделя | |
| periodicity.notify.day | int | размер период | если type=0 и day=2, то еведомление прийдет за 2 рабочих дня до начала задачи | 
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача. Периодичность - не обязательный параметр. Внутри тега periodicity может быть только один из перечисленных элементов: daily, weekly, monthly.
описание параметра periodicity
Описание параметра daily, параметры weekly и monthly в этом случае не могут быть заданы. Указывает что задача должна повторяться ежедневно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| type | enum | определяет периодичность | допустимые значения EVERY или EVERY_WORKING, или AFTER_COMPLETE | 
| shift | int | определяет сдвиг в днях | используется только при значениях type равным EVERY или AFTER_COMPLETE | 
Значение EVERY интерпретируется как каждый N-й день, заданный в параметре shift. EVERY_WORKING - каждый рабочий день. Значение AFTER_COMPLETE интерпретируется как ставить новую задачу через N-й день после каждого завершения, заданный в параметре shift.
Описание параметра weekly, параметры daily и monthly в этом случае не могут быть заданы. Указывает что задача должна повторяться еженедельно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| type | enum | определяет периодичность | допустимые значения EVERY или AFTER_COMPLETE | 
| shift | int | сдвиг в днях | |
| days | set/list | перечень дней недели, разделитель символ запятой (,). понедельник имеет индекс 1, воскресение - 7. | используется только при type=EVERY | 
Значение AFTER_COMPLETE интерпретируется как: ставить задачу через N-й неделю после каждого завершения, заданную в параметре shift.
Описание параметра monthly, параметры daily и weekly в этом случае не могут быть заданы. Указывает что задача должна повторяться ежемесяно, согласно установленным критериям:
| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| type | enum | периодичность | допустимые значения AFTER_COMPLETE или EVERY, или EXACT | 
| month | int | задает месяц в/через который должно действие/задача повторяться | |
| day | int | задает день в/через который должна задача повторяться | не используется при type=AFTER_COMPLETE | 
| dayType | enum | определяет тип дня | используется при type=EXACT. Допустимые значения смотри в разделе тип дня для повторяющейся задачи | 
EXACT - ежемесячно в day день dayType каждого month месяца;
EVERY - ежемесячно повторять day числа каждого month месяца;
AFTER_COMPLETE - ежемесячно ставить новую задачу через month месяц после каждого завершения.
Все параметры, за исключением id, являются не обязательными и если они опущены, то не происходит обновление информации данного параметра
Ответ при удачном выполнении функции:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <task>
    <id></id>
  </task>
</response>| Название | Тип | Значение | Примечание | 
|---|---|---|---|
| task.id | int | идентификатор обновляемой задачи | 
В противном случае будет возвращен ответ с ошибкой:
<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>