Блог Горошко Андрея Bitrix24 Добавить комментарий к сообщению log.blogcomment.add

Добавить комментарий к сообщению log.blogcomment.add

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

Добавить комментарий к сообщению log.blogcomment.add

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

Метод log.blogcomment.add добавляет комментарий к сообщению Ленты новостей.

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

Название
тип
Описание
POST_ID
integer
Идентификатор сообщения Ленты новостей.

Идентификатор сообщения можно получить с помощью метода log.blogpost.get

TEXT
string
Текст комментария. Учитывается при проверке на дублирование и сохраняется в поле POST_TEXT
FILES
array
Массив файлов, который описан по правилам работы с файлами. Файлы будут загружены на Диск пользователя и привязаны к комментарию
USER_ID
integer
Идентификатор пользователя, от имени которого публикуется комментарий. Доступно только администраторам. По умолчанию используется текущий пользователь, инициировавший вызов метода.

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

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"POST_ID":403,"TEXT":"Комментарий к посту","USER_ID":27,"FILES":[["example.txt","SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg=="]]}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/log.blogcomment.add
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"POST_ID":403,"TEXT":"Комментарий к посту","USER_ID":27,"FILES":[["example.txt","SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg=="]],"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/log.blogcomment.add
  • JS
    try {
      const response = await $b24.callMethod(
        'log.blogcomment.add',
        {
          POST_ID: 403,
          TEXT: 'Комментарий к посту',
          USER_ID: 27,
          FILES: [
            [
              'example.txt',
              'SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg==',
            ],
          ],
        }
      );

      const { result } = response.getData();
      console.log('Created comment:', result);
    } catch (error) {
      console.error('Error adding comment:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'log.blogcomment.add',
                [
                    'POST_ID' => 403,
                    'TEXT'    => 'Комментарий к посту',
                    'USER_ID' => 27,
                    'FILES'   => [
                        [
                            'example.txt',
                            'SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg==',
                        ],
                    ],
                ]
            );

        $result = $response
            ->getResponseData()
            ->getResult();

        if ($result->error()) {
            echo 'Error: ' . $result->error();
        } else {
            echo 'Created comment ID: ' . $result->data();
        }
    } catch (Throwable $exception) {
        error_log($exception->getMessage());
        echo 'Error adding blog comment: ' . $exception->getMessage();
    }
  • BX24.js
    BX24.callMethod('log.blogcomment.add', {
        POST_ID: 403,
        TEXT: 'Комментарий к посту',
        USER_ID: 27,
        FILES: [
            [
                'example.txt',
                'SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg==',
            ],
        ]
    }, 
    function(result) {
            if (result.error()) {
                console.error(result.error());
            } else {
                console.info(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'log.blogcomment.add',
        [
            'POST_ID' => 403,
            'TEXT'    => 'Комментарий к посту',
            'USER_ID' => 27,
            'FILES'   => [
                [
                    'example.txt',
                    'SXQncyBhIHRlc3QgZmlsZSBmb3IgQml0cml4IFJlc3QgQVBJLg==',
                ],
            ],
        ]
    );

    if (!empty($result['error'])) {
        echo 'Error: ' . $result['error_description'];
    } else {
        echo 'Created comment ID: ' . $result['result'];
    }

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

HTTP-статус: 200

{
    "result": 312,
    "time": {
        "start": 1728904800.123456,
        "finish": 1728904800.398112,
        "duration": 0.2746560573577881,
        "processing": 0.10234594345092773,
        "date_start": "2025-10-14T12:40:00+03:00",
        "date_finish": "2025-10-14T12:40:00+03:00",
        "operating": 0
    }
}

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

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

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "No blog module installed"
}

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

КодОписаниеЗначение
-No blog module installedМодуль blog не установлен
-No post foundСообщение Ленты новостей с переданным POST_ID не найдено или недоступно
-No blog foundНе удалось получить блог, к которому относится сообщение
-Duplicate commentАналогичный комментарий уже был опубликован, проверяется только для записей без вложений
-No permissionsУ пользователя нет прав на добавление комментария к сообщению
-Blog comment hasn't been addedВнутренняя ошибка при сохранении комментария
  • [](./log-blogcomment-delete)
  • [](./log-blogcomment-user-get)

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

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

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

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

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

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

Related Post

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

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

Внедрение Битрикс24 для автосалонов и дилерских центров с воронкой Trade-InВнедрение Битрикс24 для автосалонов и дилерских центров с воронкой Trade-In

Профессиональная настройка и комплексная автоматизация Битрикс24 CRM позволяет выстроить прозрачный отдел продаж, исключить потерю обращений и автоматизировать рутинный документооборот компании. Услуга «Внедрение Битрикс24 для автосалонов и дилерских центров с воронкой

Настройка сквозной аналитики в Битрикс24 для многофилиальной компании с разделением бюджетовНастройка сквозной аналитики в Битрикс24 для многофилиальной компании с разделением бюджетов

Профессиональная настройка и комплексная автоматизация Битрикс24 CRM позволяет выстроить прозрачный отдел продаж, исключить потерю обращений и автоматизировать рутинный документооборот компании. Услуга «Настройка сквозной аналитики в Битрикс24 для многофилиальной компании с