Записать информацию в журнал бизнес-процесса bizproc.activity.log

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

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

Scope: bizproc

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

Метод bizproc.activity.log записывает информацию в журнал бизнес-процесса. Запись событий в журнал должна быть включена в шаблоне бизнес-процесса.

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

Обязательные параметры отмечены *

Название
тип

Описание

EVENT_TOKEN*
string

Уникальный ключ, необходимый для отправки события бизнес-процессу.

Токен поступает на обработчик действия приложения, когда бизнес-процесс доходит до выполнения этого действия.

Запись в журнал возможна, если при регистрации или обновлении действия в bizproc.activity.add или bizproc.activity.update параметр USE_SUBSCRIPTION задан со значением 'Y'

LOG_MESSAGE*
string

Сообщение для записи в лог

EVENT_TOKEN должен быть валидным и актуальным. Если токен невалидный или устаревший, метод вернет ошибку доступа ACCESS_DENIED

Примеры кода

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

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"event_token":"55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90","log_message":"Please wait for answer!"}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/bizproc.activity.log
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"event_token":"55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90","log_message":"Please wait for answer!","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/bizproc.activity.log
try
{
	const response = await $b24.callMethod(
		'bizproc.activity.log',
		{
			event_token: '55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90',
			log_message: 'Please wait for answer!'
		}
	);
	
	const result = response.getData().result;
	alert("Success: " + result);
}
catch( error )
{
	alert("Error: " + error);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.bizproc.activity.log(
        event_token="55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90",
        log_message="Please wait for answer!",
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
try {
    $eventToken = 'your_event_token'; // Replace with actual event token
    $message = 'Your log message'; // Replace with actual message

    $result = $serviceBuilder
        ->getBizProcScope()
        ->activity()
        ->log($eventToken, $message);

    if ($result->isSuccess()) {
        print($result->getCoreResponse()->getResponseData()->getResult()[0]);
    } else {
        print('Log entry failed.');
    }
} catch (Throwable $e) {
    print('Error: ' . $e->getMessage());
}
BX24.callMethod(
    'bizproc.activity.log',
    {
        event_token: '55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90',
        log_message: 'Please wait for answer!'
    },
    function(result) {
        if(result.error())
            alert("Error: " + result.error());
        else
            alert("Success: " + result.data());
    }
);
require_once('crest.php');

$result = CRest::call(
    'bizproc.activity.log',
    [
        'event_token' => '55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90',
        'log_message' => 'Please wait for answer!'
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "bizproc.activity.log", b24.Params{
	"EVENT_TOKEN": "55c1dc1c3f0d75.78875596|A51601_82584_96831_81132|hsyUws1j4XiwqPqN45eH66CcQtEvpUIP.47dd5d888e8e549d2c984713e12a4268e6e87d0208ca1f093ba1075e77f92e90",
	"LOG_MESSAGE": "Please wait for answer!",
})
if err != nil {
	return fmt.Errorf("bizproc.activity.log: %w", err)
}

var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1738152146.805903,
        "finish": 1738152146.844209,
        "duration": 0.03830695152282715,
        "processing": 0.0035429000854492188,
        "date_start": "2025-01-29T15:02:26+03:00",
        "date_finish": "2025-01-29T15:02:26+03:00",
        "operating_reset_at": 1738152746,
        "operating": 0
    }
}

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

Название
тип

Описание

result
boolean

Возвращает true, если запись в журнал добавлена успешно

time
time

Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error": "ERROR_EMPTY_LOG_MESSAGE",
    "error_description": "Empty log message!"
}

Название
тип

Описание

error
string

Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только error_description

error_description
string

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

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

Код

Сообщение об ошибке

Описание

ERROR_EMPTY_LOG_MESSAGE

Empty log message!

Не указан текст записи в журнал

ACCESS_DENIED

Access denied!

Невалидный или устаревший EVENT_TOKEN

Зависит от ошибки бизнес-процесса

Зависит от ошибки бизнес-процесса

Ошибка, которая возвращается из выполнения бизнес-процесса

Статусы и коды системных ошибок

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение

Следующая