Проект на Node.js
Руководство по установке Bitrix24 JS SDK в приложениях Node.js.
Эта страница ещё обновляется. Некоторые данные могут отсутствовать — мы их вскоре дополним.
Установка в проект Node.js
ESM — рекомендуемый формат модулей.CommonJS тоже поддерживается — вы можете require('@bitrix24/b24jssdk') из CommonJS-проекта (он резолвится в полноценную CJS-сборку с внешними зависимостями — см. note ниже; TypeScript-файлы, запускаемые напрямую через ts-node / tsx, тоже работают). Для использования через <script> в браузере поставляется UMD-сборка.И
ESM, и CommonJS-точки входа держат свои зависимости (axios, luxon, qs-esm) внешними, поэтому потребитель через require() использует копию axios из своего node_modules (дедуплицированную и покрытую npm audit). Бандл UMD — используемый только для <script> / CDN в браузере — единственный, кто инлайнит зависимости.Перед началом убедитесь, что у вас установлена последняя версия Node.js.
Поддерживаются версии Node.js
^18.0.0 || ^20.0.0 || >=22.0.0Затем выполните следующую команду для установки библиотеки:
Установка пакета Bitrix24 JS SDK
pnpm add @bitrix24/b24jssdk
yarn add @bitrix24/b24jssdk
npm install @bitrix24/b24jssdk
bun add @bitrix24/b24jssdk
Импорт
Импортируйте библиотеку в проект.
ESM (рекомендуется):
import { LoggerFactory } from '@bitrix24/b24jssdk'
CommonJS:
const { LoggerFactory } = require('@bitrix24/b24jssdk')
Инициализация
В примерах ниже используется синтаксис
import из ESM. В CommonJS-проекте заменяйте каждый import { X } from '@bitrix24/b24jssdk' на const { X } = require('@bitrix24/b24jssdk').Объект
B24Hook предназначен исключительно для использования на сервере.- Вебхук содержит секретный ключ доступа, который НЕЛЬЗЯ использовать в клиентском коде (браузер, мобильное приложение).
- Для клиентской стороны используйте
B24Frame
Для работы с Bitrix24 из автономного серверного приложения используйте объект B24Hook.
import { B24Hook } from '@bitrix24/b24jssdk'
// 1. Получите URL вебхука в Bitrix24:
// - Перейдите в Bitrix24
// - Настройки → Разработчикам → Вебхуки
// - Создайте новый вебхук с необходимыми правами
// - Скопируйте URL в формате: https://your-domain.bitrix24.com/rest/1/your-token/
// 2. Инициализируйте B24Hook
const $b24 = B24Hook.fromWebhookUrl('https://your-domain.bitrix24.com/rest/1/your-token/')
// 3. Используйте методы API
Объект
B24OAuth предназначен исключительно для использования на сервере.- B24OAuth содержит секретный ключ доступа, который НЕЛЬЗЯ использовать в клиентском коде (браузер, мобильное приложение).
- Для клиентской стороны используйте
B24Frame
Для работы с Bitrix24 из автономного серверного приложения используйте объект B24OAuth.
import { B24OAuth } from '@bitrix24/b24jssdk'
// 1. Зарегистрируйте приложение в Bitrix24:
// - Перейдите в Bitrix24
// - Настройки → Разработчикам → Приложения
// - Создайте новое приложение
// - Получите Client ID и Client Secret
// 2. Инициализируйте B24OAuth — передайте данные токена и OAuth-учётные данные отдельно.
// Полную форму B24OAuthParams см. на /docs/working-with-the-rest-api/oauth/.
import { EnumAppStatus } from '@bitrix24/b24jssdk'
const $b24 = new B24OAuth(
{
applicationToken: 'current_application_token',
userId: 1,
memberId: 'portal_member_id',
accessToken: 'current_access_token',
refreshToken: 'refresh_token',
expires: 1745997853, // unix timestamp, секунды
expiresIn: 3600,
scope: 'crm,user_brief',
domain: 'your-domain.bitrix24.com',
clientEndpoint: 'https://your-domain.bitrix24.com/rest/',
serverEndpoint: 'https://oauth.bitrix.info/rest/',
status: EnumAppStatus.Free
},
{
clientId: 'your_client_id',
clientSecret: 'your_client_secret'
}
)
// 3. Используйте методы API
// B24OAuth автоматически обновляет токены при их истечении