Блог Горошко Андрея Bitrix24,PHP Обновить ответственного за универсальное дело crm.activity.todo.updateRespons…

Обновить ответственного за универсальное дело crm.activity.todo.updateRespons…

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

Обновить ответственного за универсальное дело crm.activity.todo.updateResponsibleUser

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

Метод crm.activity.todo.updateResponsibleUser обновляет ответственного за универсальное дело.

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

Название
тип
Описание
id
integer
Идентификатор обновляемого дела, например 999
ownerTypeId
integer
Идентификатор типа объекта CRM, к которому привязано дело, например 2 для сделки
ownerId
integer
Идентификатор элемента CRM, к которому привязано дело, например 1
responsibleId
integer
Идентификатор пользователя, который станет ответственным за дело, например 1

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":999,"ownerTypeId":2,"ownerId":1,"responsibleId":5}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.activity.todo.updateResponsibleUser
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":999,"ownerTypeId":2,"ownerId":1,"responsibleId":5,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.activity.todo.updateResponsibleUser
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'crm.activity.todo.updateResponsibleUser',
    		{
    			id: 999,
    			ownerTypeId: 2,
    			ownerId: 1,
    			responsibleId: 5
    		}
    	);
    	
    	const result = response.getData().result;
    	if (result.error())
    		console.error(result.error());
    	else
    		console.dir(result);
    }
    catch( error )
    {
    	console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.activity.todo.updateResponsibleUser',
                [
                    'id'           => 999,
                    'ownerTypeId'  => 2,
                    'ownerId'      => 1,
                    'responsibleId' => 5
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating responsible user: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "crm.activity.todo.updateResponsibleUser",
        {
            id: 999,
            ownerTypeId: 2,
            ownerId: 1,
            responsibleId: 5
        }, 
        result => {
            if (result.error())
                console.error(result.error());
            else
                console.dir(result.data());
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.activity.todo.updateResponsibleUser',
        [
            'id' => 999,
            'ownerTypeId' => 2,
            'ownerId' => 1,
            'responsibleId' => 5
        ]
    );

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

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

HTTP-статус: 200

{
    "result": {
        "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."
}

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

КодОписание
100Не переданы обязательные поля
NOT_FOUNDЭлемент CRM не найден
ACCESS_DENIEDНедостаточно прав для выполнения операции
OWNER_NOT_FOUNDВладелец элемента не найден
CAN_NOT_UPDATE_RESPONSIBLE_USER_COMPLETED_TODOНевозможно изменить ответственного в закрытом деле
INVALID_ARG_VALUEParameter «responsibleId» must be greater than 0
  • [](./crm-activity-todo-add)
  • [](./crm-activity-todo-update)
  • [](./crm-activity-todo-update-deadline)
  • [](./crm-activity-todo-update-description)
  • [](./crm-activity-todo-update-color)

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

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к crm.activity.todo.updateResponsibleUser, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Обновить ответственного за универсальное дело crm.activity.todo.updateRespons…».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

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

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

Получить список полей шаблонов documentgenerator.template.getfieldsПолучить список полей шаблонов documentgenerator.template.getfields

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список полей шаблонов documentgenerator.template.getfields». Вы узнаете экспертные методики работы с documentgenerator.template.getfields и

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

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