Блог Горошко Андрея Bitrix24,PHP Изменить цифровое рабочее место crm.automatedsolution.update

Изменить цифровое рабочее место crm.automatedsolution.update

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Изменить цифровое рабочее место crm.automatedsolution.update», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Изменить цифровое рабочее место crm.automatedsolution.update

  • здесь есть ссылка на файл data-types, надо проверить что там описан тип crm_dynamic_type (из смарт-процессов)

> Scope: crm
>
> Кто может выполнять метод: пользователи с административным доступом к разделу crm

Метод обновляет существующие настройки цифрового рабочего места с идентификатором id. Если какое-то из полей не было передано, его значение останется прежним.

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

Название
тип
Описание
id
integer
Идентификатор цифрового рабочего места. Может быть получен из ответа метода crm.automatedsolution.add (result.automatedSolution.id), который был вызван при добавлении цифрового рабочего места, или crm.automatedsolution.list. Так же можно воспользоваться разделом «Цифровые рабочие места» на портале Битрикс24 — колонка ID в списке цифровых рабочих мест
fields
object
Значения полей (подробное описание приведено ниже) для создания цифрового рабочего места в виде структуры:

"fields": {
    "title": "значение",
    "typeIds": []
}

Параметр fields

Название
тип
Описание
title
string
Название цифрового рабочего места.

Будьте внимательны с изменением поля title. Так как ссылка на цифровое рабочее место строится на основании названия, при его изменении изменится и ссылка на цифровое рабочее место

typeIds
crm_dynamic_type.id[]
Массив идентификаторов смарт-процессов, которые нужно привязать к этому рабочему месту.

Чтобы изменить список привязанных смарт-процессов, нужно передать поле typeIds с желаемым набором смарт-процессов.

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

Примеры кода

1. Изменить название цифрового рабочего места

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"title":"HR & Customer Success"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.update
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"title":"HR & Customer Success"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.update
  • JS
        BX24.callMethod(
            'crm.automatedsolution.update',
            {
                "id": 238,
                "fields": {
                    "title": "HR & Customer Success"
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.update',
            [
                'id' => 238,
                'fields' =>
                [
                    'title' => 'HR & Customer Success'
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

2. Изменить список привязанных смарт-процессов

Допустим к цифровому рабочему месту с id = 267 были привязаны два смарт-процесса — один с id = 14, а другой — с id = 158. Если мы хотим, чтобы в цифровом рабочем месте остался только один смарт-процесс, то передаем поле typeIds, содержащее только нужные смарт-процессы:

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"typeIds":[14]}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.update
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"typeIds":[14]},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.update
  • JS
        BX24.callMethod(
            'crm.automatedsolution.update',
            {
                "id": 238,
                "fields": {
                    "typeIds": [
                        14
                    ]
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.update',
            [
                'id' => 238,
                'fields' =>
                [
                    'typeIds' => [14]
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

3. Отвязать все смарт-процессы

Чтобы отвязать все смарт-процессы от цифрового рабочего места, нужно передать пустой массив в качестве typeIds.

  • cURL (Webhook)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"typeIds":[]}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.automatedsolution.update
  • cURL (OAuth)
        curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":238,"fields":{"typeIds":[]},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.automatedsolution.update
  • JS
        BX24.callMethod(
            'crm.automatedsolution.update',
            {
                "id": 238,
                "fields": {
                    "typeIds": []
                }
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error());
                } else {
                    console.info(result.data());
                }
            }
        );
  • PHP
        require_once('crest.php');

        $result = CRest::call(
            'crm.automatedsolution.update',
            [
                'id' => 238,
                'fields' =>
                [
                    'typeIds' => []
                ]
            ]
        );

        echo '<PRE>';
        print_r($result);
        echo '</PRE>';

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

HTTP-статус: 200

{
    "result": {
        "automatedSolution": {
            "id": 1,
            "title": "HR",
            "typeIds": [
                1,
                2,
                3
            ]
        }
    },
    "time": {
        "start": 1715849396.642359,
        "finish": 1715849396.954623,
        "duration": 0.31226396560668945,
        "processing": 0.0068209171295166016,
        "date_start": "2024-05-16T11:49:56+03:00",
        "date_finish": "2024-05-16T11:49:56+03:00",
        "operating_reset_at": 1715849996,
        "operating": 0
    }
}

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

Название
тип
Описание
result
object
Корневой элемент ответа
automatedSolution
object
Объект с информацией об обновленном цифровом рабочем месте
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error":"BX_EMPTY_REQUIRED",
    "error_description":"Не заполнено обязательное поле"
}

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

КодОписание
ACCESS_DENIEDНедостаточно прав
BX_EMPTY_REQUIREDНе заполнено обязательное поле
  • [](./index)
  • [](./crm-automated-solution-add)
  • [](./crm-automated-solution-get)
  • [](./crm-automated-solution-list)
  • [](./crm-automated-solution-delete)
  • [](./crm-automated-solution-fields)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Изменить цифровое рабочее место crm.automatedsolution.update»:

Использование современных стандартов D7 при работе с crm.automatedsolution.update позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Как использовать $APPLICATION->GetProperty() в 1С-Битрикс: пример кодаКак использовать $APPLICATION->GetProperty() в 1С-Битрикс: пример кода

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать $APPLICATION->GetProperty() в 1С-Битрикс: пример кода». Мы подготовили подробный разбор принципов работы и развернутые

Как использовать метод SDK crm.requisite.preset.list в Битрикс24Как использовать метод SDK crm.requisite.preset.list в Битрикс24

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Как использовать метод SDK crm.requisite.preset.list в Битрикс24», проанализируем

Как использовать метод SDK task.commentitem.getlist в Битрикс24Как использовать метод SDK task.commentitem.getlist в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK task.commentitem.getlist в Битрикс24», разберем