- Где у метода есть форма v3, предпочитайте явную поверхность
actions.v3.*— см. доступные методы v3.
Обзор
Используйте CallV2.make() для вызова методов REST API версии 2.
Метод возвращает Promise с объектом AjaxResult, содержащим данные ответа, статус и методы обработки ошибок.
// Базовое использование
import { EnumCrmEntityTypeId } from '@bitrix24/b24jssdk'
const response = await $b24.actions.v2.call.make({
method: 'crm.item.get',
params: {
entityTypeId: EnumCrmEntityTypeId.contact,
id: 123
},
requestId: 'unique-request-id'
})
Сигнатура метода
make<T = unknown>(
options: ActionCallV2
): Promise<AjaxResult<T>>
Параметры
Объект options содержит следующие свойства:
Возвращаемое значение
Promise<AjaxResult<T>> — promise, разрешающийся в объект AjaxResult.
Этот объект предоставляет:
.getData(): SuccessPayload<T> | undefined— возвращает success-конверт{ result: T, time: PayloadTime }илиundefined, если запрос провалился. Сначала проверьте.isSuccess..isSuccess: boolean— флаг успешного выполнения запроса..getErrorMessages(): string[]— массив сообщений об ошибках.
Ключевые понятия
Обработка ошибок
Всегда проверяйте результат через isSuccess и обрабатывайте ошибки:
// @check-ignore: top-level return in error-handling illustration
const response = await $b24.actions.v2.call.make({
method: 'some.method',
params: { /* some_params */ },
requestId: 'unique-request-id'
})
if (!response.isSuccess) {
// Обработка ошибки
console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))
return
}
// Работа с успешным результатом
const data = response.getData()?.result
Примеры
Получение компании из CRM
Долгие запросы
Тяжёлые неидемпотентные методы вроде crm.documentgenerator.document.add
регулярно превышают аxios-таймаут 30 секунд по умолчанию. При таймауте SDK
по умолчанию делает повторные запросы, что может создать дубликаты сущностей на стороне сервера (см.
issue #24).
Для любого метода, создающего или сохраняющего состояние, увеличьте axios-таймаут и отключите повторные запросы при транспортных ошибках:
import { ApiVersion, ParamsFactory } from '@bitrix24/b24jssdk'
// const $b24 = ...
$b24.getHttpClient(ApiVersion.v2).ajaxClient.defaults.timeout = 120_000
await $b24.setRestrictionManagerParams({
...ParamsFactory.getDefault(),
retryOnNetworkError: false
})
await $b24.actions.v2.call.make({
method: 'crm.documentgenerator.document.add',
params: {/*…*/}
})
См. Limiters — долгие запросы и неидемпотентные вызовы для полного объяснения и альтернативных конфигураций.
Альтернативы и рекомендации
Обнаружение v3-методов
Используйте rest.documentation.openapi, чтобы получить собственный машиночитаемый список всех доступных методов REST API v3 портала — источник истины, на который SDK опирается вместо захардкоженного allowlist. Особенно полезно для AI-агентов и кодогенерации.
CallList
Метод для быстрого получения всех данных из list-методов REST API Bitrix24 версии 2.