Обновить пользовательский тип crm.type.update
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
crmКто может выполнять метод: любой пользователь с административным доступом к разделу CRM
Метод обновляет существующий смарт-процесс по его идентификатору id.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
id* |
Идентификатор смарт-процесса. Можно получить с помощью методов: |
|
fields |
Значения полей (подробное описание приведено ниже) для обновления смарт-процесса |
Параметр fields
|
Название |
Описание |
|
title |
Название смарт-процесса |
|
relations |
Объект, содержащий в себе связи к другим сущностям CRM. Структура описана объектом |
|
isUseInUserfieldEnabled |
Включено ли использование смарт-процесса в пользовательском поле |
|
linkedUserFields |
Набор пользовательских полей в которых должен отображаться данный смарт-процесс. Структура описана объектом |
|
isAutomationEnabled |
Включены ли роботы и триггеры |
|
isBeginCloseDatesEnabled |
Включены ли поля Дата начала и Дата завершения |
|
isBizProcEnabled |
Включено ли использование дизайнера бизнес процессов |
|
isCategoriesEnabled |
Включены ли свои воронки и туннели продаж |
|
isClientEnabled |
Включено ли поле Клиент. При включенной опции у смарт-процесса появляется предустановленная привязка к Контактам и Компаниям |
|
isDocumentsEnabled |
Включена ли печать документов |
|
isLinkWithProductsEnabled |
Включена ли привязка товаров каталога |
|
isMycompanyEnabled |
Включено ли поле Реквизиты вашей компании |
|
isObserversEnabled |
Включено ли поле Наблюдатели |
|
isRecyclebinEnabled |
Включено ли использование корзины |
|
isSetOpenPermissions |
Делать ли новые воронки доступными для всех |
|
isSourceEnabled |
Включены ли поля Источник и Дополнительно об источнике |
|
isStagesEnabled |
Включено ли использование своих стадий и канбана |
|
isExternal |
Является ли смарт-процесс вынесенным из CRM (привязанным к цифровому рабочему месту) Параметр устарел. Для работы с цифровыми рабочими местами используйте методы |
|
customSectionId |
Идентификатор цифрового рабочего места Параметр устарел. Для работы с цифровыми рабочими местами используйте методы |
|
customSections |
Массив цифровых рабочих мест Параметр устарел. Для работы с цифровыми рабочими местами используйте методы |
Примечание
Изменение полей настроек смарт-процесса происходит только при передаче изменяемых значений полей.
Например, если у смарт-процесса с id = 128 необходимо отключить функционал печати документов, то передаем следующие параметры:
{
"id": 128,
"fields": {
"isDocumentsEnabled": "N"
}
}
Связи
- Настройки необходимо передавать целиком, они полностью перезаписываются.
- Нельзя изменить настройки предустановленных связей (
iPredefined: true). Эти настройки можно не передавать в запросе. - Если при попытке сохранить переданные настройки связей возникнет ошибка, она не будет выведена. Настройки просто не сохранятся.
Примеры кода
-
У смарт-процесса с
id = 20:- Отключить следующие настройки:
- Роботы и триггеры
- Поля Дата начала и Дата завершения
- Поле Клиент
- Поле Наблюдатели
- Включить следующие настройки:
- Поля Источник и Дополнительно об источнике
- Использование своих стадий и канбана
- Включить отображение смарт-процесса в поле Задачи
cURL (Webhook)cURL (OAuth)JSPHPcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":20,"fields":{"isAutomationEnabled":"N","isBeginCloseDatesEnabled":"N","isClientEnabled":"N","isObserversEnabled":"N","isSourceEnabled":"Y","isStagesEnabled":"Y","isUseInUserfieldEnabled":"Y","linkedUserFields":{"TASKS_TASK|UF_CRM_TASK":"true"}}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.type.updatecurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":20,"fields":{"isAutomationEnabled":"N","isBeginCloseDatesEnabled":"N","isClientEnabled":"N","isObserversEnabled":"N","isSourceEnabled":"Y","isStagesEnabled":"Y","isUseInUserfieldEnabled":"Y","linkedUserFields":{"TASKS_TASK|UF_CRM_TASK":"true"}},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.type.updateBX24.callMethod( 'crm.type.update', { id: 20, fields: { isAutomationEnabled: "N", isBeginCloseDatesEnabled: "N", isClientEnabled: "N", isObserversEnabled: "N", isSourceEnabled: "Y", isStagesEnabled: "Y", isUseInUserfieldEnabled: "Y", linkedUserFields: { "TASKS_TASK|UF_CRM_TASK": "true", }, }, }, (result) => { if (result.error()) { console.error(result.error()); return; } console.info(result.data()); }, );require_once('crest.php'); $result = CRest::call( 'crm.type.update', [ 'id' => 20, 'fields' => [ 'isAutomationEnabled' => "N", 'isBeginCloseDatesEnabled' => "N", 'isClientEnabled' => "N", 'isObserversEnabled' => "N", 'isSourceEnabled' => "Y", 'isStagesEnabled' => "Y", 'isUseInUserfieldEnabled' => "Y", 'linkedUserFields' => [ "TASKS_TASK|UF_CRM_TASK" => "true", ], ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>'; - Отключить следующие настройки:
-
Допустим, у смарт-процесса с
id = 20необходимо- Удалить все привязанные к смарт-процессу сущности (
relations.parent) - Включить «показ в карточке» для
Лидов, к которым привязан смарт-процесс
Исходные relations в смарт-процессе:
{ "relations": { "parent": [ { "entityTypeId": 31, "isChildrenListEnabled": "N", "isPredefined": "N" } ], "child": [ { "entityTypeId": 1, "isChildrenListEnabled": "N", "isPredefined": "N" }, { "entityTypeId": 2, "isChildrenListEnabled": "N", "isPredefined": "N" } ] } }Итоговый запрос:
cURL (Webhook)cURL (OAuth)JSPHPcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":20,"fields":{"relations":{"parent":[],"child":[{"entityTypeId":1,"isChildrenListEnabled":"true"},{"entityTypeId":2,"isChildrenListEnabled":"false"}]}}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.type.updatecurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"id":20,"fields":{"relations":{"parent":[],"child":[{"entityTypeId":1,"isChildrenListEnabled":"true"},{"entityTypeId":2,"isChildrenListEnabled":"false"}]}},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.type.updateBX24.callMethod( 'crm.type.update', { id: 20, fields: { relations: { parent: [], child: [ { "entityTypeId": 1, "isChildrenListEnabled": "true", }, { "entityTypeId": 2, "isChildrenListEnabled": "false", } ], }, }, }, (result) => { if (result.error()) { console.error(result.error()); return; } console.info(result.data()); }, );require_once('crest.php'); $result = CRest::call( 'crm.type.update', [ 'id' => 20, 'fields' => [ 'relations' => [ 'parent' => [], 'child' => [ [ "entityTypeId" => 1, "isChildrenListEnabled" => "true", ], [ "entityTypeId" => 2, "isChildrenListEnabled" => "false", ] ], ], ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>'; - Удалить все привязанные к смарт-процессу сущности (
Обработка ответа
HTTP-статус: 200
{
"result": {
"type": {
"id": 20,
"title": "Смарт-процесс #3",
"code": "",
"createdBy": 1,
"entityTypeId": 1222,
"customSectionId": null,
"isCategoriesEnabled": "Y",
"isStagesEnabled": "Y",
"isBeginCloseDatesEnabled": "N",
"isClientEnabled": "N",
"isUseInUserfieldEnabled": "Y",
"isLinkWithProductsEnabled": "N",
"isMycompanyEnabled": "Y",
"isDocumentsEnabled": "N",
"isSourceEnabled": "Y",
"isObserversEnabled": "N",
"isRecyclebinEnabled": "N",
"isAutomationEnabled": "N",
"isBizProcEnabled": "N",
"isSetOpenPermissions": "Y",
"isPaymentsEnabled": "N",
"isCountersEnabled": "N",
"createdTime": "2024-07-08T17:24:47+02:00",
"updatedTime": "2024-07-09T20:55:37+02:00",
"updatedBy": 1,
"relations": {
"parent": [],
"child": [
{
"entityTypeId": 1,
"isChildrenListEnabled": "Y",
"isPredefined": "N"
},
{
"entityTypeId": 2,
"isChildrenListEnabled": "Y",
"isPredefined": "N"
}
]
},
"linkedUserFields": {
"CALENDAR_EVENT|UF_CRM_CAL_EVENT": "N",
"TASKS_TASK|UF_CRM_TASK": "Y",
"TASKS_TASK_TEMPLATE|UF_CRM_TASK": "N"
},
"customSections": []
}
},
"time": {
"start": 1720551426.116454,
"finish": 1720551426.816224,
"duration": 0.6997702121734619,
"processing": 0.20451998710632324,
"date_start": "2024-07-09T20:57:06+02:00",
"date_finish": "2024-07-09T20:57:06+02:00",
"operating": 0.2044668197631836
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Корневой элемент ответа. Содержит единственный ключ |
|
type |
Информация об обновленном смарт-процессе |
|
time |
Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error": 0,
"error_description": "Смарт-процесс не найден"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Статус |
Код |
Описание |
Значение |
|
|
|
Доступ запрещен |
Возникает, если у пользователя нет административных прав CRM |
|
|
|
Действие разрешено только интранет-пользователям |
Возникает, если пользователь не является интранет-пользователем |
|
|
|
Вы не можете изменить настройки смарт-процесса из-за ограничений вашего тарифа |
Смарт-процессы не доступны на вашем тарифе |
|
|
|
Выберите рабочее место, в котором будет находиться смарт-процесс |
При передаче |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически через 10 минут |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |
Продолжите изучение
- Смарт-процессы: обзор методов
- Создать новый пользовательский тип crm.type.add
- Получить пользовательский тип по id crm.type.get
- Получить пользовательский тип по entityTypeId crm.type.getByEntityTypeId
- Получить список пользовательских типов crm.type.list
- Удалить пользовательский тип crm.type.delete
- Получить поля пользовательского типа crm.type.fields