HealthCheck.make()

Метод для проверки доступности REST API Bitrix24. Выполняет простой запрос к REST API для проверки работоспособности сервиса.

Обзор

Используйте HealthCheck.make() для проверки доступности REST API Bitrix24. Метод возвращает Promise с булевым значением, указывающим на доступность API.

// Базовое использование
const isHealthy = await $b24.tools.healthCheck.make()

if (isHealthy) {
  console.log('Bitrix24 API is available')
} else {
  console.error('Problems accessing Bitrix24 API')
}

Сигнатура метода

make(
  options?: { requestId?: string }
): Promise<boolean>

Параметры

ПараметрТипОбязательныйОписание
requestIdstringНетУникальный идентификатор запроса для отслеживания. Используется для дедупликации запросов и отладки.

Возвращаемое значение

Promise<boolean> — promise, который разрешается булевым значением:

  • true — REST API доступен и отвечает, вебхук настроен корректно.
  • false — REST API недоступен, произошла ошибка или отсутствуют необходимые права доступа.

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

HealthCheck.make() никогда не выбрасывает исключений. Сетевые сбои, HTTP-ошибки, отсутствующие scope и таймауты — всё сводится к возврату false. Метод намеренно сделан «чёрным ящиком» — для информации об ошибке, с которой можно работать, вызывайте нижележащий метод напрямую через CallV2.make() и проверяйте AjaxResult (isSuccess, getErrorMessages()).

Примеры

Проверка доступности

import { B24Hook, LoggerFactory } from '@bitrix24/b24jssdk'

const devMode = typeof import.meta !== 'undefined' && (import.meta?.dev || globalThis._importMeta_.env?.DEV)
const $logger = LoggerFactory.createForBrowser('Example:healthCheck', devMode)
const $b24 = B24Hook.fromWebhookUrl('https://your_domain.bitrix24.com/rest/1/webhook_code/')

async function checkRestApiHealth(): Promise<boolean> {
  try {
    return await $b24.tools.healthCheck.make({
      requestId: `unique-request-id`
    })
  } catch (error) {
    $logger.error('Health check failed unexpectedly', { error })
    return false
  }
}

// Usage
try {
  const apiAvailable = await checkRestApiHealth()

  if (apiAvailable) {
    $logger.info('Bitrix24 API is available and responding')
  } else {
    $logger.error('Bitrix24 API is unavailable. Check:\n1. Correctness of webhook URL\n2. Bitrix24 availability from your network')
  }
} catch (error) {
  $logger.error('Failed to perform health check', { error })
}

Альтернативы и рекомендации

  • Для измерения скорости ответа: используйте Ping.
  • Для проверки конкретных прав: выполните тестовый запрос к нужному методу API.
  • На клиентской стороне (браузер): используйте встроенный объект B24Frame.