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

Scope: crm

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

Метод crm.activity.configurable.update вносит изменения в конфигурируемое дело.

Важно

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

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

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

Название
тип

Описание

id*
integer

Целочисленный идентификатор дела, например 999

fields*
array

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

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

layout*
LayoutDto

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

Примеры кода

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

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":999,"fields":{"typeId":"CONFIGURABLE","completed":false,"deadline":"**put_current_date_time_here**","pingOffsets":[300],"isIncomingChannel":"Y","responsibleId":5,"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.update
        
try
        {
        	const response = await $b24.callMethod(
        		"crm.activity.configurable.update",
        		{
        			id: 999,
        			fields:
        			{
        				typeId: 'CONFIGURABLE',
        				completed: false,
        				deadline: new Date(),
        				pingOffsets: [300],
        				isIncomingChannel: 'Y',
        				responsibleId: 5,
        				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.update',
                    [
                        'id'     => 999,
                        'fields' => [
                            'typeId'            => 'CONFIGURABLE',
                            'completed'         => false,
                            'deadline'          => new DateTime(),
                            'pingOffsets'       => [300],
                            'isIncomingChannel' => 'Y',
                            'responsibleId'     => 5,
                            '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 updating configurable activity: ' . $e->getMessage();
        }
        
BX24.callMethod(
            "crm.activity.configurable.update",
            {
                id: 999,
                fields:
                {
                    typeId: 'CONFIGURABLE',
                    completed: false,
                    deadline: new Date(),
                    pingOffsets: [300],
                    isIncomingChannel: 'Y',
                    responsibleId: 5,
                    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.update',
            [
                'id' => 999,
                'fields' => [
                    'typeId' => 'CONFIGURABLE',
                    'completed' => false,
                    'deadline' => date('c'), // Используем текущую дату и время в формате ISO 8601
                    'pingOffsets' => [300],
                    'isIncomingChannel' => 'Y',
                    'responsibleId' => 5,
                    '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

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

NOT_FOUND

Элемент не найден

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

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

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