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

Материал из ПланФикс
Перейти к: навигация, поиск
(Новая страница: «== task.add Добавление задачи== Добавление: <source lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <request method="task.add"> <accou...»)
 
 
(не показано 37 промежуточных версий 5 участников)
Строка 1: Строка 1:
== task.add Добавление задачи==
+
{{#seo:
Добавление:
+
|title=ПланФикс API task.add
 +
|titlemode=append
 +
|keywords=планфикс, задачи, апи, api
 +
|description=ПланФикс API task.add
 +
}}
 +
 
 +
Функция позволяет создать новую задачу. Формат запроса:
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<request method="task.add">
 
<request method="task.add">
   <account><!-- имя аккаунта --></account>
+
   <account></account>
   <sid><!-- ключ сессии, полученный после аутентификации --></sid>
+
   <sid></sid>
 
   <task>
 
   <task>
     <title><!-- Название задачи --></title>
+
     <template></template>
     <description><!-- О чем эта задача --></description>
+
    <title></title>
     <importance><!-- Срочность  --></importance>
+
     <description></description>
     <status><!-- Статус --></status>
+
     <importance></importance>
     <checkResult>{true|false}</checkResult><!-- Является ли задача задачей с обязательной проверкой результата -->
+
     <status></status>
    <!-- Создатель задачи -->
+
     <statusSet></statusSet>
 +
    <checkResult></checkResult>
 
     <owner>
 
     <owner>
 
       <id></id>
 
       <id></id>
 
     </owner>
 
     </owner>
    <!-- Над задача -->
 
 
     <parent>
 
     <parent>
 
       <id></id>
 
       <id></id>
 
     </parent>
 
     </parent>
    <!-- В рамках какого проекта поставлена задача -->
 
 
     <project>
 
     <project>
 
       <id></id>
 
       <id></id>
 
     </project>
 
     </project>
    <!-- Контрагент -->
 
 
     <client>
 
     <client>
 
       <id></id>
 
       <id></id>
 
     </client>
 
     </client>
     <startTime><!-- Время начала (приступить к работе) --></startTime>
+
    <beginDateTime></beginDateTime>
     <endTime><!-- Время окончания (закончить работу До) --></endTime>
+
    <startDateIsSet></startDateIsSet>
     <!-- список исполнителей -->
+
    <startDate></startDate>
     <Workers>
+
    <startTimeIsSet></startTimeIsSet>
      <!-- список пользователей -->
+
     <startTime></startTime>
       <Users>
+
    <endDateIsSet></endDateIsSet>
         <id><!-- идентификатор логина --></id>
+
    <endDate></endDate>
 +
    <endTimeIsSet></endTimeIsSet>
 +
     <endTime></endTime>
 +
    <isSummary></isSummary>
 +
    <duration></duration>
 +
     <durationUnit></durationUnit>
 +
     <durationIsSet></durationIsSet>
 +
    <workers>
 +
       <users>
 +
         <id></id>
 
         <id></id>
 
         <id></id>
 
         <!-- ... -->
 
         <!-- ... -->
       </Users>
+
       </users>
       <Groups>
+
       <groups>
 
         <id></id>
 
         <id></id>
 
         <id></id>
 
         <id></id>
 
         <!-- ... -->
 
         <!-- ... -->
       </Groups>
+
       </groups>
     </Workers>
+
     </workers>  
     <!-- периодичность задачи, необязательный параметр -->
+
     <members>
    <periodicity>
+
      <users>
      <!-- ежедневно -->
+
        <id></id>
       <daily>
+
        <id></id>
         <type>{EVERY|EVERY_WORKING|AFTER_COMPLETE}</type>
+
        <!-- ... -->
         <shift></shift>
+
       </users>
       </daily>
+
      <groups>
      <!-- еженедельно -->
+
         <id></id>
       <weekly>
+
         <id></id>
         <type>{EVERY|AFTER_COMPLETE}</type>
+
        <!-- ... -->
         <shift></shift>
+
       </groups>
         <days><!-- список дней через запятую --></days>
+
    </members>     
       </weekly>
+
    <auditors>
      <!-- ежемесячно -->
+
       <users>
       <monthly>
+
         <id></id>
        <type>{AFTER_COMPLETE|DAY_OF_MONTH|BY_CONDITION}</type>
