Добавить конфигурируемое дело crm.activity.configurable.add

Scope: crm

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

Метод crm.activity.configurable.add добавляет конфигурируемое дело в таймлайн.

Важно

Вызов метода возможен только в контексте приложения.

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

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

Название
тип

Описание

ownerTypeId*
integer

Целочисленный идентификатор типа собъекта CRM, в котором создаем дело, например 2 для сделки

ownerId*
integer

Целочисленный идентификатор элемента CRM, в котором создаем дело, например 1

fields*
array

Ассоциативный массив значений полей дела в виде структуры:

fields:
        {
            "typeId": 'значение',
            "completed": 'значение',
            "deadline": 'значение',
            "pingOffsets": 'значение',
            "isIncomingChannel": 'значение',
            "responsibleId": 'значение',
            "badgeCode": 'значение',
            "originatorId": 'значение',
            "originId": 'значение',
        }
        

layout*
LayoutDto

Ассоциативный массив особой структуры, описывающий внешний вид дела в таймлайне

Параметр fields

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

Название
тип

Описание

typeId
string

Тип конфигурируемого дела. Если значение не указано, то оно устанавливается в значение по умолчанию CONFIGURABLE. Если указано, то значение должно соответствовать одному из типов, созданных методом crm.activity.type.add с полем IS_CONFIGURABLE_TYP0 равным Y в контексте того же приложения

completed
boolean

Флаг, говорящий закрыто ли дело. Для установки значения можно использовать Y/N, 1/0, true/false

deadline
datetime

Крайний срок исполнения дела

pingOffsets
array

Массив смещений в минутах относительно крайнего срока, определяющий когда нужно сформировать записи-пинги по этому делу

isIncomingChannel
boolean

Флаг, говорящий создано ли дело из входящего канала. Для установки значения можно использовать Y/N, 1/0, true/false

responsibleId
integer

Ответственный за дело

badgeCode
string

Код значка на канбане, соответствующего делу

originatorId
string

Идентификатор источника данных

originId
string

Идентификатор элемента в источнике данных

Примеры кода

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

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"ownerTypeId":1,"ownerId":999,"fields":{"typeId":"CONFIGURABLE","completed":true,"deadline":"**put_current_date_time_here**","pingOffsets":[60,300],"isIncomingChannel":"N","responsibleId":1,"badgeCode":"CUSTOM"},"layout":{"icon":{"code":"call-completed"},"header":{"title":"Входящий звонок"},"body":{"logo":{"code":"call-incoming"},"blocks":{"responsible":{"type":"lineOfBlocks","properties":{"blocks":{"client":{"type":"link","properties":{"text":"Сергей Востриков","bold":true,"action":{"type":"redirect","uri":"/crm/lead/details/789/"}}},"phone":{"type":"text","properties":{"value":"+7 999 888 7777"}}}}}}},"footer":{"buttons":{"startCall":{"title":"О клиенте","action":{"type":"openRestApp","actionParams":{"clientId":456}},"type":"primary"}}}},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.activity.configurable.add
        
