ПланФикс API task.add — различия между версиями
Seva (обсуждение | вклад) |
|||
Строка 217: | Строка 217: | ||
|- | |- | ||
|align="center"| 3005 || ошибка добавления задачи | |align="center"| 3005 || ошибка добавления задачи | ||
+ | |- | ||
+ | |align="center"| 3006 || время приступить к работе не может быть больше времени закончить работу до | ||
+ | |- | ||
+ | |align="center"| 3007 || неопределенная периодичность, скорее всего задано несколько узлов, которые конфликтуют друг с другом или не указан ни один | ||
|- | |- | ||
|} | |} |
Версия 13:04, 7 октября 2010
Функция позволяет создать новую задачу. Формат запроса:
<?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></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>
<startDate></startDate>
<endCondition>
<type></type>
<date></date>
<repeatCount></repeatCount>
</endCondition>
<notify>
<type></type>
<day></day>
</notify>
</periodicity>
</task>
<signature></signature>
</request>
Название | Тип | Значение | Примечание |
---|---|---|---|
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.users | корневой элемент списка пользователей, которым поставлена задача | ||
workers.users.id | int | идентификатор пользователя которому поставлена задача | |
workers.groups | корневой элемент списка групп, которым поставлена задача | ||
workers.groups.id | int | идентификатор группы | |
periodicity | node | задает периодичность выполнения задачи | смотри описание структуры узлов daily, weekly и monthly ниже |
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=AFTER_COMPLETE |
Значение AFTER_COMPLETE интерпретируется как: ставить задачу через N-й неделю после каждого завершения, заданную в параметре shift.
Описание параметра monthly, параметры daily и weekly в этом случае не могут быть заданы. Указывает что задача должна повторяться ежемесяно, согласно установленным критериям:
Название | Тип | Значение | Примечание |
---|---|---|---|
type | enum | периодичность | допустимые значения AFTER_COMPLETE или DAY_OF_MONTH, или BY_CONDITION |
month | int | задает месяц в/через который должно действие/задача повторяться | |
day | int | задает день в/через который должна задача повторяться | не используется при type=AFTER_COMPLETE |
dayType | enum | определяет тип дня | используется при type=BY_CONDITION. Допустимые значения смотри в разделе тип дня для повторяющейся задачи |
Ответ при удачном выполнении операции:
<?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>
Значение code | Расшифровка |
---|---|
0000 | неизвестная ошибка |
0009 | Отсутствует один из обязательных параметров функции |
0015 | недопустимое значение параметра |
3001 | указанная задача не существует |
3002 | нет доступа к над задаче |
3003 | проект, задача в рамках которого создается, не существует |
3004 | проект, задача в рамках которого создается, не доступен |
3005 | ошибка добавления задачи |
3006 | время приступить к работе не может быть больше времени закончить работу до |
3007 | неопределенная периодичность, скорее всего задано несколько узлов, которые конфликтуют друг с другом или не указан ни один |