Блог Горошко Андрея Bitrix24,PHP Обновить состав списка обзвона crm.calllist.update

Обновить состав списка обзвона crm.calllist.update

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Обновить состав списка обзвона crm.calllist.update», проанализируем лучшие практики и покажем, как правильно использовать crm.calllist.update в реальных задачах.

Обновить состав списка обзвона crm.calllist.update

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

Метод crm.calllist.update позволяет добавить или удалить участников в существующем списке обзвона, и обновить связанную CRM-форму.

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

Название
тип
Описание
LIST_ID
integer
Идентификатор обзвона
ENTITY_TYPE
string
Тип объекта:
— CONTACT — контакт,
— COMPANY — компания
ENTITIES*
array
Массив ID контактов или компаний, получить можно методом crm.item.list
WEBFORM_ID
integer
ID CRM-формы, которая будет выводиться в форме обзвона.
ID можно найти в списке форм Битрикс24 https://your-domain.ru/crm/webform/

Особенности работы метода

Метод перезаписывает массив ENTITIES. Чтобы добавить элемент, включите в запрос и текущие, и новые ID:

1. Текущие ID: [1,2,3].
2. Новые ID: [4].
3. Передать: [1,2,3,4].

Чтобы удалить элемент, передайте только те ID, которые должны остаться в списке:

4. Текущие ID: [1,2,3].
5. Удалить: [2].
6. Передать: [1,3].

Метод перезаписывает поле WEBFORM_ID. Если при вызове метода не передавать поле WEBFORM_ID, поле будет очищено.

Примеры кода

  • cURL (Webhook)
    curl -X POST \
         -H "Content-Type: application/json" \
         -d '{"LIST_ID":123,"ENTITY_TYPE":"CONTACT","ENTITIES":[1,2,3],"WEBFORM_ID":5}' \
         https://**your_bitrix24**/rest/**user_id**/**webhook**/crm.calllist.update
  • cURL (OAuth)
    curl -X POST \
         -H "Content-Type: application/json" \
         -d '{"LIST_ID":123,"ENTITY_TYPE":"CONTACT","ENTITIES":[1,2,3],"WEBFORM_ID":5,"auth":"**put_access_token_here**"}' \
         https://**your_bitrix24**/rest/crm.calllist.update
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'crm.calllist.update',
    		{
    			LIST_ID: 123,
    			ENTITY_TYPE: 'CONTACT',
    			ENTITIES: [1, 2, 3],
    			WEBFORM_ID: 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.calllist.update',
                [
                    'LIST_ID'     => 123,
                    'ENTITY_TYPE' => 'CONTACT',
                    'ENTITIES'    => [1, 2, 3],
                    'WEBFORM_ID'  => 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 call list: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "crm.calllist.update",
        {
            LIST_ID: 123,
            ENTITY_TYPE: "CONTACT",
            ENTITIES: [1,2,3],
            WEBFORM_ID: 5
        },
        function(result) {
            if(result.error())
                console.error(result.error());
            else
                console.dir(result.data());
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.calllist.update',
        [
            'LIST_ID' => 123,
            'ENTITY_TYPE' => 'CONTACT',
            'ENTITIES' => [1,2,3],
            'WEBFORM_ID' => 5
        ]
    );

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

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1752562914.533195,
        "finish": 1752562914.606445,
        "duration": 0.07325005531311035,
        "processing": 0.044027090072631836,
        "date_start": "2025-07-15T10:01:54+03:00",
        "date_finish": "2025-07-15T10:01:54+03:00",
        "operating_reset_at": 1752563514,
        "operating": 0
    }
}

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

Название
тип
Описание
result
boolean
Корневой элемент ответа, содержит true в случае успеха
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error": "Invalid parameters.",
    "error_description": "Переданы некорректные параметры."
}

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

КодОписаниеЗначение
400Invalid parametersПереданы некорректные параметры
400Incorrect entity typeУказан неподдерживаемый тип объекта
400Entities is not arrayПараметр ENTITIES не является массивом
400Incorrect entities idПереданы некорректные ID элементов
400Incorrect list id or access deniedНекорректный идентификатор списка или нет доступа
400Discrepancy between the type of call participants and incoming typeНесовпадение типа участников и переданного типа
400Incorrect webform idНекорректный ID CRM-формы
  • [](./crm-calllist-add)
  • [](./crm-calllist-get)
  • [](./crm-calllist-items-get)
  • [](./crm-calllist-list)
  • [](./crm-calllist-statuslist)

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

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

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

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

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

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

Related Post

Как использовать Csite::Update() в 1С-Битрикс: пример кодаКак использовать Csite::Update() в 1С-Битрикс: пример кода

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Как использовать Csite::Update() в 1С-Битрикс: пример кода», проанализируем

Получить список пользовательских типов дел crm.activity.type.listПолучить список пользовательских типов дел crm.activity.type.list

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить список пользовательских типов дел crm.activity.type.list». Мы подготовили подробный разбор принципов работы и развернутые примеры

Создание дилерского кабинета для производителей светотехники и светильниковСоздание дилерского кабинета для производителей светотехники и светильников

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Создание