try
        {
        	const response = await $b24.callMethod(
        		"crm.activity.configurable.add",
        		{
        			ownerTypeId: 1,
        			ownerId: 999,
        			fields:
        			{
        				typeId: 'CONFIGURABLE',
        				completed: true,
        				deadline: new Date(),
        				pingOffsets: [60, 300],
        				isIncomingChannel: 'N',
        				responsibleId: 1,
        				badgeCode: 'CUSTOM',
        			},
        			layout:
        			{
        				"icon": {
        					"code": "call-completed"
        				},
        				"header": {
        					"title": "Входящий звонок"
        				},
        				"body": {
        					"logo": {
        						"code": "call-incoming"
        					},
        					"blocks": {
        						"responsible": {
        							"type": "lineOfBlocks",
        							"properties": {
        								"blocks": {
        									"client": {
        										"type": "link",
        										"properties": {
        											"text": "Сергей Востриков",
        											"bold": true,
        											"action": {
        												"type": "redirect",
        												"uri": "/crm/lead/details/789/"
        											}
        										}
        									},
        									"phone": {
        										"type": "text",
        										"properties": {
        											"value": "+7 999 888 7777"
        										}
        									}
        								}
        							}
        						}
        					}
        				},
        				"footer": {
        					"buttons": {
        						"startCall": {
        							"title": "О клиенте",
        							"action": {
        								"type": "openRestApp",
        								"actionParams": {
        									"clientId": 456
        								}
        							},
        							"type": "primary"
        						}
        					}
        				}
        			}
        		}
        	);
        	
        	const result = response.getData().result;
        	console.dir(result);
        }
        catch( error )
        {
        	console.error(error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'crm.activity.configurable.add',
                    [
                        'ownerTypeId' => 1,
                        'ownerId' => 999,
                        'fields' => [
                            'typeId' => 'CONFIGURABLE',
                            'completed' => true,
                            'deadline' => new DateTime(),
                            'pingOffsets' => [60, 300],
                            'isIncomingChannel' => 'N',
                            'responsibleId' => 1,
                            'badgeCode' => 'CUSTOM',
                        ],
                        'layout' => [
                            'icon' => [
                                'code' => 'call-completed',
                            ],
                            'header' => [
                                'title' => 'Входящий звонок',
                            ],
                            'body' => [
                                'logo' => [
                                    'code' => 'call-incoming',
                                ],
                                'blocks' => [
                                    'responsible' => [
                                        'type' => 'lineOfBlocks',
                                        'properties' => [
                                            'blocks' => [
                                                'client' => [
                                                    'type' => 'link',
                                                    'properties' => [
                                                        'text' => 'Сергей Востриков',
                                                        'bold' => true,
                                                        'action' => [
                                                            'type' => 'redirect',
                                                            'uri' => '/crm/lead/details/789/',
                                                        ],
                                                    ],
                                                ],
                                                'phone' => [
                                                    'type' => 'text',
                                                    'properties' => [
                                                        'value' => '+7 999 888 7777',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'footer' => [
                                'buttons' => [
                                    'startCall' => [
                                        'title' => 'О клиенте',
                                        'action' => [
                                            'type' => 'openRestApp',
                                            'actionParams' => [
                                                'clientId' => 456,
                                            ],
                                        ],
                                        'type' => 'primary',
                                    ],
                                ],
                            ],
                        ],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Success: ' . print_r($result, true);
            // Нужная вам логика обработки данных
            processData($result);
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error adding configurable activity: ' . $e->getMessage();
        }
        
BX24.callMethod(
            "crm.activity.configurable.add",
            {
                ownerTypeId: 1,
                ownerId: 999,
                fields:
                {
                    typeId: 'CONFIGURABLE',
                    completed: true,
                    deadline: new Date(),
                    pingOffsets: [60, 300],
                    isIncomingChannel: 'N',
                    responsibleId: 1,
                    badgeCode: 'CUSTOM',
                },
                layout:
                {
                    "icon": {
                        "code": "call-completed"
                    },
                    "header": {
                        "title": "Входящий звонок"
                    },
                    "body": {
                        "logo": {
                            "code": "call-incoming"
                        },
                        "blocks": {
                            "responsible": {
                                "type": "lineOfBlocks",
                                "properties": {
                                    "blocks": {
                                        "client": {
                                            "type": "link",
                                            "properties": {
                                                "text": "Сергей Востриков",
                                                "bold": true,
                                                "action": {
                                                    "type": "redirect",
                                                    "uri": "/crm/lead/details/789/"
                                                }
                                            }
                                        },
                                        "phone": {
                                            "type": "text",
                                            "properties": {
                                                "value": "+7 999 888 7777"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "footer": {
                        "buttons": {
                            "startCall": {
                                "title": "О клиенте",
                                "action": {
                                    "type": "openRestApp",
                                    "actionParams": {
                                        "clientId": 456
                                    }
                                },
                                "type": "primary"
                            }
                        }
                    }
                }
            }, result => {
                if (result.error())
                    console.error(result.error());
                else
                    console.dir(result.data());
            }    
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'crm.activity.configurable.add',
            [
                'ownerTypeId' => 1,
                'ownerId' => 999,
                'fields' => [
                    'typeId' => 'CONFIGURABLE',
                    'completed' => true,
                    'deadline' => date('c'), // Используем текущую дату и время в формате ISO 8601
                    'pingOffsets' => [60, 300],
                    'isIncomingChannel' => 'N',
                    'responsibleId' => 1,
                    'badgeCode' => 'CUSTOM',
                ],
                'layout' => [
                    'icon' => [
                        'code' => 'call-completed'
                    ],
                    'header' => [
                        'title' => 'Входящий звонок'
                    ],
                    'body' => [
                        'logo' => [
                            'code' => 'call-incoming'
                        ],
                        'blocks' => [
                            'responsible' => [
                                'type' => 'lineOfBlocks',
                                'properties' => [
                                    'blocks' => [
                                        'client' => [
                                            'type' => 'link',
                                            'properties' => [
                                                'text' => 'Сергей Востриков',
                                                'bold' => true,
                                                'action' => [
                                                    'type' => 'redirect',
                                                    'uri' => '/crm/lead/details/789/'
                                                ]
                                            ]
                                        ],
                                        'phone' => [
                                            'type' => 'text',
                                            'properties' => [
                                                'value' => '+7 999 888 7777'
                                            ]
                                        ]
                                    ]
                                ]
                            ]
                        ]
                    ],
                    'footer' => [
                        'buttons' => [
                            'startCall' => [
                                'title' => 'О клиенте',
                                'action' => [
                                    'type' => 'openRestApp',
                                    'actionParams' => [
                                        'clientId' => 456
                                    ]
                                ],
                                'type' => 'primary'
                            ]
                        ]
                    ]
                ]
            ]
        );
        
        if (isset($result['error'])) {
            echo 'Ошибка: ' . $result['error_description'];
        } else {
            echo '<PRE>';
            print_r($result['result']);
            echo '</PRE>';
        }
        

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

HTTP-статус: 200

{
            "result": {
        		"activity": {
        			"id": 999,
        		},
            "time": {
                "start": 1724068028.331234,
                "finish": 1724068028.726591,
                "duration": 0.3953571319580078,
                "processing": 0.13033390045166016,
                "date_start": "2025-01-21T13:47:08+02:00",
                "date_finish": "2025-01-21T13:47:08+02:00",
                "operating": 0
                }
            }
        }
        

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

Название
тип

Описание

result
object

Корневой элемент ответа, содержащий информацию о добавленном идентифокаторе дела id в случае успеха. В случае неудачи вернет null

time
time

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

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

HTTP-статус: 400

{
            "error": "NOT_FOUND",
            "error_description": "Not found."
        }
        

Название
тип

Описание

error
string

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

error_description
error_description

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

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

Код

Описание

ACCESS_DENIED

Недостаточно прав для выполнения операции

100

Не заполнены обязательные поля

ERROR_WRONG_CONTEXT

Вызов метода возможен только в контексте приложения

ERROR_WRONG_APPLICATION

Обновить дело может только приложение, которое его создало

WRONG_FIELD_VALUE

Некорректное значение поля

INCOMING_ACTIVITY_CAN_NOT_BE_WITH_DEADLINE

Входящее дело не может иметь крайний срок

ERROR_EMPTY_LAYOUT

Поле layout должно быть заполнено

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

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

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

Описание

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

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

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

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

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

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

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

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

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

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

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