Блог Горошко Андрея Bitrix24,PHP Переместить задачу из одной стадии в другую task.stages.movetask

Переместить задачу из одной стадии в другую task.stages.movetask

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Переместить задачу из одной стадии в другую task.stages.movetask». Вы узнаете экспертные методики работы с task.stages.movetask и научитесь избегать типичных ошибок начинающих разработчиков.

Переместить задачу из одной стадии в другую task.stages.movetask

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

Метод перемещает задачу из одной стадии в другую и позволяет изменить положение задачи в рамках канбана группы или «Моего плана».

Метод работает следующим образом:

  • Если передана стадия группы, перемещение происходит в рамках канбана группы
  • Если передана стадия «Моего плана», перемещение происходит в нем

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

Название
тип
Описание
id
integer
Идентификатор задачи
stageId
integer
ID стадии, в которую надо переместить задачу
before
integer
ID задачи, перед которой надо поставить задачу в стадии
after
integer
ID задачи, после которой надо поставить задачу в стадии

Информация
Параметры before и after — взаимоисключающие. Указывается или тот, или другой параметр.

Если оба параметры не заполнены, задача добавляется в колонку стадии согласно настройкам проекта или «Моего плана».

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "id": 1,
    "stageId": 2,
    "before": 3,
    "after": 4
    }' \
    https://your-domain.bitrix24.com/rest/_USER_ID_/_CODE_/task.stages.movetask
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: YOUR_ACCESS_TOKEN" \
    -d '{
    "id": 1,
    "stageId": 2,
    "before": 3,
    "after": 4
    }' \
    https://your-domain.bitrix24.com/rest/task.stages.movetask
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'task.stages.movetask',
    		{
    			id: taskId,
    			stageId: stageId,
    			before: 3,
    			after: 4
    		}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'task.stages.movetask',
                [
                    'id'     => $taskId,
                    'stageId' => $stageId,
                    'before' => 3,
                    'after'  => 4
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
        // Нужная вам логика обработки данных
        processData($result);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error moving task stage: ' . $e->getMessage();
    }
  • BX24.js
    const taskId = 1;
    const stageId = 2;
    BX24.callMethod(
        'task.stages.movetask',
        {
            id: taskId,
            stageId: stageId,
            before: 3,
            after: 4
        },
        function(res)
        {
            console.log(res);
        }
    );
  • PHP CRest
    require_once('crest.php'); // подключение CRest PHP SDK

    $taskId = 1;
    $stageId = 2;

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

    // Обработка ответа от Битрикс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_MOVE",
    "error_description": "Вы не можете перемещать эту задачу"
}

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

КодОписание
ACCESS_DENIED_MOVEВы не можете перемещать эту задачу
TASK_NOT_FOUNDЗадача не найдена или доступ к ней запрещен
NOT_FOUNDСтадия не найдена
  • [](./index)
  • [](./task-stages-add)
  • [](./task-stages-update)
  • [](./task-stages-get)
  • [](./task-stages-can-move-task)
  • [](./task-stages-delete)

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

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к task.stages.movetask, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Переместить задачу из одной стадии в другую task.stages.movetask».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

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

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

Создать стадию канбана Скрама tasks.api.scrum.kanban.addStageСоздать стадию канбана Скрама tasks.api.scrum.kanban.addStage

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Создать стадию канбана Скрама tasks.api.scrum.kanban.addStage». Вы узнаете экспертные методики работы с tasks.api.scrum.kanban.addStage и

Событие при удалении типа ресурса onBookingResourceTypeDeleteСобытие при удалении типа ресурса onBookingResourceTypeDelete

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