Planfix API task.get: Difference between revisions
|  (Created page with "{{#seo: |title=Planfix API task.get |titlemode=append |keywords=Planfix, API, task, get, api  |description=Planfix API task.get }} A function for getting a task card. Request format: <source lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <request method="task.get">   <account></account>   <sid></sid>   <task>     <id></id>     <general></general>   </task>   <signature></signature> </request> </source> {| class="wikitable" style="margin-top: 1em; width:100% " !width=...") | No edit summary | ||
| Line 199: | Line 199: | ||
| |parent || || parent task ||   | |parent || || parent task ||   | ||
| |- | |- | ||
| |parent.id ||int || | |parent.id ||int ||identifier of the task that will be the parent task ||0 (zero) means that there is no parent task | ||
| |- | |- | ||
| |template || || | |template || ||template ||   | ||
| |- | |- | ||
| |template.id ||int || | |template.id ||int ||task template ID|| | ||
| |- | |- | ||
| |project || ||  | |project || || the project in which the task is located  || | ||
| |- | |- | ||
| |project.id ||int || | |project.id ||int ||project identifier || | ||
| |- | |- | ||
| |project.title || string ||  | |project.title || string || project title || | ||
| |- | |- | ||
| |client || ||  | |client || || counterparty||   | ||
| |- | |- | ||
| |client.id ||int || | |client.id ||int ||counterparty identifier || | ||
| |- | |- | ||
| |client.name ||string ||  | |client.name ||string || counterparty name || | ||
| |- | |- | ||
| |beginDateTime ||DateTime || | |beginDateTime ||DateTime ||task creation time || | ||
| |- | |- | ||
| |startTime ||DateTime ||  | |startTime ||DateTime || start time || the '''get started''' field in the Planfix interface | ||
| |- | |- | ||
| |endTime ||DateTime ||  | |endTime ||DateTime || task end time ||the '''finish before''' field in the Planfix interface | ||
| |- | |- | ||
| |duration||int||  | |duration||int|| task duration ||the '''Duration''' field in the Planfix interface | ||
| |- | |- | ||
| |durationUnit||int || 0 -  | |durationUnit||int || 0 - minutes; 1 - hours; 2 - days || | ||
| |- | |- | ||
| |general ||int || | |general ||int || passthrough number || | ||
| |- | |- | ||
| |isOverdued ||bool || | |isOverdued ||bool ||task not completed on time || | ||
| |- | |- | ||
| |isCloseToDeadline ||bool || | |isCloseToDeadline ||bool ||task deadline is approaching || | ||
| |- | |- | ||
| |isNotAcceptedInTime ||bool || | |isNotAcceptedInTime ||bool ||task wasn't accepted in time|| | ||
| |- | |- | ||
| | | |starred ||bool || located in favorites|| | ||
| |- | |- | ||
| | | |workers || ||	root element of the list of task assignees || | ||
| |- | |- | ||
| |workers || || | |workers.users || || root element of the list of users to whom the task is assigned || | ||
| |- | |- | ||
| |workers.users || ||  | |workers.users.user || node || user || | ||
| |- | |- | ||
| |workers.users.user ||  | |workers.users.user.id ||int ||identifier of the user to whom the task is assigned || | ||
| |- | |- | ||
| |workers.users.user. | |workers.users.user.name || string || user's name || | ||
| |- | |- | ||
| |workers. | |workers.groups || ||root element of the list of groups to whom the task is assigned || | ||
| |- | |- | ||
| |workers.groups || || | |workers.groups.group || node || group || | ||
| |- | |- | ||
| |workers.groups.group ||  | |workers.groups.group.id || int || group identifier|| | ||
| |- | |- | ||
| |workers.groups.group. | |workers.groups.group.name || string|| group name|| | ||
| |- | |- | ||
| | | |members|| ||root element of the list of task participants; the same as the list of assignees || | ||
| |- | |- | ||
| | | |auditors || ||root element of the list of auditors participants; the same as the list of assignees || | ||
| |- | |- | ||
| | | |periodicity ||node ||	sets the task's periodicity (recurrence) || see descriptions '''daily, weekly,''' and '''monthly''' below; omitting this parameter indicates that there is no task recurrence | ||
| |- | |- | ||
| |periodicity || | |periodicity.startDate || DateTime || task periodicity begins on this date || | ||
| |- | |- | ||
| |periodicity. | |periodicity.endCondition || || conditions for ending periodicity || | ||
| |- | |- | ||
| |periodicity.endCondition || ||  | |periodicity.endCondition.type ||enum || end condition || possible values: '''ENDLESS''' - no end date; '''BYCOUNT''' - after ''repeatCount'' recurrences; '''BYENDDATE''' - until a specified date | ||
| |- | |- | ||
| |periodicity.endCondition. | |periodicity.endCondition.date ||DateTime || date after which the task will stop repeating || 	 | ||
| used with type=BYENDDATE | |||
| |- | |- | ||
| |periodicity.endCondition. | |periodicity.endCondition.repeatCount || int|| 	 | ||
| number of recurrences after which the task will stop repeating || used with type=BYCOUNT | |||
| |- | |- | ||
| |periodicity. | |periodicity.notify || ||notifications || | ||
| |- | |- | ||
| |periodicity.notify || || | |periodicity.notify.type ||int || type of period: 0 - workday, 1 - week || | ||
| |- | |- | ||
| |periodicity.notify. | |periodicity.notify.day || int|| period length || if type=0 and day=2, notifications will be sent two workdays before the task starts | ||
| |- | |- | ||
| | | |customData ||  ||	values of task custom fields || | ||
| |- | |- | ||
| |customData ||  || | |customData.customValue.field.id ||  ||custom field identifier || | ||
| |- | |- | ||
| |customData.customValue.field. | |customData.customValue.field.name||  ||custom field name || | ||
| |- | |- | ||
| |customData.customValue. | |customData.customValue.value ||  || custom field value|| | ||
| |- | |- | ||
| |customData.customValue. | |customData.customValue.text ||  ||	text value of the custom field || | ||
| |- | |- | ||
| |} | |} | ||
| Periodicity is not a required parameter. There can be only one of the listed elements within the '''periodicity''' tag: ''daily, weekly, monthly.'' | |||
| ===  | |||
| === description of periodicity parameter === | |||
| Description of the ''daily'' parameter; in this instance, descriptions cannot be given for ''weekly or monthly''. Specifies that the task should repeat daily using the established criteria: | |||
| {| class="wikitable" style="margin-top: 1em; width:100% " | {| class="wikitable" style="margin-top: 1em; width:100% " | ||
| !width="150"| | !width="150"|Name !!width="200"| Type !!width="50%"| Value !! Notes  | ||
| |- | |- | ||
| |type ||enum|| | |type ||enum||determines frequency || possible values are EVERY, EVERY_WORKING, and AFTER_COMPLETE | ||
| |- | |- | ||
| |shift || int|| | |shift || int||defines the offset in days || used only when type equals EVERY or AFTER_COMPLETE | ||
| |- | |- | ||
| |} | |} | ||
| EVERY sets a new task every nth day, with n specified in the shift parameter. EVERY_WORKING - every working day.  | |||
| AFTER_COMPLETE sets a new task every nth day after each completion, with n specified in the shift parameter. | |||
| Description of the ''weekly'' parameter; in this instance, descriptions cannot be given for ''daily or monthly.'' Specifies that the task should repeat weekly using the established criteria: | |||
| {| class="wikitable" style="margin-top: 1em; width:100% " | {| class="wikitable" style="margin-top: 1em; width:100% " | ||
| !width="150"| | !width="150"|Name !!width="200"| Type !!width="50%"| Value !! Notes  | ||
| |- | |- | ||
| |type ||enum ||  | |type ||enum || determines frequency || possible values are EVERY and AFTER_COMPLETE | ||
| |- | |- | ||
| |shift ||int ||  | |shift ||int || offset in weeks||   | ||
| |- | |- | ||
| |days ||set/list ||  | |days ||set/list ||list of days of the week, separated by commas (,). Monday - 1, Sunday = 7. || used only when type=EVERY | ||
| |- | |- | ||
| |} | |} | ||
| AFTER_COMPLETE sets a new task every nth week after each completion, with n specified in the shift parameter. | |||
| Description of the ''monthly'' parameter; in this instance, descriptions cannot be given for ''daily or weekly.'' Indicates that the task should repeat monthly, using the established criteria: | |||
| {| class="wikitable" style="margin-top: 1em; width:100% " | {| class="wikitable" style="margin-top: 1em; width:100% " | ||
| !width="150"| | !width="150"|Name !!width="200"| Type !!width="50%"| Value !! Notes  | ||
| |- | |- | ||
| |type ||enum ||  | |type ||enum || periodicity || possible values are AFTER_COMPLETE, EVERY, and EXACT | ||
| |- | |- | ||
| |month ||int || | |month ||int ||specifies the months in/after which the action/task should repeat || | ||
| |- | |- | ||
| |day ||int || | |day ||int ||sets the days in/after which the task should repeat || not used with type=AFTER_COMPLETE | ||
| |- | |- | ||
| |dayType ||enum ||  | |dayType ||enum || defines day type || used with type=EXACT. used with type=EXACT. See [[Planfix API:day types for recurring tasks|day types for recurring tasks]] for possible values  | ||
| |- | |- | ||
| |} | |} | ||
| EXACT -  | EXACT - repeat on the dayType number day, every month month(s);<br> | ||
| EVERY -  | EVERY - repeat on day day of the month, every month month(s);<br> | ||
| AFTER_COMPLETE -  | AFTER_COMPLETE - set a new task every month month(s) after a task is completed.<br> | ||
| Otherwise, an error response will be returned: | |||
| <source lang="xml"> | <source lang="xml"> | ||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
| Line 341: | Line 346: | ||
| </response> | </response> | ||
| </source> | </source> | ||
| == Перейти == | == Перейти == | ||
| *[[ | *[[Planfix API:Tasks]] | ||
| *[[ | *[[Error codes]] | ||
| *[[ | *[[List of functions]] | ||
Revision as of 13:01, 10 August 2023
A function for getting a task card. Request format:
<?xml version="1.0" encoding="UTF-8"?>
<request method="task.get">
  <account></account>
  <sid></sid>
  <task>
    <id></id>
    <general></general>
  </task>
  <signature></signature>
</request>| Name | Type | Value | Notes | 
|---|---|---|---|
| task.id | int | ID of the task that you would like to receive information about | |
| general | int | task number (if given, used instead of ID) | |
| signature | string(32) | request signature | 
Result of successful execution:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <account></account>
  <sid></sid>
  <task>
    <id></id>
    <title></title>
    <description></description>
    <importance></importance>
    <status></status>
    <checkResult></checkResult>
    <type></type>
    <owner>
      <id></id>
      <name></name>
    </owner>
    <parent>
      <id></id>
    </parent>
    <template>
      <id></id>
    </template>
    <project>
      <id></id>
      <title></title>
    </project>
    <client>
      <id></id>
      <name></name>
    </client>
    <beginDateTime></beginDateTime>
    <startTime></startTime>
    <endTime></endTime>
    <duration></duration>
    <durationUnit></durationUnit>
    <general></general>
 
    <isOverdued></isOverdued>
    <isCloseToDeadline></isCloseToDeadline>
    <isNotAcceptedInTime></isNotAcceptedInTime>
    <isSummary></isSummary>
    <starred></starred>
    <workers>
      <users>
        <user>
          <id></id>
          <name></name>
        </user>
        <!-- ... -->
      </users>
      <groups>
        <group>
          <id></id>
          <name></name>
        </group>
        <!-- ... -->
      </groups>
    </workers>
    <members>
      <users>
        <user>
          <id></id>
          <name></name>
        </user>
        <!-- ... -->
      </users>
      <groups>
        <group>
          <id></id>
          <name></name>
        </group>
        <!-- ... -->
      </groups>
    </members>
    <auditors>
      <users>
        <user>
          <id></id>
          <name></name>
        </user>
        <!-- ... -->
      </users>
      <groups>
        <group>
          <id></id>
          <name></name>
        </group>
        <!-- ... -->
      </groups>
    </auditors>
    <periodicity>
      <!-- ежедневно -->
      <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>
    <customData>
      <customValue>
        <field>
          <id></id>
          <name></name>
        </field>
        <value></value>
        <text></text>
      </customValue>
      <customValue>
        <!-- ... -->
      </customValue>
      <!-- ... -->
    </customData>
  </task>
  <signature></signature>
</response>| Name | Type | Value | Notes | 
|---|---|---|---|
| id | int | task ID | |
| title | string | task name | |
| description | string | what the task is about; description | |
| importance | enum | priority | for a list of valid values, see the task priority section task priority | 
| status | enum | task status | for a list of valid values, see the task priority section task priority | 
| statusSet | int | task process identifier | |
| checkResult | bool | whether or not the task has mandatory result checking | |
| owner | task creator | ||
| owner.id | int | user identifier | |
| owner.name | string | user's name | |
| parent | parent task | ||
| parent.id | int | identifier of the task that will be the parent task | 0 (zero) means that there is no parent task | 
| template | template | ||
| template.id | int | task template ID | |
| project | the project in which the task is located | ||
| project.id | int | project identifier | |
| project.title | string | project title | |
| client | counterparty | ||
| client.id | int | counterparty identifier | |
| client.name | string | counterparty name | |
| beginDateTime | DateTime | task creation time | |
| startTime | DateTime | start time | the get started field in the Planfix interface | 
| endTime | DateTime | task end time | the finish before field in the Planfix interface | 
| duration | int | task duration | the Duration field in the Planfix interface | 
| durationUnit | int | 0 - minutes; 1 - hours; 2 - days | |
| general | int | passthrough number | |
| isOverdued | bool | task not completed on time | |
| isCloseToDeadline | bool | task deadline is approaching | |
| isNotAcceptedInTime | bool | task wasn't accepted in time | |
| starred | bool | located in favorites | |
| workers | root element of the list of task assignees | ||
| workers.users | root element of the list of users to whom the task is assigned | ||
| workers.users.user | node | user | |
| workers.users.user.id | int | identifier of the user to whom the task is assigned | |
| workers.users.user.name | string | user's name | |
| workers.groups | root element of the list of groups to whom the task is assigned | ||
| workers.groups.group | node | group | |
| workers.groups.group.id | int | group identifier | |
| workers.groups.group.name | string | group name | |
| members | root element of the list of task participants; the same as the list of assignees | ||
| auditors | root element of the list of auditors participants; the same as the list of assignees | ||
| periodicity | node | sets the task's periodicity (recurrence) | see descriptions daily, weekly, and monthly below; omitting this parameter indicates that there is no task recurrence | 
| periodicity.startDate | DateTime | task periodicity begins on this date | |
| periodicity.endCondition | conditions for ending periodicity | ||
| periodicity.endCondition.type | enum | end condition | possible values: ENDLESS - no end date; BYCOUNT - after repeatCount recurrences; BYENDDATE - until a specified date | 
| periodicity.endCondition.date | DateTime | date after which the task will stop repeating | used with type=BYENDDATE | 
| periodicity.endCondition.repeatCount | int | number of recurrences after which the task will stop repeating || used with type=BYCOUNT | |
| periodicity.notify | notifications | ||
| periodicity.notify.type | int | type of period: 0 - workday, 1 - week | |
| periodicity.notify.day | int | period length | if type=0 and day=2, notifications will be sent two workdays before the task starts | 
| customData | values of task custom fields | ||
| customData.customValue.field.id | custom field identifier | ||
| customData.customValue.field.name | custom field name | ||
| customData.customValue.value | custom field value | ||
| customData.customValue.text | text value of the custom field | 
Periodicity is not a required parameter. There can be only one of the listed elements within the periodicity tag: daily, weekly, monthly.
description of periodicity parameter
Description of the daily parameter; in this instance, descriptions cannot be given for weekly or monthly. Specifies that the task should repeat daily using the established criteria:
| Name | Type | Value | Notes | 
|---|---|---|---|
| type | enum | determines frequency | possible values are EVERY, EVERY_WORKING, and AFTER_COMPLETE | 
| shift | int | defines the offset in days | used only when type equals EVERY or AFTER_COMPLETE | 
EVERY sets a new task every nth day, with n specified in the shift parameter. EVERY_WORKING - every working day.
AFTER_COMPLETE sets a new task every nth day after each completion, with n specified in the shift parameter.
Description of the weekly parameter; in this instance, descriptions cannot be given for daily or monthly. Specifies that the task should repeat weekly using the established criteria:
| Name | Type | Value | Notes | 
|---|---|---|---|
| type | enum | determines frequency | possible values are EVERY and AFTER_COMPLETE | 
| shift | int | offset in weeks | |
| days | set/list | list of days of the week, separated by commas (,). Monday - 1, Sunday = 7. | used only when type=EVERY | 
AFTER_COMPLETE sets a new task every nth week after each completion, with n specified in the shift parameter.
Description of the monthly parameter; in this instance, descriptions cannot be given for daily or weekly. Indicates that the task should repeat monthly, using the established criteria:
| Name | Type | Value | Notes | 
|---|---|---|---|
| type | enum | periodicity | possible values are AFTER_COMPLETE, EVERY, and EXACT | 
| month | int | specifies the months in/after which the action/task should repeat | |
| day | int | sets the days in/after which the task should repeat | not used with type=AFTER_COMPLETE | 
| dayType | enum | defines day type | used with type=EXACT. used with type=EXACT. See day types for recurring tasks for possible values | 
EXACT - repeat on the dayType number day, every month month(s);
EVERY - repeat on day day of the month, every month month(s);
AFTER_COMPLETE - set a new task every month month(s) after a task is completed.
Otherwise, an error response will be returned:
<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>