actions.v2.* / actions.v3.* и никогда не трогаете TypeHttp напрямую. Обращайтесь к нему, когда нужны сырые call / batch, тонкая настройка лимитера или runtime-статистика.TypeHttp — это контракт, реализуемый HttpV2 и HttpV3. Каждый B24Frame / B24Hook / B24OAuth владеет одним экземпляром на каждую версию REST API. Доступ к ним:
import { ApiVersion } from '@bitrix24/b24jssdk'
const v2 = $b24.getHttpClient(ApiVersion.v2)
const v3 = $b24.getHttpClient(ApiVersion.v3)
Свойства
Логгер
setLogger(logger: LoggerInterface): void
getLogger(): LoggerInterface
Позволяет подменить отладочный логгер в одном клиенте, не затрагивая остальной SDK. См. Логгер.
Вызов REST
call
call<T = unknown>(
method: string,
params: TypeCallParams,
requestId?: string
): Promise<AjaxResult<T>>
Низкоуровневый вызов одного метода. Хелперы более высокого уровня (actions.v2.call.make, callList, fetchList) строятся поверх него.
batch
batch<T = unknown>(
calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal,
options?: ICallBatchOptions
): Promise<Result<ICallBatchResult<T>>>
Низкоуровневый батч-вызов. Принимаются три формы ввода:
- Массив кортежей:
[ [method, params], [method, params] ] - Массив объектов:
[ { method, params, as?, parallel? }, ... ] - Именованная карта:
{ key1: { method, params }, key2: [method, params] }
В большинстве случаев вызывайте actions.v2.batch.make / actions.v3.batch.make, которые берут на себя распаковку ответа и returnAjaxResult.
Конфигурация лимитера
setRestrictionManagerParams(params: RestrictionParams): Promise<void>
getRestrictionManagerParams(): RestrictionParams
Заменяет или читает конфигурацию rate limit / operating limit / адаптивной задержки на этом клиенте. Чтобы изменить v2 и v3 сразу, предпочитайте b24.setRestrictionManagerParams(...).
Форму параметров и пресеты (ParamsFactory.getDefault(), getBatchProcessing(), getRealtime(), fromTariffPlan()) см. в Лимитеры.
Статистика
getStats(): RestrictionManagerStats & {
adaptiveDelayAvg: number
errorCounts: Record<string, number>
totalRequests: number
successfulRequests: number
failedRequests: number
totalDuration: number
byMethod: Map<string, { count: number, totalDuration: number }>
lastErrors: { method: string, error: string, timestamp: number }[]
}
Снимок состояния лимитера + счётчики по методам. Полезно для дашбордов. Полную разбивку см. в Лимитеры → Мониторинг.
Сброс
reset(): Promise<void>
Очищает состояние лимитера и статистику. Типичное применение — после реагирования на инцидент или в долгоживущих демонах, которым нужно чистое окно.
Предупреждение о клиентской стороне
setClientSideWarning(value: boolean, message: string): void
B24Hook и B24OAuth включают runtime-предупреждение при использовании в браузерном окружении (их секреты никогда не должны попадать на клиент). Переключайте его из родительского класса через b24.offClientSideWarning(); этот метод — нижележащий примитив.