Блог Горошко Андрея Bitrix24,PHP Добавить комментарий task.commentitem.add

Добавить комментарий task.commentitem.add

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Добавить комментарий task.commentitem.add», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Добавить комментарий task.commentitem.add

> Scope: task
>
> Кто может выполнять метод: любой пользователь с правом доступа на чтение задачи или выше

Метод task.commentitem.add добавляет новый комментарий к задаче.

Метод task.commentitem.add продолжает работать, но у него есть более актуальный аналог tasks.task.chat.message.send.

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

Название
тип
Описание
TASKID
integer
Идентификатор задачи.

Идентификатор задачи можно получить при создании новой задачи или методом получения списка задач

FIELDS
object
Объект с полями комментария

Параметр FIELDS {#fields}

Название
тип
Описание
POST_MESSAGE*
string
Текст сообщения
AUTHOR_ID
integer
Идентификатор пользователя, от имени которого нужно создать комментарий.

Получить идентификатор пользователя можно с помощью метода user.get.

Метод task.commentitem.add позволяет любому пользователю добавить комментарий от чужого имени

POST_DATE
string
Дата сообщения
UF_FORUM_MESSAGE_DOC
array
Массив с идентификаторами файлов с Диска. Перед каждым идентификатором укажите префикс n, например, ['n123', 'n456', ... ].

У автора комментария должен быть доступ к прикрепляемым файлам, иначе метод вернет ошибку

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"TASKID":8017,"FIELDS":{"POST_MESSAGE":"Текст нового комментария к задаче","AUTHOR_ID":503,"POST_DATE":"2025-07-15T14:30:00+03:00","UF_FORUM_MESSAGE_DOC":["n4755","n4753"]}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/task.commentitem.add
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"TASKID":8017,"FIELDS":{"POST_MESSAGE":"Текст нового комментария к задаче","AUTHOR_ID":503,"POST_DATE":"2025-07-15T14:30:00+03:00","UF_FORUM_MESSAGE_DOC":["n4755","n4753"]},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/task.commentitem.add
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'task.commentitem.add',
    		{
    			"TASKID": 8017,
    			"FIELDS": {
    				"POST_MESSAGE": "Текст нового комментария к задаче",
    				"AUTHOR_ID": 503,
    				"POST_DATE": "2025-07-15T14:30:00+03:00",
    				"UF_FORUM_MESSAGE_DOC": ["n4755", "n4753"]
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    	console.log(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'task.commentitem.add',
                [
                    'TASKID' => 8017,
                    'FIELDS' => [
                        'POST_MESSAGE'         => 'Текст нового комментария к задаче',
                        'AUTHOR_ID'            => 503,
                        'POST_DATE'            => '2025-07-15T14:30:00+03:00',
                        'UF_FORUM_MESSAGE_DOC' => ['n4755', 'n4753'],
                    ],
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
        // Нужная вам логика обработки данных
        processData($result);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error adding task comment: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'task.commentitem.add',
        {
            "TASKID": 8017,
            "FIELDS": {
                "POST_MESSAGE": "Текст нового комментария к задаче",
                "AUTHOR_ID": 503,
                "POST_DATE": "2025-07-15T14:30:00+03:00",
                "UF_FORUM_MESSAGE_DOC": ["n4755", "n4753"]
            }
        },
        function(result){
            console.info(result.data());
            console.log(result);
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'task.commentitem.add',
        [
            'TASKID' => 8017,
            'FIELDS' => [
                'POST_MESSAGE' => 'Текст нового комментария к задаче',
                'AUTHOR_ID' => 503,
                'POST_DATE' => '2025-07-15T14:30:00+03:00',
                'UF_FORUM_MESSAGE_DOC' => ['n4755', 'n4753']
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

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

HTTP-статус: 200

{
    "result": 3141,
    "time": {
        "start": 1753262861.683775,
        "finish": 1753262862.001611,
        "duration": 0.31783604621887207,
        "processing": 0.27428317070007324,
        "date_start": "2025-07-23T12:27:41+03:00",
        "date_finish": "2025-07-23T12:27:42+03:00",
        "operating_reset_at": 1753263461,
        "operating": 0.2742629051208496
    }
}

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

Название
тип
Описание
result
integer
Идентификатор нового комментария
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error":"ERROR_CODE",
    "error_description":"Недостаточно прав для добавления комментария.<br>"
}

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

КодОписаниеЗначение
ERROR_COREНе указан текст комментарияОбязательный параметр POST_MESSAGE не передан или пустой
ERROR_COREНедостаточно прав для добавления комментарияНет прав доступа к задаче
ERROR_COREНе удалось найти файлФайл из параметра UF_FORUM_MESSAGE_DOC не найден или у автора нет к нему доступа
ERROR_CORETASKS_ERROR_EXCEPTION_#256; Param #1 (arFields) for method ctaskcommentitem::add() must not contain key <FIELD_NAME>.; 256/TE/WRONG_ARGUMENTSПоле <FIELD_NAME> нельзя использовать в методе
ERROR_CORETASKS_ERROR_EXCEPTION_#256; Param #0 (taskId) for method ctaskcommentitem::add() expected to be of type «integer», but given something else.; 256/TE/WRONG_ARGUMENTSУказан неверный тип значения для параметра, например, для TASKID
  • [](./index)
  • [](./task-comment-item-update)
  • [](./task-comment-item-get)
  • [](./task-comment-item-get-list)
  • [](./task-comment-item-delete)
  • [](../../../tutorials/tasks/how-to-create-comment-with-file)

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

Практические рекомендации:

  • При написании кастомных компонентов для «Добавить комментарий task.commentitem.add» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Получить список доступных полей бэклога tasks.api.scrum.backlog.getFieldsПолучить список доступных полей бэклога tasks.api.scrum.backlog.getFields

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

Получить параметры карточки элементов crm.item.details.configuration.getПолучить параметры карточки элементов crm.item.details.configuration.get

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить параметры карточки элементов crm.item.details.configuration.get», разберем архитектурные особенности

Получить список полей товаров документа складского учета catalog.document.ele…Получить список полей товаров документа складского учета catalog.document.ele…

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список полей товаров документа складского учета catalog.document.ele…». Вы узнаете экспертные методики работы