Skip to content

Менеджер ограничений

Управляет ограничениями интенсивности запросов к API Битрикс24. Он отслеживает интенсивность запросов отдельно для каждого аккаунта Битрикс24 и учитывает IP-адрес, с которого выполняется запрос.

TIP

Работу с Менеджером ограничений можно протестировать в примере.

Класс RestrictionManager

Подключается в классе Http

По умолчанию используются RestrictionManagerParamsBase.

В редакциях Битрикс24 Enterprise стоит использовать RestrictionManagerParamsForEnterprise.

ts
import {
	B24Hook,
	RestrictionManagerParamsForEnterprise
} from '@bitrix24/b24jssdk'

const $b24 = new B24Hook({
	b24Url: 'https://your_domain.bitrix24.com',
	userId: 123,
	secret: 'k32t88gf3azpmwv3',
})

$b24.getHttpClient().setRestrictionManagerParams(
	RestrictionManagerParamsForEnterprise
)
ts
import {
	B24Hook
} from '@bitrix24/b24jssdk'

const $b24 = new B24Hook({
	b24Url: 'https://your_domain.bitrix24.com',
	userId: 123,
	secret: 'k32t88gf3azpmwv3',
})

$b24.getHttpClient().setRestrictionManagerParams({
	sleep: 600,
	speed: 0.01,
	amount: 30 * 5
})

Методы

check

ts
check(hash: string = ''): Promise<null>

Проверяет возможность выполнения запроса без превышения лимитов. Если лимиты превышены, выполняется ожидание.

ПараметрТипОписание
hashstringХэш для логирования (опционально).

Константы

RestrictionManagerParamsBase

ts
import { RestrictionManagerParamsBase } from '@bitrix24/b24jssdk'

Базовые параметры для менеджера ограничений.

  • sleep: 1_000 (время ожидания в миллисекундах)
  • speed: 0.001 (скорость обработки)
  • amount: 30 (количество обрабатываемых элементов)

RestrictionManagerParamsForEnterprise

ts
import { RestrictionManagerParamsForEnterprise } from '@bitrix24/b24jssdk'

Параметры для менеджера ограничений, предназначенные для использования в редакциях Битрикс24 Enterprise.

  • sleep: 600 (время ожидания в миллисекундах)
  • speed: 0.01 (скорость обработки)
  • amount: 150 (количество обрабатываемых элементов)

Опубликовано под лицензией MIT.