Изменить поток tasks.flow.Flow.update
Scope:
taskКто может выполнять метод: создатель или администратор потока
Метод tasks.flow.Flow.update изменяет поток.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
flowData* |
Значения полей для изменения потока (подробное описание приведено ниже) |
Параметр flowData
Обязательные параметры отмечены *
|
Название |
Описание |
|
id* |
Идентификатор потока, который нужно изменить. Получить идентификатор можно методом создания нового потока tasks.flow.Flow.create или методом получения задачи tasks.task.get для задачи из потока |
|
name |
Название потока. Должно быть уникальным для каждого потока. Для проверки названия можно воспользоваться методом tasks.flow.Flow.isExists |
|
description |
Описание потока |
|
groupId |
Идентификатор группы, к которой будет привязан поток. Если не указать, то автоматически создается новая группа |
|
ownerId |
Идентификатор администратора потока. Если не указать, администратором будет создатель потока |
|
templateId |
Идентификатор шаблона, по которому пользователи будут добавлять задачи в поток |
|
plannedCompletionTime* |
Планируемое время выполнения задачи в секундах |
|
distributionType* |
Тип распределения:
Подробнее о типах распределения — в статье Потоки: обзор методов |
|
responsibleList* |
Идентификаторы сотрудников, которые получат задачи. Для ручного распределения укажите идентификатор модератора потока. Для самостоятельного распределения или распределения по очереди укажите идентификаторы сотрудников или отделы. Например:
Если не добавить суффикс |
|
taskCreators |
Список пользователей, которые могут добавлять задачи в поток в формате
Если не добавить суффикс Чтобы задачи могли добавлять все пользователи, укажите значение |
|
matchWorkTime |
Пропускать выходные и праздничные дни для рассчета крайнего срока задачи. Принимает значения |
|
responsibleCanChangeDeadline |
Может ли ответственный менять дедлайн задачи. Принимает значения |
|
notifyAtHalfTime |
Уведомлять исполнителя на половине срока задачи. Принимает значения |
|
taskControl |
Отправлять выполненную задачу постановщику для проверки. Принимает значения |
|
notifyOnQueueOverflow |
Уведомлять администратора потока, когда задач в очереди более этого параметра. По умолчанию |
|
notifyOnTasksInProgressOverflow |
Уведомлять администратора потока, когда задач в работе больше этого параметра. По умолчанию |
|
notifyWhenEfficiencyDecreases |
Уведомлять администратора потока, когда эффективность упала ниже этого параметра. По умолчанию |
Примеры кода
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"flowData": {
"id": 517,
"name": "Updated Flow Name",
"description": "Updated description",
"plannedCompletionTime": 7200,
"distributionType": "manually",
"responsibleList": [["user","3"]],
"taskCreators": [["meta-user","all-users"]],
"matchWorkTime": 1,
"notifyAtHalfTime": 0
}
}' \
https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/tasks.flow.Flow.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"flowData": {
"id": 517,
"name": "Updated Flow Name",
"description": "Updated description",
"plannedCompletionTime": 7200,
"distributionType": "manually",
"responsibleList": [["user","3"]],
"taskCreators": [["meta-user","all-users"]],
"matchWorkTime": 1,
"notifyAtHalfTime": 0
}
}' \
https://your-domain.bitrix24.com/rest/tasks.flow.Flow.update
try
{
const response = await $b24.callMethod(
'tasks.flow.Flow.update',
{
flowData: {
id: 517,
name: 'Updated Flow Name',
description: 'Updated description',
plannedCompletionTime: 7200,
distributionType: 'manually',
responsibleList: [
[
'user','3'
]
],
taskCreators: [
[
'meta-user','all-users'
]
],
matchWorkTime: 1,
notifyAtHalfTime: 0
}
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'tasks.flow.Flow.update',
[
'flowData' => [
'id' => 517,
'name' => 'Updated Flow Name',
'description' => 'Updated description',
'plannedCompletionTime' => 7200,
'distributionType' => 'manually',
'responsibleList' => [
['user', '3']
],
'taskCreators' => [
['meta-user', 'all-users']
],
'matchWorkTime' => 1,
'notifyAtHalfTime' => 0
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating flow: ' . $e->getMessage();
}
BX24.callMethod(
'tasks.flow.Flow.update',
{
flowData: {
id: 517,
name: 'Updated Flow Name',
description: 'Updated description',
plannedCompletionTime: 7200,
distributionType: 'manually',
responsibleList: [
[
'user','3'
]
],
taskCreators: [
[
'meta-user','all-users'
]
],
matchWorkTime: 1,
notifyAtHalfTime: 0
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php'); // подключение CRest PHP SDK
$flowData = [
"id" => 517,
"name" => "Updated Flow Name",
"description" => "Updated description",
"plannedCompletionTime" => 7200,
"distributionType" => "manually",
"responsibleList" => [["user", "3"]],
"taskCreators" => [["meta-user", "all-users"]],
"matchWorkTime" => 1,
"notifyAtHalfTime" => 0
];
// выполнение запроса к REST API
$result = CRest::call(
'tasks.flow.Flow.update',
[
'flowData' => $flowData
]
);
// Обработка ответа от Битрикс24
if ($result['error']) {
echo 'Error: '.$result['error_description'];
} else {
print_r($result['result']);
}
Обработка ответа
HTTP-статус: 200
{
"result": {
"id": 517,
"creatorId": 1,
"ownerId": 1,
"groupId": 178,
"templateId": 0,
"efficiency": 0,
"active": true,
"plannedCompletionTime": 7200,
"activity": "2024-09-02T15:27:29+00:00",
"name": "Updated Flow Name",
"description": "Updated description",
"distributionType": "manually",
"responsibleList": [
[
"user",
"3"
]
],
"demo": false,
"responsibleCanChangeDeadline": true,
"matchWorkTime": true,
"taskControl": false,
"notifyAtHalfTime": false,
"notifyOnQueueOverflow": 10,
"notifyOnTasksInProgressOverflow": 50,
"notifyWhenEfficiencyDecreases": null,
"taskCreators": [
[
"meta-user",
"all-users"
]
],
"team": [
[
"user",
"3"
]
],
"trialFeatureEnabled": false
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Объект с данными потока |
|
id |
Идентификатор созданного потока |
|
creatorId |
Идентификатор создателя потока. Только для чтения |
|
ownerId |
Идентификатор администратора потока |
|
groupId |
Идентификатор группы, к которой привязан поток |
|
templateId |
Идентификатор шаблона, по которому создаются задачи в потоке |
|
efficiency |
Эффективность потока в процентах. Только для чтения |
|
active |
Статус активности потока |
|
plannedCompletionTime |
Планируемое время выполнения задачи в секундах |
|
activity |
Дата и время последней активности в потоке. Только для чтения |
|
name |
Название потока |
|
description |
Описание потока |
|
distributionType |
Тип распределения задач в потоке |
|
responsibleList |
Список ответственных за задачи в потоке. Для ручного распределения это модератор потока |
|
demo |
Является ли поток демонстрационным. Системный параметр. Только для чтения |
|
responsibleCanChangeDeadline |
Может ли ответственный менять дедлайн задачи |
|
matchWorkTime |
Пропускать ли выходные и праздничные дни при расчете крайнего срока задачи |
|
taskControl |
Отправлять ли выполненную задачу постановщику для проверки |
|
notifyAtHalfTime |
Уведомлять ли исполнителя на половине срока задачи |
|
notifyOnQueueOverflow |
Количество задач в очереди, при превышении которого будет отправлено уведомление администратору потока (если |
|
notifyOnTasksInProgressOverflow |
Количество задач в работе, при превышении которого будет отправлено уведомление администратору потока (если |
|
notifyWhenEfficiencyDecreases |
Эффективность в процентах, при снижении до которой будет отправлено уведомление администратору потока (если |
|
taskCreators |
Список пользователей, которые могут добавлять задачи в поток в формате Элемент |
|
team |
Команда потока. Для ручного распределения это все участники проекта, к которому привязан поток, кроме модератора. Для распределения по очереди и самостоятельного распределения команда та же, что и в |
|
trialFeatureEnabled |
Включен ли демонстрационный период для потока. Системный параметр. Только для чтения |
Обработка ошибок
HTTP-статус: 400
{
"error": "0",
"error_description": "Flow not found"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Дополнительная информация |
|
|
Доступ запрещен или поток не найден |
Тариф портала не позволяет работать с потоками или у пользователя нет прав на изменение потока |
|
|
|
Неизвестная ошибка |
|
|
|
Некорретное значение |
|
|
Поток с таким названием уже существует |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Создать новый поток tasks.flow.Flow.create
- Получить поток tasks.flow.Flow.get
- Удалить поток tasks.flow.Flow.delete
- Проверить существование потока tasks.flow.Flow.isExists
- Активировать/деактивировать поток tasks.flow.Flow.activate
- Закрепить или открепить поток tasks.flow.Flow.pin