Блог Горошко Андрея Bitrix24,PHP Обновить стадию канбана или «Моего плана» task.stages.update

Обновить стадию канбана или «Моего плана» task.stages.update

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Обновить стадию канбана или «Моего плана» task.stages.update», проанализируем лучшие практики и покажем, как правильно использовать task.stages.update в реальных задачах.

Обновить стадию канбана или «Моего плана» task.stages.update

> Scope: task
>
> Кто может выполнять метод:
> — любой пользователь для стадий «Моего плана»
> — любой пользователь с доступом к группе для стадий канбана

Метод обновляет стадии канбана или «Моего плана».

Метод также применяется для перемещения стадии с одной позиции на другую. Для этого достаточно передать нужный AFTER_ID.

Параметры метода

Название
тип
Описание
id
integer
Идентификатор стадии
fields
array
Значения полей (подробное описание приведено ниже) для обновления стадии канбана или «Моего плана»
isAdmin
boolean
Если установлено true, то проверки прав происходить не будет. При условии, что запрашивающий является администратором портала

Параметр fields

Название
тип
Описание
TITLE stringЗаголовок стадии
COLOR stringЦвет стадии в формате RGB
AFTER_ID integerИдентификатор стадии, после которой надо добавить новую стадию.

Если не указано или равно 0, то добавится в начало

При обновлении стадии группы при недостаточном уровне прав выводится ошибка доступа.

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "id": 5,
    "fields": {
        "TITLE": "Новая стадия",
        "SORT": 200,
        "COLOR": "FF5733"
    }
    }' \
    https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/task.stages.update
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: YOUR_ACCESS_TOKEN" \
    -d '{
    "id": 5,
    "fields": {
        "TITLE": "Новая стадия",
        "SORT": 200,
        "COLOR": "FF5733"
    }
    }' \
    https://your-domain.bitrix24.com/rest/task.stages.update
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'task.stages.update',
    		{
    			id: stageId,
    			fields: fields
    		}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $stageId = 5;
        $fields = [
            'TITLE' => "Новая стадия",
            'SORT' => 200,
            'COLOR' => "FF5733"
        ];
    
        $response = $b24Service
            ->core
            ->call(
                'task.stages.update',
                [
                    'id' => $stageId,
                    'fields' => $fields
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating task stage: ' . $e->getMessage();
    }
  • BX24.js
    const stageId = 5;
    const fields = {
        TITLE: "Новая стадия",
        SORT: 200,
        COLOR: "FF5733"
    };
    BX24.callMethod(
        'task.stages.update',
        {
            id: stageId,
            fields: fields
        },
        function(res)
        {
            console.log(res);
        }
    );
  • PHP CRest
    require_once('crest.php'); // подключение CRest PHP SDK

    $stageId = 5;
    $fields = [
        "TITLE" => "Новая стадия",
        "SORT" => 200,
        "COLOR" => "FF5733"
    ];

    // выполнение запроса к REST API
    $result = CRest::call(
        'task.stages.update',
        [
            'id' => $stageId,
            'fields' => $fields
        ]
    );

    // Обработка ответа от Битрикс24
    if ($result['error']) {
        echo 'Error: '.$result['error_description'];
    } else {
        print_r($result['result']);
    }

Обработка ответа

HTTP-Статус: 200

{
    "result": true
}

Возвращаемые данные

Название
тип
Описание
result
boolean
Возвращает true в случае успешного обновления стадии

Обработка ошибок

HTTP-статус: 400

{
    "error": "ACCESS_DENIED",
    "error_description": "Вы не можете изменять стадии в этой группе"
}

Возможные коды ошибок

КодОписание
ACCESS_DENIEDВы не можете изменять стадии в этой группе
NOT_FOUNDСтадия не найдена
  • [](./index)
  • [](./task-stages-add)
  • [](./task-stages-get)
  • [](./task-stages-can-move-task)
  • [](./task-stages-move-task)
  • [](./task-stages-delete)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Обновить стадию канбана или «Моего плана» task.stages.update»:

Использование современных стандартов D7 при работе с task.stages.update позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Оплатить заказ через конкретную платежную систему sale.paysystem.pay.paymentОплатить заказ через конкретную платежную систему sale.paysystem.pay.payment

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Оплатить заказ через конкретную платежную систему sale.paysystem.pay.payment», проанализируем

Получить элементы перечисления «Приоритеты дел» crm.enum.activitypriorityПолучить элементы перечисления «Приоритеты дел» crm.enum.activitypriority

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить элементы перечисления «Приоритеты дел» crm.enum.activitypriority». Мы подготовили подробный разбор принципов работы и развернутые примеры

Как использовать метод SDK sale.property.update в Битрикс24Как использовать метод SDK sale.property.update в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK sale.property.update в Битрикс24», разберем