Задачи. Pyrus Help
api:tasks

Задачи

Задачи в Pyrus бывают двух типов: обычные задачи и задачи по форме.

Обычная задача содержит фиксированный набор полей: заголовок и текст, а так же массив участников.

Задача по форме отличается от простой задачи тем, что в ней может быть заранее настроена маршрутизация и добавлены необходимые для работы поля.

Любое изменение задачи, например изменение значений полей или загрузка вложений, производится добавлением в нее комментария.

Подробнее о задачах и формах можно прочитать в справке.

Методы

GET /tasks/{task-id}

Получение обычной задачи со всеми комментариями
У обычной задачи есть три поля, которых нет у задачи по форме: text — текст задачи, responsible — ответственный за задачу и participants — массив участников задачи, из которых может быть выбран ответственный за нее.

GET https://api.pyrus.com/v4/tasks/11611
Показать ответ

{
  "task": {
    "id": 11611,
    "text": "Help with printer",
    "create_date": "2017-08-17T15:32:11Z",
    "last_modified_date": "2017-08-17T15:32:11Z",
    "author": {
      "id": 1731,
      "first_name": "Bob",
      "last_name": "Smith",
      "email": "Bob.Smith@gmail.com"
    },
    "responsible": {
      "id": 1733,
      "first_name": "John",
      "last_name": "Snow",
      "email": "John.Snow@gmail.com"
    },
    "participants": [
      {
        "id": 1733,
        "first_name": "John",
        "last_name": "Snow",
        "email": "John.Snow@gmail.com"
      },
      {
        "id": 1731,
        "first_name": "Bob",
        "last_name": "Smith",
        "email": "Bob.Smith@gmail.com"
      }
    ],
    "comments": [
      {
        "id": 13767,
        "create_date": "2017-08-17T15:32:11Z",
        "text": "Help with printer",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "reassigned_to": {
          "id": 1730,
          "first_name": "John",
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        "participants_added": [
          {
            "id": 1733,
            "first_name": "John",
            "last_name": "Snow",
            "email": "John.Snow@gmail.com"
          },
          {
            "id": 1731,
            "first_name": "Bob",
            "last_name": "Smith",
            "email": "Bob.Smith@gmail.com"
          }
        ]
      }
    ]
  }
}

Получение задачи по форме со всеми комментариями
У задачи по форме есть три дополнительных поля form_id — идентификатор шаблона формы, fields — массив всех полей формы и approvals — массив шагов согласования.

GET https://api.pyrus.com/v4/tasks/11613
Показать ответ

{
  "task": {
    "id": 11613,
    "text": "Payments",
    "create_date": "2017-08-17T14:31:18Z",
    "last_modified_date": "2017-08-18T10:00:11Z",
    "author": {
      "id": 1731,
      "first_name": "Bob",
      "last_name": "Smith",
      "email": "Bob.Smith@gmail.com"
    },
    "form_id": 1345,
    "approvals": [
      [
        {
          "person": {
            "id": 1733,
            "first_name": "John",
            "last_name": "Snow",
            "email": "John.Snow@gmail.com"
          },
          "approval_choice": "waiting"
        }
      ],
      [
        {
          "person": {
            "id": 1731,
            "first_name": "Bob",
            "last_name": "Smith",
            "email": "Bob.Smith@gmail.com"
          },
          "approval_choice": "waiting"
        }
      ]
    ],
    "fields": [
      {
        "id": 1,
        "type": "text",
        "name": "Purpose",
        "value": "IT conference in Amsterdam"
      },
      {
        "id": 2,
        "type": "money",
        "name": "Amount",
        "value": 10306.25
      },
      {
        "id": 3,
        "type": "catalog",
        "name": "Payment type",
        "value": {
          "item_id": 845,
          "headers": [
            "Payment types"
          ],
          "values": [
            "IT Conference"
          ]
        }
      },
      {
        "id": 4,
        "type": "table",
        "name": "Payment Schedule",
        "value" : [
          {
            "row_id": 0,
            "cells": [
              {
                "id": 9,
                "type": "date",
                "name": "Date",
                "value": "2017-08-26"
              },
              {
                "id": 6,
                "type": "money",
                "name": "Amount",
                "value": 10000
              }
            ]
          },
          {
            "row_id": 1,
            "cells": [
              {
                "id": 9,
                "type": "date",
                "name": "Date",
                "value": "2017-08-27"
              },
              {
                "id": 6,
                "type": "money",
                "name": "Amount",
                "value": 306.25
              }
            ]
          }
        ]
      }
    ],
    "comments": [
      {
        "id": 13767,
        "create_date": "2017-08-17T14:31:18Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "reassigned_to": {
          "id": 1730,
          "first_name": "John",
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        "approvals_added": [
          [
            {
              "person": {
                "id": 1733,
                "first_name": "John",
                "last_name": "Snow",
                "email": "John.Snow@gmail.com"
              },
              "step": 1
            },
            {
              "person": {
                "id": 1725,
                "first_name": "Jane",
                "last_name": "Doe",
                "email": "Jane.Doe@gmail.com"
              },
              "step": 1
            }
          ],
          [
            {
              "person": {
                "id": 1731,
                "first_name": "Bob",
                "last_name": "Smith",
                "email": "Bob.Smith@gmail.com"
              },
              "step": 2
            }
          ]
        ],
        "field_updates": [
          {
            "id": 1,
            "type": "text",
            "name": "Purpose",
            "value": "IT conference in Amsterdam"
          },
          {
            "id": 2,
            "type": "money",
            "name": "Amount",
            "value": 10306.25
          },
          {
            "id": 3,
            "type": "catalog",
            "name": "Payment type",
            "value": {
              "item_id": 845,
              "headers": [
                "Payment types"
              ],
              "values": [
                "IT Conference"
              ]
            }
          },
          {
            "id": 4,
            "type": "table",
            "name": "Payment Schedule",
            "value" : [
              {
                "row_id": 0,
                "cells": [
                  {
                    "id": 9,
                    "type": "date",
                    "name": "Date",
                    "value": "2017-08-26"
                  },
                  {
                    "id": 6,
                    "type": "money",
                    "name": "Amount",
                    "value": 10000
                  }
                ]
              },
              {
                "row_id": 1,
                "cells": [
                  {
                    "id": 9,
                    "type": "date",
                    "name": "Date",
                    "value": "2017-08-27"
                  },
                  {
                    "id": 6,
                    "type": "money",
                    "name": "Amount",
                    "value": 306.25
                  }
                ]
              }
            ]
          },
          {
            "id": 13768,
            "create_date": "2017-08-18T10:00:11Z",
            "author": {
              "id": 1731,
              "first_name": "Bob",
              "last_name": "Smith",
              "email": "Bob.Smith@gmail.com"
            },
            "text": ""
            "approvals_removed": [
              [{
                "person": {
                  "id": 1725,
                  "first_name": "Jane",
                  "last_name": "Doe",
                  "email": "Jane.Doe@gmail.com"
                },
                "step": 1
              }]
            ]
          }
        ]
      }
    ]
  }
}

POST /tasks

Создание обычной задачи
Метод возвращает созданную задачу с комментарием.

POST https://api.pyrus.com/v4/tasks

{
  "text": "Help with printer",
  "responsible": {
    "id": 1733
  },
  "participants": [
    {
      "id": 1733
    },
    {
      "email": "Bob.Smith@gmail.com"
    }
  ]
}
Показать ответ

{
  "task": {
    "id": 11611,
    "text": "Help with printer",
    "create_date": "2017-08-17T15:32:11Z",
    "last_modified_date": "2017-08-17T15:32:11Z",
    "author": {
      "id": 1731,
      "first_name": "Bob",
      "last_name": "Smith",
      "email": "Bob.Smith@gmail.com"
    },
    "responsible": {
      "id": 1733,
      "first_name": "John",
      "last_name": "Snow",
      "email": "John.Snow@gmail.com"
    },
    "participants": [
      {
        "id": 1733,
        "first_name": "John",
        "last_name": "Snow",
        "email": "John.Snow@gmail.com"
      },
      {
        "id": 1731,
        "first_name": "Bob",
        "last_name": "Smith",
        "email": "Bob.Smith@gmail.com"
      }
    ],
    "comments": [
      {
        "id": 13767,
        "text": "Help with printer",
        "create_date": "2017-08-17T15:32:11Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "reassigned_to": {
          "id": 1733,
          "first_name": "John",
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        "participants_added": [       
          {
            "id": 1733,
            "first_name": "John",
            "last_name": "Snow",
            "email": "John.Snow@gmail.com"
          },
          {
            "id": 1731,
            "first_name": "Bob",
            "last_name": "Smith",
            "email": "Bob.Smith@gmail.com"
          }
        ]
      }
    ]
  }
}

Создание задачи по форме
Метод возвращает созданную задачу с комментарием.

POST https://api.pyrus.com/v4/tasks

{
  "form_id": 1345,
  "fields": [
    {
      "id": 1,
      "value": "IT conference in Amsterdam"
    },
    {
      "id": 2,
      "value": 10306.25
    },
    {
      "id": 3,
      "value": {
        "item_id": 845
      }
    },
    {
      "id": 4,
      "value": [
        {
          "row_id": 0,
          "cells": [
            {
              "id": 6,
              "value": "2017-08-26"
            },
            {
              "id": 9,
              "value": 10000
            }
          ]
        }
      ]
    }
  ]
}
Показать ответ

{
  "task": {
    "id": 11615,
    "text": "Payments",
    "create_date": "2017-08-17T14:31:18Z",
    "last_modified_date": "2017-08-17T14:31:18Z",
    "author": {
      "id": 1731,
      "first_name": "Bob",
      "last_name": "Smith",
      "email": "Bob.Smith@gmail.com"
    },
    "form_id": 1345,
    "approvals": [
      [
        {
          "id": 1733,
          "first_name": "John",
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        {
          "id": 1725,
          "first_name": "Jane",
          "last_name": "Doe",
          "email": "Jane.Doe@gmail.com"
        }
      ],
      [
        {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        }
      ]
    ],
    "fields": [
      {
        "id": 1,
        "type": "text",
        "name": "Purpose",
        "value": "IT conference in Amsterdam"
      },
      {
        "id": 2,
        "type": "money",
        "name": "Amount",
        "value": 10306.25
      },
      {
        "id": 3,
        "type": "catalog",
        "name": "Payment type",
        "value": {
          "item_id": 845,
          "headers": [
            "Payment types"
          ],
          "values": [
            "IT Conference"
          ]
        }
      },
      {
        "id": 4,
        "type": "table",
        "name": "Payment Schedule",
        "value" : [
          {
            "row_id": 0,
            "cells": [
              {
                "id": 9,
                "type": "date",
                "name": "Date",
                "value": "2017-08-26"
              },
              {
                "id": 6,
                "type": "money",
                "name": "Amount",
                "value": 10000
              }
            ]
          }
        ]
      }
    ],
    "comments": [
      {
        "id": 13767,
        "create_date": "2017-08-17T14:31:18Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "reassigned_to": {
          "id": 1730,
          "first_name": "John",
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        "approvals_added": [
          [
            {
              "person": {
                "id": 1733,
                "first_name": "John",
                "last_name": "Snow",
                "email": "John.Snow@gmail.com"
              },
              "step": 1
            },
            {
              "person": {
                "id": 1725,
                "first_name": "Jane",
                "last_name": "Doe",
                "email": "Jane.Doe@gmail.com"
              },
              "step": 1
            }
          ],
          [
            {
              "person": {
                "id": 1731,
                "first_name": "Bob",
                "last_name": "Smith",
                "email": "Bob.Smith@gmail.com"
              },
              "step": 2
            }
          ]
        ],
        "field_updates": [
          {
            "id": 1,
            "type": "text",
            "name": "Purpose",
            "value": "IT conference in Amsterdam"
          },
          {
            "id": 2,
            "type": "money",
            "name": "Amount",
            "value": 10306.25
          },
          {
            "id": 3,
            "type": "catalog",
            "name": "Payment type",
            "value": {
              "item_id": 845,
              "headers": [
                "Payment types"
              ],
              "values": [
                "IT Conference"
              ]
            }
          },
          {
            "id": 4,
            "type": "table",
            "name": "Payment Schedule",
            "value" : [
              {
                "row_id": 0,
                "cells": [
                  {
                    "id": 9,
                    "type": "date",
                    "name": "Date",
                    "value": "2017-08-26"
                  },
                  {
                    "id": 6,
                    "type": "money",
                    "name": "Amount",
                    "value": 10000
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Параметры

Наименование Описание Обычная задача Задача по форме
text * Текст задачи.
responsible Идентификатор id или Эл. адрес email ответственного за задачу.
list_ids Массив идентификаторов списков.
due_date Срок задачи (может быть указано только одно из свойств due_date или due).
due Срок задачи со временем (может быть указано только одно из свойств due_date или due).
duration Продолжительность события в минутах (используется только совместно с due).
subject Заголовок задачи. Если не заполнено, в качестве заголовка будет использована первая строка текста задачи.
participants Массив участников задачи, состоящий из идентификаторов id или Эл. адресов email пользователей.
parent_task_id Идентификатор надзадачи.
attachments Массив уникальных идентификаторов загруженных файлов. Загрузить файл и получить его идентификатор можно с помощью метода files/upload.
approvals Массив шагов согласования, состоящий из массивов идентификаторов id или Эл. адресов email пользователей.
form_id * Идентификатор шаблона формы.
fields Массив значений формы. Каждое значение включает в себя поля id и value. Подробное описание формата значений в зависимости от типа поля вы найдете на странице Формат полей формы.
* поле обязательно для заполнения

POST /tasks/{task-id}/comments

Добавление комментария в задачу.
Метод возвращает задачу со всеми комментариями, включая добавленный.

POST https://api.pyrus.com/v4/tasks/11613/comments

{
  "text": "It's done.",
  "action": "finished"
} 
Показать ответ

{
  "task": {
    "id": 11613,
    "text": "Payments",
    "create_date": "2017-08-17T14:31:18Z",
    "last_modified_date": "2017-08-18T10:02:23Z",
    "author": {
      "id": 1731,
      "first_name": "Bob",
      "last_name": "Smith",
      "email": "Bob.Smith@gmail.com"
    },
    "form_id": 1345,
    "approvals": [
      [
        {
          "person": {
            "id": 1733,
            "first_name": "John",
            "last_name": "Snow",
            "email": "John.Snow@gmail.com"
          },
          "approval_choice": "waiting"
        }
      ],
      [
        {
          "person": {
            "id": 1731,
            "first_name": "Bob",
            "last_name": "Smith",
            "email": "Bob.Smith@gmail.com"
          },
          "approval_choice": "waiting"
        }
      ]
    ],
    "fields": [
      {
        "id": 1,
        "type": "text",
        "name": "Purpose",
        "value": "IT conference in Amsterdam"
      },
      {
        "id": 2,
        "type": "money",
        "name": "Amount",
        "value": 10306.25
      },
      {
        "id": 3,
        "type": "catalog",
        "name": "Payment type",
        "value": {
          "item_id": 845,
          "headers": [
            "Payment types"
          ],
          "values": [
            "IT Conference"
          ]
        }
      },
      {
        "id": 4,
        "type": "table",
        "name": "Payment Schedule",
        "value": [
          {
            "row_id": 0,
            "cells": [
              {
                "id": 9,
                "type": "date",
                "name": "Date",
                "value": "2017-08-26"
              },
              {
                "id": 6,
                "type": "money",
                "name": "Amount",
                "value": 10000
              }
            ]
          },
          {
            "row_id": 1,
            "cells": [
              {
                "id": 9,
                "type": "date",
                "name": "Date",
                "value": "2017-08-27"
              },
              {
                "id": 6,
                "type": "money",
                "name": "Amount",
                "value": 306.25
              }
            ]
          }
        ]
      }
    ],
    "comments": [
      {
        "id": 13767,
        "create_date": "2017-08-17T14:31:18Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "reassigned_to": {
          "id": 1730,
          "first_name": "John"
          "last_name": "Snow",
          "email": "John.Snow@gmail.com"
        },
        "approvals_added": [
          [
            {
              "person": {
                "id": 1733,
                "first_name": "John",
                "last_name": "Snow",
                "email": "John.Snow@gmail.com"
              },
              "step": 1
            },
            {
              "person": {
                "id": 1725,
                "first_name": "Jane",
                "last_name": "Doe",
                "email": "Jane.Doe@gmail.com"
              },
              "step": 1
            }
          ],
          [
            {
              "person": {
                "id": 1731,
                "first_name": "Bob",
                "last_name": "Smith",
                "email": "Bob.Smith@gmail.com"
              },
              "step": 2
            }
          ]
        ],
        "field_updates": [
          {
            "id": 1,
            "type": "text",
            "name": "Purpose",
            "text": "IT conference in Amsterdam"
          },
          {
            "id": 2,
            "type": "money",
            "name": "Amount",
            "number": 10306.25
          },
          {
            "id": 3,
            "type": "catalog",
            "name": "Payment type",
            "value": {
              "item_id": 845,
              "headers": [
                "Payment types"
              ],
              "values": [
                "IT Conference"
              ]
            }
          },
          {
            "id": 4,
            "type": "table",
            "name": "Payment Schedule",
            "value": [
              {
                "row_id": 0,
                "cells": [
                  {
                    "id": 9,
                    "type": "date",
                    "name": "Date",
                    "value": "2017-08-26"
                  },
                  {
                    "id": 6,
                    "type": "money",
                    "name": "Amount",
                    "value": 10000
                  }
                ]
              },
              {
                "row_id": 1,
                "cells": [
                  {
                    "id": 9,
                    "type": "date",
                    "name": "Date",
                    "value": "2017-08-27"
                  },
                  {
                    "id": 6,
                    "type": "money",
                    "name": "Amount",
                    "value": 306.25
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "id": 13768,
        "create_date": "2017-08-18T10:00:11Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "text": ""
        "approvals_removed": [
          [{
            "id": 1725,
            "first_name": "Jane",
            "last_name": "Doe",
            "email": "Jane.Doe@gmail.com"
          },
          "step": 1
          ]
        ]
      },
      {
        "id": 13768,
        "create_date": "2017-08-18T10:02:23Z",
        "author": {
          "id": 1731,
          "first_name": "Bob",
          "last_name": "Smith",
          "email": "Bob.Smith@gmail.com"
        },
        "text": "It's done.",
        "action": "finished"
      }
    ]
  }
}

Параметры

В комментарии к задаче необходимо заполнить хотя бы одно из приведенных ниже полей. В задаче будут изменены только значения полей, которые вы передали в запросе.
text Текст комментария.
due_date Срок задачи (может быть указано только одно из свойств due_date или due).
due Срок задачи со временем (может быть указано только одно из свойств due_date или due).
duration Продолжительность события в минутах (используется только совместно с due).
action
  • finished — закрыть задачу
  • reopened — переоткрыть задачу
approval_choice
  • approved — утвердить
  • rejected — отклонить
  • revoked — аннулировать свое согласование
  • acknowledged — отметить, что задача просмотрена
reassign_to Идентификатор id или Эл. адрес email пользователя на которого будет переназначена задача.
approvals_added Добавляемая маршрутизация, является массивом шагов согласования, состоящим из массивов идентификаторов id или Эл. адресов email пользователей.
approvals_removed Удаляемая маршрутизация, является массивом шагов согласования, состоящим из массивов идентификаторов id или Эл. адресов email пользователей.
participants_added Добавляемые участники, массив идентификаторов id или Эл. адресов email пользователей.
participants_removed Удаляемые участники, массив идентификаторов id или Эл. адресов email пользователей.
field_updates Массив обновляемых значений формы. Каждое значение включает в себя поля id и value. Подробное описание формата значений в зависимости от типа поля вы найдете на странице Формат полей формы.
attachments Массив уникальных идентификаторов загруженных файлов. Загрузить файл и получить его идентификатор можно с помощью метода files/upload.
added_list_ids Массив идентификаторов списков в которые необходимо добавить задачу.
removed_list_ids Массив идентификаторов списков из которых необходимо исключить задачу.

Была ли эта статья полезной?

Да, спасибо! Нет, остался вопрос