+
         <id></id>
        <month></month>
+
         <!-- ... -->
         <day></day>
+
      </users>
         <dayType></dayType>
+
       <groups>
       </monthly>
+
        <id></id>
     </periodicity>
+
        <id></id>
 +
        <!-- ... -->
 +
       </groups>
 +
    </auditors>
 +
    <customData>
 +
      <customValue>
 +
         <id></id>
 +
         <value></value>
 +
       </customValue>
 +
      <!-- ... -->
 +
     </customData>
 
   </task>
 
   </task>
 +
  <signature></signature>
 
</request>
 
</request>
 
</source>
 
</source>
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача. Периодичность - не обязательный параметр. Внутри тега '''periodicity''' может быть только один из перечисленных элементов: ''daily'', ''weekly'', ''monthly''.
+
{| class="wikitable" style="margin-top: 1em; width:100% "
 +
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание
 +
|-
 +
|template ||id ||идентификатор шаблона задачи || id в ответе [[ПланФикс API task.getList|task.getList]] с target = template
 +
|-
 +
|colspan="4"|Реализация создания задачи по шаблону в API на текущий момент неполна.
 +
 
 +
Из шаблона устанавливается форма создания задачи (и соответственно имеющиеся в задаче пользовательские поля) и часть её свойств.
 +
 
 +
Из шаблона на текущий момент не устанавливаются: сроки задачи, аудиторы, аналитики, файлы, напоминания, чек-листы. Исполнители и участники устанавливаются из шаблона, если они отсутствуют в запросе.
 +
|-
 +
|title ||string ||название задачи ||
 +
|-
 +
|description || string||о чем задача, описание ||
 +
|-
 +
|importance || enum||срочность || перечень допустимых значений смотри в разделе [[ПланФикс API:Срочность задачи|срочность задач]]
 +
|-
 +
|status ||enum/int ||статус задачи || Допустимы значения из раздела [[ПланФикс API:Системные статусы задач|Системные статусы задач]] или идентификаторы статусов, полученные в результате вызова функции [[ПланФикс API taskStatus.getListOfSet|taskStatus.getListOfSet]]
 +
|-
 +
|statusSet ||int ||процесс задачи || Идентификаторы процессов можно получить в результате вызова функции [[ПланФикс API taskStatus.getSetList|taskStatus.getSetList]]
 +
|-
 +
|checkResult ||bool ||является ли задача задачей с обязательной проверкой результата ||
 +
|-
 +
|owner || || создатель задачи||необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция
 +
|-
 +
|owner.id ||int ||идентификатор пользователя || если это контакт - нужно использовать userid из ответа [[ПланФикс API contact.get|contact.get]]
 +
|-
 +
|parent || ||над задача || необязательное поле
 +
|-
 +
|parent.id ||int ||идентификатор задачи, которая будет являться над задачей ||допустимо значение 0 (ноль)
 +
|-
 +
|project || || в рамках какого проекта поставлена задача  ||
 +
|-
 +
|project.id ||int ||идентификатор проекта ||
 +
|-
 +
|client || || контрагент|| необязательный параметр
 +
|-
 +
|client.id ||int ||идентификатор контрагента (id из ответа contact.get) ||допустимо значение 0
 +
|-
 +
|beginDateTime ||DateTime || дата/время создания - не обязательный, по-умолчанию текущие || может заполняться, только если авторизация была сделана под сотрудником с правами администратора
 +
|-
 +
|startDateIsSet ||bool (0/1)|| задана ли дата начала работы ||
 +
|-
 +
|startDate ||Date || дата начала работы || в интерфейсе ПланФикс поле ''приступить к работе''
 +
|-
 +
|startTimeIsSet ||bool (0/1)|| задано ли время начала работы ||
 +
|-
 +
|startTime ||Time || время начала работы || в интерфейсе ПланФикс поле ''приступить к работе''
 +
|-
 +
|endDateIsSet ||bool (0/1)|| задана ли дата завершения работы ||
 +
|-
 +
|endDate ||Date || дата завершения работы || в интерфейсе ПланФикс поле ''закончить работу До''
 +
|-
 +
|endTimeIsSet ||bool (0/1)|| задано ли время завершения работы ||
 +
|-
 +
|endTime ||Time || время завершения работы || в интерфейсе ПланФикс поле ''закончить работу До''
 +
|-
 +
|isSummary ||bool (0/1)|| задача является суммарной ||
 +
|-
 +
|durationIsSet||bool|| задана ли длительность ||
 +
|-
 +
|duration||int|| длительность ||
 +
|-
 +
|durationUnit||int|| 0 - минуты, 1 - часы, 2 - дни ||
 +
|-
 +
|workers || ||корневой элемент списка исполнителей задачи ||
 +
|-
 +
|workers.users || || корневой элемент списка пользователей, которым поставлена задача ||
 +
|-
 +
|workers.users.id ||int ||идентификатор пользователя которому поставлена задача || для контактов - нужно использовать userid из ответа [[ПланФикс API contact.get|contact.get]]
 +
|-
 +
|workers.groups || ||корневой элемент списка групп, которым поставлена задача ||
 +
|-
 +
|workers.groups.id ||int || идентификатор группы||
 +
|-
 +
|members || ||корневой элемент списка участников задачи ||
 +
|-
 +
|members.users || || корневой элемент списка участников задачи ||
 +
|-
 +
|members.users.id ||int ||идентификатор участника задачи || для контактов - нужно использовать userid из ответа [[ПланФикс API contact.get|contact.get]]
 +
|-
 +
|members.groups || ||корневой элемент списка групп участников ||
 +
|-
 +
|members.groups.id ||int || идентификатор группы участников ||
 +
|-
 +
|auditors || ||корневой элемент списка аудиторов задачи, содержимое аналогично workers и members ||
 +
|-
 +
|customData|| ||значения пользовательских полей задачи ||
 +
|-
 +
|customData.customValue.id|| ||идентификатор пользовательского поля задачи ||
 +
|-
 +
|customData.customValue.value|| ||значение пользовательского поля задачи || (для полей типа набор задач, список сотрудников, набор записей справочника - идентификаторы через запятую в квадратных скобках)
 +
|-
 +
|}
 +
Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача.  
  
 
Ответ при удачном выполнении операции:
 
