Блог Горошко Андрея Bitrix24 Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod

Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod

Отправка запроса

void BX24.callMethod(
    String method,
    Object params[,
        Function callback
    ]
);

Метод BX24.callMethod вызывает указанный метод REST-сервиса с заданными параметрам. В качестве параметров метода выступает объект params, представляющий собой ассоциативный массив, преобразуемый в строку POST-запроса. Значениями элементов массива могут быть строки или ссылки на DOM-элементы полей формы (см. отправку файлов ниже).

В случае вызова до BX24.init выполнение запроса будет отложено.

Входящие параметры и конфигурация метода

Название
тип
Описание
method*
string
Название метода REST API, который будет вызван
params
object
Параметры, передаваемые в метод. Должны соответствовать ожидаемым параметрам вызываемого метода
callback
function
Функция обратного вызова, которая будет выполнена после получения ответа от сервера

Практический пример и готовый код на PHP

BX24.init(() => {
    BX24.callMethod('user.get', { ID: 10 }, (result) => {
        if (result.error())
        {
            console.error(result.error());
        }
        else if (result.data())
        {
            const user = result.data()[0];
            if (user)
            {
                alert('Пользователя №' + user.ID + ' зовут ' + user.NAME);
            }
        }
    });
});

Предупреждение
В коробочных версиях методы REST вызываются через метод BX.rest.callMethod(), а не через BX24.callMethod().

Обработка результата запроса {#ajax-result}

Обработчиком результата запроса является функция. Она получает на вход объект ajaxResult, который предоставляет следующие методы:

  • data() — возвращает данные ответа метода. Тип возвращаемых данных может быть массивом, объектом или скалярным значением, в зависимости от конкретного метода API
  • error() — возвращает объект ошибки, если ошибка присутствует, и undefined в противном случае. Объект ошибки содержит поля status и ex, где ex включает в себя error и error_description
  • more() — возвращает true, если есть еще данные для загрузки, и false в противном случае. Применимо, если метод возвращает список данных
  • total() — возвращает общее количество доступных записей. Применимо, если метод возвращает список данных
  • time() — возвращает объект с информацией о времени выполнения запроса. Может возвращать undefined, в случае если информация недоступна.
  • next(cb: Function) — запрашивает следующую страницу данных. Если передана функция cb, она будет использована в качестве обработчика результата для следующего запроса. Возвращает false, если больше нет данных для загрузки, или объект XMLHttpRequest, если запрос был инициирован.

Пример получения постраничного списка пользователей

BX24.init(() => {
    BX24.callMethod('user.get', { sort: 'ID', order: 'ASC' }, (result) => {
        if (result.error())
        {
            alert('Ошибка запроса: ' + result.error());
        }
        else
        {
            console.log(result.data());
            if (result.more())
            {
                result.next();
            }
        }
    });
});
  • [](./bx24-call-bind)
  • [](./bx24-call-unbind)
  • [](./bx24-call-batch)

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

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

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

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

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

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

Related Post

Получить информацию о ревизиях API im.revision.getПолучить информацию о ревизиях API im.revision.get

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

Получить настройку регулярного счета по идентификатору crm.invoice.recurring.getПолучить настройку регулярного счета по идентификатору crm.invoice.recurring.get

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

Изменить роль пользователя в группе sonet_group.user.updateИзменить роль пользователя в группе sonet_group.user.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить роль пользователя в группе sonet_group.user.update». Мы подготовили подробный разбор принципов работы и развернутые примеры