bizproc.activity.add
Добавить новое действие
Описание
Метод bizproc.activity.add добавляет новое действие для использования в бизнес-процессах.
Метод работает только в контексте приложения.
Каждый документ генерирует свой набор типов полей. Например, в CRM есть поле типа Адрес UF:address. Чтобы использовать этот тип поля в своих действиях, укажите тип документа CRM в DOCUMENT_TYPE и опишите свойства типа в PROPERTIES.
Параметры
CODE
string
обязательный
Внутренний идентификатор действия. Является уникальным в рамках приложения.
Допустимые символы — a-z, A-Z, 0-9, точка, дефис и нижнее подчеркивание _
HANDLER
string
обязательный
URL, на который действие будет отправлять данные через сервер очередей bitrix24.
В ссылке должен быть тот же домен, на котором установлено приложение
AUTH_USER_ID
integer
необязательный
Идентификатор пользователя, токен которого будет передан приложению
USE_SUBSCRIPTION
boolean
необязательный
Должно ли действие ожидать ответа от приложения. Возможные значения:
- Y — да
- N — нет
По умолчанию параметр пустой, что равнозначно ожиданию ответа приложения. Действие не ожидает ответа только при явном значении N
NAME
string
обязательный
Название действия.
Может быть строкой или ассоциативным массивом локализированных строк вида:
'NAME': {
'ru': 'название действия',
'en': 'action name',
...
},DESCRIPTION
string
необязательный
Описание действия.
Может быть строкой или ассоциативным массивом локализированных строк вида:
'DESCRIPTION': {
'ru': 'описание действия',
'en': 'action description',
...
},PROPERTIES
object
необязательный
Объект с параметрами действия. Содержит объекты, каждый из которых описывает параметр действия.
Системное название параметра должно начинаться с буквы и может содержать символы a-z, A-Z, 0-9 и нижнее подчеркивание _
RETURN_PROPERTIES
object
необязательный
Объект с дополнительными результатами действия. Содержит объекты, каждый из которых описывает параметр действия.
Параметр управляет возможностью действия ожидать ответа приложения и работать с данными, которые придут в ответе.
Системное название параметра должно начинаться с буквы и может содержать символы a-z, A-Z, 0-9 и нижнее подчеркивание _
DOCUMENT_TYPE
array
необязательный
Тип документа, который будет определять типы данных для параметров PROPERTIES и RETURN_PROPERTIES. Состоит из трех элементов типа строка:
- идентификатор модуля
- идентификатор объекта
- тип документа
Возможные варианты значений:
- Модуль CRM
['crm', 'CCrmDocumentLead', 'LEAD']— лиды
['crm', 'CCrmDocumentContact', 'CONTACT']— контакты
['crm', 'CCrmDocumentCompany', 'COMPANY']— компании
['crm', 'CCrmDocumentDeal', 'DEAL']— сделки
['crm', 'Bitrix\Crm\Integration\BizProc\Document\Quote', 'QUOTE']— коммерческие предложения
['crm', 'Bitrix\Crm\Integration\BizProc\Document\SmartInvoice', 'SMART_INVOICE']— счета
['crm', 'Bitrix\Crm\Integration\BizProc\Document\Dynamic', 'DYNAMIC_XXX']— смарт-процессы, где XXX — идентификатор смарт-процесса - Модуль Списки
['lists', 'BizprocDocument', 'iblock_XXX']— процессы в ленте новостей, где XXX — идентификатор информационного блока
['lists', 'Bitrix\Lists\BizprocDocumentLists', 'iblock_XXX']— списки в группах, где XXX — идентификатор информационного блока - Модуль Диск
['disk', 'Bitrix\Disk\BizProcDocument', 'STORAGE_XXX'], где XXX — идентификатор хранилища
FILTER
object
необязательный
Объект с правилами ограничения действия по типу документа и редакции.
Может содержать ключи:
- INCLUDE — массив правил, где действие будет отображено
- EXCLUDE — массив правил, где действие будет скрыто
Каждое правило в массиве может быть строкой или массивом типа документа в полном или частичном варианте.
Чтобы ограничить действие по редакции Битрикс24 укажите:
- b24 — для облака
- box — для коробки
Примеры:
1. Исключить действие для коробочного Битрикс24
FILTER: {
EXCLUDE: [ 'box' ]
}
- Отображать действие только для модуля Списки
FILTER: {
INCLUDE: [
['lists']
]
}
- Отображать действие только для модуля Списки и сделок из CRM
FILTER: {
INCLUDE: [
['lists'],
['crm', 'CCrmDocumentDeal']
]
}USE_PLACEMENT
boolean
необязательный
Дает возможность открывать дополнительные настройки действия в слайдере приложения. Возможные значения:
- Y — да
- N — нет
PLACEMENT_HANDLER
string
необязательный
URL обработчика встройки на стороне приложения. Обязательное, если USE_PLACEMENT = 'Y'
Объект PROPERTY
Name
string
необязательный
Наименование параметра
Description
string
необязательный
Описание параметра
Type
string
необязательный
Тип параметра. Базовые значения:
- bool — да или нет
- date — дата
- datetime — дата и время
- double — число
- file — файл
- int — целое число
- select — список
- string — строка
- text — текст
- user — пользователь
Options
array
необязательный
Массив значений параметра типа список 'TYPE': select' вида:
[
'value1': 'title1',
'value2': 'title2',
'value3': 'title3',
'value4': 'title4'
]Required
boolean
необязательный
Обязательность параметра. Возможные значения:
- Y — да
- N — нет
Multiple
boolean
необязательный
Множественность параметра. Возможные значения:
- Y — да
- N — нет
Default
any
необязательный
Значение параметра по умолчанию
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"CODE":"md5_action","HANDLER":"https://your_domain/ping.php","AUTH_USER_ID":1,"USE_SUBSCRIPTION":"Y","NAME":{"ru":"MD5 генератор","en":"MD5 generator"},"DESCRIPTION":{"ru":"Действие возвращает MD5 хеш от входящего параметра","en":"Activity returns MD5 hash of input parameter"},"PROPERTIES":{"inputString":{"Name":{"ru":"Входящая строка","en":"Input string"},"Description":{"ru":"Введите строку, которую вы хотите хешировать","en":"Input string for hashing"},"Type":"string","Required":"Y","Multiple":"N","Default":"{=Document:NAME}"}},"RETURN_PROPERTIES":{"outputString":{"Name":{"ru":"MD5","en":"MD5"},"Type":"string","Multiple":"N","Default":null}},"DOCUMENT_TYPE":["lists","BizprocDocument","iblock_164"],"FILTER":{"INCLUDE":[["lists"]]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/bizproc.activity.add
try
{
const response = await $b24.callMethod(
'bizproc.activity.add',
{
'CODE': 'md5_action',
'HANDLER': 'https://your_domain/ping.php',
'AUTH_USER_ID': 1,
'USE_SUBSCRIPTION': 'Y',
'NAME': {
'ru': 'MD5 генератор',
'en': 'MD5 generator'
},
'DESCRIPTION': {
'ru': 'Действие возвращает MD5 хеш от входящего параметра',
'en': 'Activity returns MD5 hash of input parameter'
},
'PROPERTIES': {
'inputString': {
'Name': {
'ru': 'Входящая строка',
'en': 'Input string'
},
'Description': {
'ru': 'Введите строку, которую вы хотите хешировать',
'en': 'Input string for hashing'
},
'Type': 'string',
'Required': 'Y',
'Multiple': 'N',
'Default': '{=Document:NAME}'
}
},
'RETURN_PROPERTIES': {
'outputString': {
'Name': {
'ru': 'MD5',
'en': 'MD5'
},
'Type': 'string',
'Multiple': 'N',
'Default': null
}
},
'DOCUMENT_TYPE': ['lists', 'BizprocDocument', 'iblock_164'],
'FILTER': {
INCLUDE: [
['lists']
]
}
}
);
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.add(
code="md5_action",
handler="https://example.com/ping.php",
name={
"ru": "MD5 генератор",
"en": "MD5 generator",
},
auth_user_id=1,
use_subscription=True,
description={
"ru": "Действие возвращает MD5 хеш от входящего параметра",
"en": "Activity returns MD5 hash of input parameter",
},
properties={
"inputString": {
"Name": {
"ru": "Входящая строка",
"en": "Input string",
},
"Description": {
"ru": "Введите строку, которую вы хотите хешировать",
"en": "Input string for hashing",
},
"Type": "string",
"Required": "Y",
"Multiple": "N",
"Default": "{=Document:NAME}",
},
},
return_properties={
"outputString": {
"Name": {
"ru": "MD5",
"en": "MD5",
},
"Type": "string",
"Multiple": "N",
"Default": None,
},
},
document_type=(
"lists",
"BizprocDocument",
"iblock_164",
),
filter={
"INCLUDE": [
[
"lists",
],
],
},
).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 {
$response = $b24Service
->core
->call(
'bizproc.activity.add',
[
'CODE' => 'md5_action',
'HANDLER' => 'https://your_domain/ping.php',
'AUTH_USER_ID' => 1,
'USE_SUBSCRIPTION' => 'Y',
'NAME' => [
'ru' => 'MD5 генератор',
'en' => 'MD5 generator'
],
'DESCRIPTION' => [
'ru' => 'Действие возвращает MD5 хеш от входящего параметра',
'en' => 'Activity returns MD5 hash of input parameter'
],
'PROPERTIES' => [
'inputString' => [
'Name' => [
'ru' => 'Входящая строка',
'en' => 'Input string'
],
'Description' => [
'ru' => 'Введите строку, которую вы хотите хешировать',
'en' => 'Input string for hashing'
],
'Type' => 'string',
'Required' => 'Y',
'Multiple' => 'N',
'Default' => '{=Document:NAME}'
]
],
'RETURN_PROPERTIES' => [
'outputString' => [
'Name' => [
'ru' => 'MD5',
'en' => 'MD5'
],
'Type' => 'string',
'Multiple' => 'N',
'Default' => null
]
],
'DOCUMENT_TYPE' => ['lists', 'BizprocDocument', 'iblock_164'],
'FILTER' => [
'INCLUDE' => [
['lists']
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'bizproc.activity.add',
{
'CODE': 'md5_action',
'HANDLER': 'https://your_domain/ping.php',
'AUTH_USER_ID': 1,
'USE_SUBSCRIPTION': 'Y',
'NAME': {
'ru': 'MD5 генератор',
'en': 'MD5 generator'
},
'DESCRIPTION': {
'ru': 'Действие возвращает MD5 хеш от входящего параметра',
'en': 'Activity returns MD5 hash of input parameter'
},
'PROPERTIES': {
'inputString': {
'Name': {
'ru': 'Входящая строка',
'en': 'Input string'
},
'Description': {
'ru': 'Введите строку, которую вы хотите хешировать',
'en': 'Input string for hashing'
},
'Type': 'string',
'Required': 'Y',
'Multiple': 'N',
'Default': '{=Document:NAME}'
}
},
'RETURN_PROPERTIES': {
'outputString': {
'Name': {
'ru': 'MD5',
'en': 'MD5'
},
'Type': 'string',
'Multiple': 'N',
'Default': null
}
},
'DOCUMENT_TYPE': ['lists', 'BizprocDocument', 'iblock_164'],
'FILTER': {
INCLUDE: [
['lists']
]
}
},
function(result)
{
if(result.error())
alert("Error: " + result.error());
else
alert("Success: " + result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'bizproc.activity.add',
[
'CODE' => 'md5_action',
'HANDLER' => 'https://your_domain/ping.php',
'AUTH_USER_ID' => 1,
'USE_SUBSCRIPTION' => 'Y',
'NAME' => [
'ru' => 'MD5 генератор',
'en' => 'MD5 generator'
],
'DESCRIPTION' => [
'ru' => 'Действие возвращает MD5 хеш от входящего параметра',
'en' => 'Activity returns MD5 hash of input parameter'
],
'PROPERTIES' => [
'inputString' => [
'Name' => [
'ru' => 'Входящая строка',
'en' => 'Input string'
],
'Description' => [
'ru' => 'Введите строку, которую вы хотите хешировать',
'en' => 'Input string for hashing'
],
'Type' => 'string',
'Required' => 'Y',
'Multiple' => 'N',
'Default' => '{=Document:NAME}'
]
],
'RETURN_PROPERTIES' => [
'outputString' => [
'Name' => [
'ru' => 'MD5',
'en' => 'MD5'
],
'Type' => 'string',
'Multiple' => 'N',
'Default' => null
]
],
'DOCUMENT_TYPE' => ['lists', 'BizprocDocument', 'iblock_164'],
'FILTER' => [
'INCLUDE' => [
['lists']
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "bizproc.activity.add", b24.Params{
"CODE": "md5_action",
"HANDLER": "https://your_domain/ping.php",
"AUTH_USER_ID": 1,
"USE_SUBSCRIPTION": "Y",
"NAME": b24.Params{
"ru": "MD5 генератор",
"en": "MD5 generator",
},
"DESCRIPTION": b24.Params{
"ru": "Действие возвращает MD5 хеш от входящего параметра",
"en": "Activity returns MD5 hash of input parameter",
},
"PROPERTIES": b24.Params{
"inputString": b24.Params{
"Name": b24.Params{
"ru": "Входящая строка",
"en": "Input string",
},
"Description": b24.Params{
"ru": "Введите строку, которую вы хотите хешировать",
"en": "Input string for hashing",
},
"Type": "string",
"Required": "Y",
"Multiple": "N",
"Default": "{=Document:NAME}",
},
},
"RETURN_PROPERTIES": b24.Params{
"outputString": b24.Params{
"Name": b24.Params{
"ru": "MD5",
"en": "MD5",
},
"Type": "string",
"Multiple": "N",
"Default": nil,
},
},
"DOCUMENT_TYPE": []string{"lists", "BizprocDocument", "iblock_164"},
"FILTER": b24.Params{
"INCLUDE": []any{
[]string{"lists"},
},
},
})
if err != nil {
return fmt.Errorf("bizproc.activity.add: %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": 1738148752.692647,
"finish": 1738148752.749058,
"duration": 0.056411027908325195,
"processing": 0.018677949905395508,
"date_start": "2025-01-29T14:05:52+03:00",
"date_finish": "2025-01-29T14:05:52+03:00",
"operating_reset_at": 1738149352,
"operating": 0
}
}
Возвращаемые данные
result
boolean
Возвращает true, если действие добавлено успешно
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_ACTIVITY_VALIDATION_FAILURE",
"error_description": "Empty activity code!"
}
| Код | Описание | Значение |
|---|---|---|
ACCESS_DENIED |
Application context required | Необходим контекст приложения |
ACCESS_DENIED |
Access denied! | Метод выполнил не администратор |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Empty data! | Не указаны поля с информацией |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Empty activity code! | Не указан код действия |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Wrong activity code! | Некорректный код действия |
ERROR_UNSUPPORTED_PROTOCOL |
Unsupported handler protocol | Некорректный протокол хендлера http, https |
ERROR_WRONG_HANDLER_URL |
Wrong handler URL | Невалидный урл хендлера |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Empty activity NAME! | Не указано название действия |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Wrong properties array! | Некорректно заполнены параметры PROPERTIES или RETURN_PROPERTIES |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Wrong property key <ключ>! | Некорректный идентификатор свойства |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Empty property NAME <ключ>! | Не указано название свойства |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Wrong activity FILTER! | Некорректный фильтр |
ERROR_ACTIVITY_VALIDATION_FAILURE |
Wrong activity DOCUMENT_TYPE! | Некорректный DOCUMENT_TYPE |
ERROR_ACTIVITY_ALREADY_INSTALLED |
Activity or Robot already installed! | Действие с таким кодом уже установлено |
ERROR_ACTIVITY_ADD_FAILURE |
Activity or Robot already added! | Действие уже было добавлено |
ERROR_ACTIVITY_ADD_FAILURE |
Activity save error! | Не удалось сохранить действие, системная ошибка |