Ответ при удачном выполнении операции:
Строка 74: Строка 192:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<response status="ok">
 
<response status="ok">
<task>
+
  <task>
<id></id>
+
    <id></id>
</task>
+
    <general></general>
 +
  </task>
 +
</response>
 +
</source>
 +
{| class="wikitable" style="margin-top: 1em; width:100% "
 +
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание
 +
|-
 +
|task.id ||int ||идентификатор созданной задачи ||
 +
|-
 +
|task.general ||int ||сквозной номер созданной задачи||
 +
|-
 +
|}
 +
 
 +
 
 +
В противном случае будет возвращен ответ с ошибкой:
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<response status="error">
 +
  <code></code>
 
</response>
 
</response>
 
</source>
 
</source>
Строка 82: Строка 218:
  
 
== Перейти ==
 
== Перейти ==
*[[ПланФикс API]]
 
 
*[[ПланФикс API:Задачи]]
 
*[[ПланФикс API:Задачи]]
 +
*[[Коды ошибок]]
 +
*[[Список функций]]

Текущая версия на 05:52, 26 августа 2021

Функция позволяет создать новую задачу. Формат запроса:

<?xml version="1.0" encoding="UTF-8"?>
<request method="task.add">
  <account></account>
  <sid></sid>
  <task>
    <template></template>
    <title></title>
    <description></description>
    <importance></importance>
    <status></status>
    <statusSet></statusSet>
    <checkResult></checkResult>
    <owner>
      <id></id>
    </owner>
    <parent>
      <id></id>
    </parent>
    <project>
      <id></id>
    </project>
    <client>
      <id></id>
    </client>
    <beginDateTime></beginDateTime>
    <startDateIsSet></startDateIsSet>
    <startDate></startDate>
    <startTimeIsSet></startTimeIsSet>
    <startTime></startTime>
    <endDateIsSet></endDateIsSet>
    <endDate></endDate>
    <endTimeIsSet></endTimeIsSet>
    <endTime></endTime>
    <isSummary></isSummary>
    <duration></duration>
    <durationUnit></durationUnit>
    <durationIsSet></durationIsSet>
    <workers>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </workers>    
    <members>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </members>      
    <auditors>
      <users>
        <id></id>
        <id></id>
        <!-- ... -->
      </users>
      <groups>
        <id></id>
        <id></id>
        <!-- ... -->
      </groups>
    </auditors>
    <customData>
      <customValue>
        <id></id>
        <value></value>
      </customValue>
      <!-- ... -->
    </customData>
  </task>
  <signature></signature>
