Изменить задачу task.item.update

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: task

Кто может выполнять метод: любой пользователь

Метод task.item.update обновляет данные по задаче. Доступны для обновления следующие поля. При обновлении данных по задаче учитывается бизнес-логика и права. Например, исполнитель не может переименовать задачу — в таком случае будет сгенерирована ошибка.

Рекомендуется перед обновлением данных проверять, допустимо ли данное действие (task.item.isactionallowed).

DEPRECATED

Развитие метода остановлено. Используйте tasks.task.update.

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

Название

Описание

TASKID

Идентификатор задачи.

TASKDATA

Список полей с новыми значениями.

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

Примеры кода

Как использовать примеры в документации

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"taskId":1,"fields":{"TIME_ESTIMATE":113}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.item.update
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"taskId":1,"fields":{"TIME_ESTIMATE":113},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/task.item.update
        
// This snippet is an ES module: top-level await requires type="module" or a bundler.
        // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
        import { Text } from '@bitrix24/b24jssdk'
        import type { B24Frame } from '@bitrix24/b24jssdk'
        
        declare const $b24: B24Frame
        
        // Shape of the payload returned in result (match the "response handling" section of the page)
        type TaskItemUpdateResult = boolean
        
        try {
          const response = await $b24.actions.v2.call.make<TaskItemUpdateResult>({
            method: 'task.item.update',
            params: {
              taskId: 1,
              fields: {
                TIME_ESTIMATE: 113,
              },
            },
            requestId: Text.getUuidRfc4122()
          })
        
          // The payload is available only on a successful response
          if (!response.isSuccess) {
            console.error(response.getErrorMessages().join('; '))
          } else {
            const result = response.getData()!.result
            console.info('Task updated successfully:', result)
          }
        } catch (error) {
          // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
          console.error(error)
        }
        
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
        <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
        <script>
          async function updateTaskItem() {
            try {
              // Initialize the SDK inside a Bitrix24 frame
              const $b24 = await B24Js.initializeB24Frame()
        
              const response = await $b24.actions.v2.call.make({
                method: 'task.item.update',
                params: {
                  taskId: 1,
                  fields: {
                    TIME_ESTIMATE: 113,
                  },
                },
                requestId: B24Js.Text.getUuidRfc4122()
              })
        
              // The payload is available only on a successful response
              if (!response.isSuccess) {
                console.error(response.getErrorMessages().join('; '))
                return
              }
        
              const result = response.getData().result
              console.info('Task updated successfully:', result)
            } catch (error) {
              // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
              console.error(error)
            }
          }
        
          document.addEventListener('DOMContentLoaded', updateTaskItem)
        </script>
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'task.item.update',
                    [
                        1,
                        ['TIME_ESTIMATE' => 113],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Success: ' . print_r($result, true);
            // Нужная вам логика обработки данных
            processData($result);
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error updating task item: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'task.item.update',
            [1, {TIME_ESTIMATE: 113}],
            function(result)
            {
                console.info(result.data());
                console.log(result);
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'task.item.update',
            [
                'taskId' => 1,
                'fields' => [
                    'TIME_ESTIMATE' => 113
                ]
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Пример записи значений с CRM.

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"taskId":1,"fields":{"UF_CRM_TASK":["L_4","C_7","CO_5","D_10"]}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.item.update
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"taskId":1,"fields":{"UF_CRM_TASK":["L_4","C_7","CO_5","D_10"]},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/task.item.update
        
// This snippet is an ES module: top-level await requires type="module" or a bundler.
        // $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
        import { Text } from '@bitrix24/b24jssdk'
        import type { B24Frame } from '@bitrix24/b24jssdk'
        
        declare const $b24: B24Frame
        
        // Shape of the payload returned in result (match the "response handling" section of the page)
        type TaskItemUpdateResult = boolean
        
        try {
          const response = await $b24.actions.v2.call.make<TaskItemUpdateResult>({
            method: 'task.item.update',
            params: {
              taskId: 1,
              fields: {
                UF_CRM_TASK: ['L_4', 'C_7', 'CO_5', 'D_10'],
              },
            },
            requestId: Text.getUuidRfc4122()
          })
        
          // The payload is available only on a successful response
          if (!response.isSuccess) {
            console.error(response.getErrorMessages().join('; '))
          } else {
            const result = response.getData()!.result
            console.info('Task CRM links updated successfully:', result)
          }
        } catch (error) {
          // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
          console.error(error)
        }
        
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
        <script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
        <script>
          async function updateTaskCrmLinks() {
            try {
              // Initialize the SDK inside a Bitrix24 frame
              const $b24 = await B24Js.initializeB24Frame()
        
              const response = await $b24.actions.v2.call.make({
                method: 'task.item.update',
                params: {
                  taskId: 1,
                  fields: {
                    UF_CRM_TASK: ['L_4', 'C_7', 'CO_5', 'D_10'],
                  },
                },
                requestId: B24Js.Text.getUuidRfc4122()
              })
        
              // The payload is available only on a successful response
              if (!response.isSuccess) {
                console.error(response.getErrorMessages().join('; '))
                return
              }
        
              const result = response.getData().result
              console.info('Task CRM links updated successfully:', result)
            } catch (error) {
              // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
              console.error(error)
            }
          }
        
          document.addEventListener('DOMContentLoaded', updateTaskCrmLinks)
        </script>
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'task.item.update',
                    [
                        1,
                        ['UF_CRM_TASK' => ["L_4", "C_7", "CO_5", "D_10"]],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Success: ' . print_r($result, true);
            // Нужная вам логика обработки данных
            processData($result);
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error updating task item: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'task.item.update',
            [1, {UF_CRM_TASK: ["L_4", "C_7", "CO_5", "D_10"]}],
            function(result)
            {
                console.info(result.data());
                console.log(result);
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'task.item.update',
            [
                'taskId' => 1,
                'fields' => [
                    'UF_CRM_TASK' => ["L_4", "C_7", "CO_5", "D_10"]
                ]
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Цифры — это ID соответствующих значений. Значение L_4 означает привязку к задаче лида с ID = 4. Можно задавать несколько связей одного типа, например, L_4, L_5. Доступны следующие обозначения:

  • L — лид
  • C — контакт
  • CO — компания
  • D — сделка