</request>
Название Тип Значение Примечание
template id идентификатор шаблона задачи id в ответе task.getList с target = template
Реализация создания задачи по шаблону в API на текущий момент неполна.

Из шаблона устанавливается форма создания задачи (и соответственно имеющиеся в задаче пользовательские поля) и часть её свойств.

Из шаблона на текущий момент не устанавливаются: сроки задачи, аудиторы, аналитики, файлы, напоминания, чек-листы. Исполнители и участники устанавливаются из шаблона, если они отсутствуют в запросе.

title string название задачи
description string о чем задача, описание
importance enum срочность перечень допустимых значений смотри в разделе срочность задач
status enum/int статус задачи Допустимы значения из раздела Системные статусы задач или идентификаторы статусов, полученные в результате вызова функции taskStatus.getListOfSet
statusSet int процесс задачи Идентификаторы процессов можно получить в результате вызова функции taskStatus.getSetList
checkResult bool является ли задача задачей с обязательной проверкой результата
owner создатель задачи необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция
owner.id int идентификатор пользователя если это контакт - нужно использовать userid из ответа contact.get
parent над задача необязательное поле
parent.id int идентификатор задачи, которая будет являться над задачей допустимо значение 0 (ноль)
project в рамках какого проекта поставлена задача
project.id int идентификатор проекта
client контрагент необязательный параметр
client.id int идентификатор контрагента (id из ответа contact.get) допустимо значение 0
beginDateTime DateTime дата/время создания - не обязательный, по-умолчанию текущие может заполняться, только если авторизация была сделана под сотрудником с правами администратора
startDateIsSet bool (0/1) задана ли дата начала работы
startDate Date дата начала работы в интерфейсе ПланФикс поле приступить к работе
startTimeIsSet bool (0/1) задано ли время начала работы
startTime Time время начала работы в интерфейсе ПланФикс поле приступить к работе
endDateIsSet bool (0/1) задана ли дата завершения работы
endDate Date дата завершения работы в интерфейсе ПланФикс поле закончить работу До
endTimeIsSet bool (0/1) задано ли время завершения работы
endTime Time время завершения работы в интерфейсе ПланФикс поле закончить работу До
isSummary bool (0/1) задача является суммарной
durationIsSet bool задана ли длительность
duration int длительность
durationUnit int 0 - минуты, 1 - часы, 2 - дни
workers корневой элемент списка исполнителей задачи
workers.users корневой элемент списка пользователей, которым поставлена задача
workers.users.id int идентификатор пользователя которому поставлена задача для контактов - нужно использовать userid из ответа contact.get
workers.groups корневой элемент списка групп, которым поставлена задача
workers.groups.id int идентификатор группы
members корневой элемент списка участников задачи
members.users корневой элемент списка участников задачи
members.users.id int идентификатор участника задачи для контактов - нужно использовать userid из ответа contact.get
members.groups корневой элемент списка групп участников
members.groups.id int идентификатор группы участников
auditors корневой элемент списка аудиторов задачи, содержимое аналогично workers и members
customData значения пользовательских полей задачи
customData.customValue.id идентификатор пользовательского поля задачи
customData.customValue.value значение пользовательского поля задачи (для полей типа набор задач, список сотрудников, набор записей справочника - идентификаторы через запятую в квадратных скобках)

Добавляемые даты могут задаваться в двух форматах. Первый формат короткий, указывается только число, год и месяц. Второй формат - полный, дополнительно указывается время начала/завершения, если того требует задача.

Ответ при удачном выполнении операции:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <task>
    <id></id>
    <general></general>
  </task>
</response>
Название Тип Значение Примечание
task.id int идентификатор созданной задачи
task.general int сквозной номер созданной задачи


В противном случае будет возвращен ответ с ошибкой:

<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>


Перейти